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
展开
 我来答
志当存高远389
2015-04-23 · 知道合伙人互联网行家
志当存高远389
知道合伙人互联网行家
采纳数:11237 获赞数:20406
08年毕业,一直从事计算机行业,从基层做起。有较强的实践操作能力。

向TA提问 私信TA
展开全部
问题在于对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
平阳虎01
高粉答主

2015-04-23 · 每个回答都超有意思的
知道大有可为答主
回答量:3.7万
采纳率:75%
帮助的人:4908万
展开全部
Sub mmm()

    For i = 1 To 20

        Sheet1.Range("a" & i & ":n" & i).MergeCells = True

    Next i

End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nhking
2015-04-23 · TA获得超过3.1万个赞
知道大有可为答主
回答量:3.6万
采纳率:78%
帮助的人:1.1亿
展开全部
Sheet1.Range("a"&i&":n"&i).MergeCells = True
更多追问追答
追问

还是错误啊?

追答
mergeCells(a,b,c,d) 单元格合并函数
a 单元格的列号
b 单元格的行号
c 从单元格[a,b]起,向下合并的列数
d 从单元格[a,b]起,向下合并的行数

你的程序要做什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式