excel vba出现问题 range作用于worksheet对象时错误?谁能帮我解答一下?
Submmm()Fori=1To20Sheet1.Range("a&i:n&i").MergeCells=TrueNextiEndSub...
Sub mmm()
For i = 1 To 20
Sheet1.Range("a&i:n&i").MergeCells = True
Next i
End Sub 展开
For i = 1 To 20
Sheet1.Range("a&i:n&i").MergeCells = True
Next i
End Sub 展开
3个回答
2015-04-23 · 知道合伙人互联网行家
关注
展开全部
问题在于对Range对象使用Activate方法时发生错误。
请注意:range的Activate方法激活单个单元格,该单元格必须处于当前选定区域内。要选择单元格区域,请使用 Select 方法。
很显然你的range并未处于选定区域就使用了activate方法。
其实你这个代码有很多“废话”,复制和选择性粘贴时,选中或激活单元格区域都是没必要的。事实上select这个方法在录制宏时才会在自动代码里出现,一般编写代码时基本不用。 我修改如下,请仔细体会。
Set pxl_copy = wb_report.Worksheets("公式") ''''复制pxl数据
Set pxl_range = pxl_copy.Range("B3:B40")
pxl_copy.Activate '可省略,如果省略对该工作表单元格的引用必须指明工作表。
For Each pxl_cell In pxl_range
If pxl_cell.Text = LotData Then
pxl = pxl_cell.Row
End If
Next
pxl_copy.Range("C" & pxl & ":AR" & pxl).copy
yield_copy.Range("AX" & day_row).PasteSpecial _
Paste:=xlPasteValuesAndNumberFormats,Operation:=xlNone
Application.CutCopyMode = False
请注意:range的Activate方法激活单个单元格,该单元格必须处于当前选定区域内。要选择单元格区域,请使用 Select 方法。
很显然你的range并未处于选定区域就使用了activate方法。
其实你这个代码有很多“废话”,复制和选择性粘贴时,选中或激活单元格区域都是没必要的。事实上select这个方法在录制宏时才会在自动代码里出现,一般编写代码时基本不用。 我修改如下,请仔细体会。
Set pxl_copy = wb_report.Worksheets("公式") ''''复制pxl数据
Set pxl_range = pxl_copy.Range("B3:B40")
pxl_copy.Activate '可省略,如果省略对该工作表单元格的引用必须指明工作表。
For Each pxl_cell In pxl_range
If pxl_cell.Text = LotData Then
pxl = pxl_cell.Row
End If
Next
pxl_copy.Range("C" & pxl & ":AR" & pxl).copy
yield_copy.Range("AX" & day_row).PasteSpecial _
Paste:=xlPasteValuesAndNumberFormats,Operation:=xlNone
Application.CutCopyMode = False
展开全部
Sub mmm()
For i = 1 To 20
Sheet1.Range("a" & i & ":n" & i).MergeCells = True
Next i
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询