循环以水平写入粘贴数据,直到达到某个边界,然后转到下一行

时间:2017-10-04 16:04:17

标签: excel vba excel-vba

下午好。我最近开始学习VBA,到目前为止这个网站非常有用。我不确定这是否是一个非常愚蠢的问题,但在这里它是:

我有一个循环,遍历文件夹中的所有文件并格式化并分析它们。它工作正常,但下一步是复制格式化数据的范围并将其粘贴到“主”工作簿中,以便需要查看数据的人不需要筛选不同的文件夹。我遇到的问题是,如果我只是使用一个简单的for循环输入数据,那么将有一个长列或长行数据,我想使用所有的工作簿。我试图编写一些可以水平粘贴数据的东西,一旦它到达“z”列左右,它就会延续到第35行。每个数据块大约有4列乘35行。 下面是我试着编写的内容并且它一直给我错误1004应用程序定义或对象定义的错误(可能是因为没有正确选择主电子表格?)

 range("q28:t59").Copy
 Dim z As Long
 For z = 1 To 26 Step 6
     j = 1
     Dim wbk As Excel.Workbook
     Set wbk = Workbooks.Open("H:\master_workbook_trial.xlsx")
     wbk.Sheets("sheet1").range(j, z).PasteSpecial xlPasteValues
     If z >= 25 Then
        j = j + 1
     End If
 Next z

提前感谢您的帮助!

0 个答案:

没有答案