Excel VBA中数据报表的打印

Excel VBA中数据报表的打印,excel,vba,Excel,Vba,我是Excel VBA新手,下面是我到目前为止所做的工作以及我需要解决的问题 我一共有16张表,其中第一张表被命名为数据,其余的表被重新命名为R1、R2、R3到R15。单击数据表中的按钮后,需要将某些数据复制到相应的15个“R”表中 我的代码如下 Private Sub CommandButton1_Click() Dim items As Range, item As Range, sht As Long, col As Long, rw As Long Set items = Ra

我是Excel VBA新手,下面是我到目前为止所做的工作以及我需要解决的问题

我一共有16张表,其中第一张表被命名为数据,其余的表被重新命名为R1、R2、R3到R15。单击数据表中的按钮后,需要将某些数据复制到相应的15个“R”表中

我的代码如下

Private Sub CommandButton1_Click()
Dim items As Range, item As Range, sht As Long, col As Long, rw As Long

    Set items = Range("A3:A" & Range("A3").End(xlDown).Row)


    sht = 1
    rw = 15

    For Each item In items

        With Worksheets("R" & sht)
            .Range("B9") = item


                For col = 6 To 36
                    If item.Offset(0, col - 1) <> vbNullString Then
                        .Range("B" & rw) = Cells(1, col)
                        .Range("D" & rw) = item.Offset(0, col - 1)
                        rw = rw + 1
                    End If
                Next col

        End With

        sht = sht + 1
        rw = 15
    Next item
End sub

我遇到的问题是,正如VBA告诉我的,工作表R&sht出现了问题,它显示运行时错误:“9”和下标超出范围。我的知识仅限于解决问题,非常感谢您的帮助。

它告诉您的是,sheet R&sht不存在。当您得到错误时,检查sht的值,以及该表是否存在。注意实际工作表名称中的空格。@chrisneilsen你说得对。当错误弹出时,sht的值为16。但是如何将代码限制为不转到R16,而是停在R15?谢谢,这取决于您想对超过15行的工作表数据执行什么操作。好的..解决了一些问题!谢谢