永发信息网

解决一下VBA宏代码的问题?

答案:1  悬赏:0  手机版
解决时间 2021-04-12 20:01
  • 提问者网友:世勋超人
  • 2021-04-12 15:09

Sheets("12月全年").Select
ActiveSheet.Range("$A$5:$R$1800").AutoFilter Field:=17
ActiveSheet.Range("$A$5:$R$1800").AutoFilter Field:=1, Criteria1:="物料"
ActiveWindow.SmallScroll Down:=-42
ActiveSheet.Range("$A$5:$R$1800").AutoFilter Field:=17, Criteria1:=Array( _
"5", "6", "85", "9", "95"), Operator:=xlFilterValues
Range("Q1228:Q1806").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("全年主表").Select
ActiveWindow.SmallScroll Down:=186
Range("G1201").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("7材料种类").Select
Range("G11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("12月全年").Select
Range("C1228:F1804").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("7材料种类").Select
Range("C11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

这是一段宏代码,目的是想让工作表“12月全年”A列Q列做个筛选,第一部先筛选出A列中的物料,再筛选出Q列不为零的所有数据,然后把筛选出来的数据选择性粘贴到“全年主表”中的G1201中的单元格中,再把“12月全年”C:F,Q筛选出来的数据粘贴到“7材料种类”中第7行相对应的列中,能不能减略一下以上的代码呢,请高手解决一下这个问题,谢谢!!!这个步骤是想让会增减的数据不要局限于这次的那几个数据上,也许下一次运行 这个宏的时候,数据会增也许会减。

最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-04-12 15:14
Sub tt()
Sheets("12月全年").Select
Range("A5:Q" & Range("Q6000").End(xlUp).Row).Select
Selection.AutoFilter Field:=1, Criteria1:="物料"
Selection.AutoFilter Field:=17, Criteria1:=">0", Operator:=xlFilterValues
Range("Q5:Q" & Range("Q6000").End(xlUp).Row).Copy
Sheets("全年主表").Select
Range("G1201").PasteSpecial Paste:=xlPasteValues
Sheets("7材料种类").Select
Range("Q7").PasteSpecial Paste:=xlPasteValues
Sheets("12月全年").Select
Range("F5:F" & Range("Q6000").End(xlUp).Row).Copy
Sheets("7材料种类").Select
Range("F7").PasteSpecial Paste:=xlPasteValues
Sheets("12月全年").Select
Range("C5:C" & Range("Q6000").End(xlUp).Row).Copy
Sheets("7材料种类").Select
Range("C7").PasteSpecial Paste:=xlPasteValues
End Sub

一,如果复制后第一行总多以空格,将代码中的第一处以外的5:改为6:
二,你说 “7材料种类”中第7行,但原代码中为第11行,自己决定是否改我的代码中的7为11
三,这样运行宏的话,眼花缭乱的,还慢,在sub tt()后增加一行
application.screenupdating = false
在End Sub前增加一行
application.screenupdating = true
这样的话,操作为”幕后“,且速度快。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯