我必须执行相同的复制粘贴,但是要添加更多位于不同工作表(4、6、8等)中的列,而不是像j ......
这些行正在使用arrRows(感谢Tinman)
但是对于列,我尝试了3个fors(一个工作表,一个用于列,一个用于行),因为它不跳到下一个j(经过所有n个之后)转到下一列)而不是下一张纸(这是我需要的)
我尝试了另一条路径(当前代码),我找不到一个序列,即使用j作为变量可以解决arrcolumns中的正确数字。也许我可以做一个do..loop?
Sub GHM()
if not os.path.exists(os.path.join("C:/", "Users", login, "Documents"):
下一步
结束子
答案 0 :(得分:0)
我添加了一个do,直到只为列添加了计数器为止
Dim j, x As Integer
Dim n As Long, r, c As Long
Dim arrRows, arrColumns As Variant
Dim Source As Range, Target As Range
x = 0
For j = 4 To 18 Step 2
Set Source = Workbooks("180610_SequencingScenarioTEST1.xlsm").Worksheets(j).Cells
Set Target = Workbooks("180610_SequencingScenarioTEST1.xlsm").Worksheets("RAW DATA").Cells
arrRows = Array(5, 10, 15, 23, 28, 33, 38, 43, 48, 53, 61, 66, 71, 79, 84, 89, 94, 102, 107, 112, 117, 122, 127, 135, 140, 148, 153, 158, 166, 171, 179, 184, 189, 194)
arrColumns = Array(9, 14, 19, 24, 29, 34, 39, 44)
Do
c = arrColumns(x)
For n = 2 To 35
r = arrRows(n - 2)
Target.Cells(r, c).Resize(1, 5).Value = WorksheetFunction.Transpose(Source.Cells(4, n).Resize(5, 1).Value)
Next 'for each column being transpose to row in target sheet
x = x + 1
Loop Until x <> x + 1 'for each columns in raw data = the different scenarios
Next 'for j=new sheet
End Sub