【问题标题】:Cutting and pasting range of cells using VBA使用 VBA 剪切和粘贴单元格范围
【发布时间】:2015-08-03 16:50:28
【问题描述】:

我正在尝试使用 VBA 在单个工作表中剪切和粘贴一系列单元格。我有一个变量的范围。因此,例如,我想剪切单元格C1:C40,其中"C1:C40" 存储在一个名为WorkRangeVar 的变量中。我想将此范围削减到应该是A1 的第一列之前。这是我正在使用的代码。除了设置 WorkRange 范围对象外,一切正常。

colNumber = WorksheetFunction.Match("What", TmpRng, 0)
ConvertToLetter = ""

columnToLetter (colNumber)
WorkRngVar = ConvertToLetter & "1:" & (ConvertToLetter) & LastRow
Range(WorkRngVar).Copy
Set WorkRange = Range(WorkRngVar)
Range("A1").Select
ActiveSheet.Paste

【问题讨论】:

  • 为什么需要WorkRange 变量?看起来你甚至没有使用它。
  • 不应该columnToLetterWorkRngVar 的一部分吗? (顺便说一句:如果您使用 Cells 属性,您可以使用数字而不是字母来指代范围)
  • 你用来设置WorkRngVarconvertToLetter不是要留空吗?所以WorkRngVar 将只是类似于1:A10 而不是A1:A10 或其他什么?应该是columnToLetter & "1:" & (ConverttoLetter) & LastRow
  • 刚刚开始工作。变量被设置为不正确的列名。
  • 是哪个变量?

标签: excel vba


【解决方案1】:

按照建议,您可以只使用 Cells 并使用您已经拿起的号码:

colNumber = WorksheetFunction.Match("What", TmpRng, 0)

Range(cells(1, colnumber), cells(LastRow, colnumber)).Copy
Set WorkRange = Range(cells(1, colnumber), cells(LastRow, colnumber))
Range("A1").Select
ActiveSheet.Paste

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    相关资源
    最近更新 更多