这是我关于SO的第一个问题,非常感谢您的直接帮助:
我有一个包含多个工作表的Excel文件。在每个工作表的D列中,我已经基于每一行的动态数据创建了插入SQL语句。现在,我要将在每个工作表的D列中创建的所有插入语句复制到一个大列中,以便可以将它们全部运行到数据库中。
非常感谢您的帮助:)
答案 0 :(得分:0)
要实施:
Master
的新工作表A1
标头名称代码将:
Col D
复制D2 To Last Non-Blank Row
中的单元格Master
中下一个可用的非空白行中的Col A
上粘贴值Option Explicit
Sub MyDearMacro()
Dim ws As Worksheet, Master As Worksheet
Set Master = ThisWorkbook.Sheets("Master")
Dim CopyRange As Range, PasteRange As Range
Application.ScreenUpdating = False
For Each ws In Worksheets
If ws.Name <> "Master" Then
Set CopyRange = ws.Range("D2:D" & ws.Range("D" & ws.Rows.Count).End(xlUp).Row)
Set PasteRange = Master.Range("A" & Master.Rows.Count).End(xlUp).Offset(1)
CopyRange.Copy: PasteRange.PasteSpecial xlPasteValues
End If
Next ws
Application.ScreenUpdating = True
MsgBox "Please take the tour page of Stack OverFlow and show an attempt to solve on your next post.", vbCritical
End Sub
结束语:
如果您不想重复(如果存在),则需要对此进行修改。如果您的SQL语句没有覆盖复制范围中的每一行,那么您可能还需要对此进行修改(您可能最终用空白单元格分隔了语句)。再说一次,循环完成后,请删除Col A
工作表上Master
中的空白和重复项。