我想复制一系列表格并将其粘贴到新工作簿中。我想复制由其他列和行组成的范围,但作为变量。例如,我将列C和E复制为1到17,20,从32到39和45的行。我想最多进行10次(对于列),如果我选择要复制的列,我退出更清楚的是,有一个例子:我选择列B,D,F,然后选择要复制的行(它们对于所有列都是相同的),最后复制它们并将它们粘贴到新的工作簿中。所以我三次停下来并复制我选择的内容然后出去。
我的代码
Sub Macro3()
Dim ColNum As Long
Dim col As String
Dim CopyRange As Range, row As String
For i = 1 To 10
col = InputBox("Column number " & i & ", if finish write 'done'")
Do While row <> "done"
row = InputBox("row number to copy (max to 62), if finish write 'done'")
Loop
If col = "done" Then
MsgBox ("copy finished")
GoTo ExitIteration
Else
Set CopyRange = Union(CopyRange, Range(col & row, [col & row]))
End If
Next
ExitIteration:
CopyRange.Copy
Workbooks.Add
ActiveSheet.Paste
Windows("Pedro.xlsm").Activate
End Sub
任何帮助请解决它?
答案 0 :(得分:0)
除了等待&#34;完成&#34;你还没有在你的循环中做任何事情。进入。
For i = 1 To 10
col = InputBox("Column number " & i & ", if finish write 'done'")
If col = "done" Then
MsgBox ("copy finished")
GoTo ExitIteration
Else
Do While row <> "done"
row = InputBox("row number to copy (max to 62), if finish write 'done'")
Set CopyRange = Union(CopyRange, Range(col & row, [col & row]))
Loop
End If
Next
答案 1 :(得分:0)
我没时间编写代码并为我的想法做一个例子,对不起。但我会尝试揭露它......
创建一个新工作表,使用de initial / final列和行提供代码,并组合不同的范围,以满足您最多10次的需求。使用三级循环将每个单元格连接到您需要的单元格。