Range.select中的变量问题

时间:2014-08-22 18:03:02

标签: excel vba excel-vba select range

有人能给我一个线索,说明为什么我似乎无法在我的Range.select中使用变量?

从评论语句中我可以看到,我尝试了许多不同的语法和命令,但我总是得到运行时错误1004,方法对象全局范围失败

我正在尝试从特定部分中的第一张中获取数据,并将其复制到第二张中当前行中的特定单元格(通过循环计数)。忽略未完成的循环,但是还没有能够让它完成一次,所以我还没有完成循环的编写。

Sub PutDataSht2()

Dim rowVal As Integer
rowVal = 1

'
' PutDataSht2
'
'
    'ThisWorkbook.Activate

    'Sheets("Sheet1").Activate
    Sheets("Sheet1").Select
    Range("A38:H38").Select
    Selection.Copy
    'Sheets("Sheet2").Activate
    Sheets("Sheet2").Select
    'Range("A1:H1").Select
    Range("A[XrowVal]:H[XrowVal]").Select
    'Range("A & rowVal:H & rowVal").Select
    'Application.Goto ActiveWorkbook.Sheets("Sheet2").Range("A & rowVal:H & rowVal")
    'ActiveSheet.Range(Cells(1, rowVal), Cells(8, rowVal)).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    'Sheets("Sheet1").Activate
    Sheets("Sheet1").Select
    Range("B85:H85").Select
    Application.CutCopyMode = False
    Selection.Copy
    'Sheets("Sheet2").Activate
    Sheets("Sheet2").Select
    'Range("J1:P1").Select
    Range("J & rowVal:P & rowVal").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    'Sheets("Sheet1").Activate
    Sheets("Sheet1").Select
    Range("B132:D132").Select
    Application.CutCopyMode = False
    Selection.Copy
    'Sheets("Sheet2").Activate
    Sheets("Sheet2").Select
    'Range("R1:T1").Select
    Range("R & rowVal:T & rowVal").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    rowVal = (rowVal + 1)

End Sub

`

1 个答案:

答案 0 :(得分:2)

你的一个选择几乎是正确的!

Range("A & rowVal:H & rowVal").Select

应该是:

Range("A" & rowVal & ":H" & rowVal).Select