excel - 根据变量excel vba选择整行

标签 excel vba

我正在尝试选择不同工作表中的整行,然后使用宏将该行复制到我当前所在的工作表中。如果 Rows() sub 传递硬编码的整数,则代码工作正常,但是当我放置变量时,我收到“Range 类的 Select 方法失败”错误。这是我的代码:

Sheets("BOM").Select
Rows(copyFromRow & ":" & copyFromRow).Select
Selection.Copy
Sheets("Proposal").Select
Rows(copyToRow & ":" & copyToRow).Select
ActiveSheet.Paste
copyToRow = copyToRow + 1
Rows(copyToRow & ":" & copyToRow).Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

如果我使用:

Rows("52:52").Select
Selection.Copy

它工作正常,但是当变量存在时,就会发生错误。

谢谢

最佳答案

我刚刚测试了底部的代码,它打印 16384 两次(我使用的是 Excel 2010),并且第一行被选中。您的问题似乎出在其他地方。

您是否尝试过删除选择:

Sheets("BOM").Rows(copyFromRow).Copy
With Sheets("Proposal")
    .Paste Destination:=.Rows(copyToRow)
    copyToRow = copyToRow + 1
    Application.CutCopyMode = False
    .Rows(copyToRow).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End With
<小时/>

测试代码以确信问题似乎并不像您想象的那样。

Sub test()

  Dim r
  Dim i As Long

  i = 1

  r = Rows(i & ":" & i)
  Debug.Print UBound(r, 2)
  r = Rows(i)
  Debug.Print UBound(r, 2)
  Rows(i).Select

End Sub

关于excel - 根据变量excel vba选择整行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10587004/

相关文章:

excel - 如何在excel的气泡图中添加数据标签

Python脚本读取一个目录中的多个excel文件并将它们转换为另一个目录中的.csv文件

excel - 使用替换功能将一个字符替换为两个

Excel - 空白单元格?

excel - 工作表位置超出范围。连接已关闭。使用EPPLUS时

vba - 自动生成问题处理

string - 将字符串变量转换为整数的最有效 VBA 代码

VBA : How to define a large set of string variables?

excel - 在 VBA Excel 中计算汉明权重和/或距离

c# - 使用 com-interop 将数组从 vba 传递到 c#