跳至內容

使用VBA合并所有工作表

更新時間
快连VPN:速度和安全性最佳的VPN服务
快连VPN:速度和安全性最佳的VPN服务

vba合并全部sheet

Sub ADO联合查询()

Dim cnn As Object, SQL$, MyPath$, MyFile$, m&, n&

Set cnn = CreateObject("ADODB.Connection")

[a:b].ClearContents

MyPath = ThisWorkbook.Path & ""

MyFile = Dir(MyPath & "*.xls")

Do While MyFile ""

If MyFile ThisWorkbook.Name Then

n = n + 1

If n = 1 Then cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended;Data Source=" & MyPath & MyFile

m = m + 1

If m >49 Then

Range("a" & Rows.Count).End(xlUp).Offset(1).CopyFromRecordset cnn.Execute(SQL)

m = 1

SQL = ""

End If

If Len(SQL) Then SQL = SQL & " union all "

SQL = SQL & "select f1,'" & Replace(MyFile, ".xls", "") & "' from [Excel 8.0;hdr=no;Database=" & MyPath & MyFile & "].[Sheet1$A2:A]"

End If

MyFile = Dir()

Loop

If Len(SQL) Then Range("a" & Rows.Count).End(xlUp).Offset(1).CopyFromRecordset cnn.Execute(SQL)

cnn.Close

Set cnn = Nothing

End Sub

用vba插入合并填充单元格

Private Sub CommandButton1_Click()

'最后一行r,上面插入一行,横向合并单元格n格,填充数据s

Dim n, s, col, r, tmp

'----设定----

n = 2 '横向合并单元格n格

s = "XXXXXX" '填充数据s

col = "A" '以col列为操作的最左列

'----执行----

With ActiveSheet

r = .Cells(65536, col).End(xlUp).Row

.Rows(r).Insert xlShiftDown '插入行

With .Cells(r, col).Resize(1, n)

.Merge '合并单元格

.Value = s '填充数据

End With

End With

End Sub

以上就是使用VBA合并所有工作表的详细内容,更多请关注本站其它相关文章!

更新時間

發表留言

請注意,留言須先通過審核才能發佈。