所以我没有VBA背景,但我通过搜索互联网设法把它放在一起。它适用于最终目标是让用户(工程师)选择某些复选框的工作簿。完成后(并且会有很多复选框),他们单击“构建”按钮,根据他们的选择,他们将生成一个新的工作表或新的工作簿(还没有决定那个)按顺序粘贴到其中的选定信息。
这是代码:
Sub Merge()
If Range("F3") = True Then
Sheets("Data").Select
Range("A1:A8").Select
Selection.Copy
Sheets("UI").Select
Cells(1, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Else
MsgBox "Part 1 - Failed."
End If
If Range("F6") = True Then
Sheets("Data").Select
Range("A10:A17").Select
Selection.Copy
Sheets("UI").Select
Cells(10, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Else
MsgBox "Part 2 - Failed"
End If
If Range("F9") = True Then
Sheets("Data").Select
Range("A19:A26").Select
Selection.Copy
Sheets("UI").Select
Cells(19, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Else
MsgBox "Part 3 - Failed"
End If
End Sub
这是我谷歌驱动器中的文件,如果这让你更容易: https ://drive.google.com/file/d/0Bza853yM-QSMSlFWbElBc1dsbGM/edit?usp=sharing
目前,它正在将“真”的范围粘贴到预定义的单元格范围中。但是,我想要的是,如果 Red = True 且 Green = True,则红色将粘贴到 A1:A8 中,而 Green 将粘贴到 A10:A18 中。同样,如果蓝色和绿色为真,或者只有蓝色或绿色为真,它们粘贴到 A1:A8 中,下一个“真”语句粘贴在它们下面。这样,您可以拥有任意数量的 True 语句,它们将按顺序粘贴,它们之间只有 1 行而不是 8 或 20 行。
我查看了这个网站和其他网站,但没有找到任何东西。所以我不确定这是否可能,或者我对这个主题太无知,无法搜索我正在寻找的概念的词语。
谢谢你的智慧!-担