Heim >Computer-Tutorials >Computerwissen >Führen Sie alle Arbeitsblätter mit VBA zusammen

Führen Sie alle Arbeitsblätter mit VBA zusammen

王林
王林nach vorne
2024-01-16 21:12:051145Durchsuche

Führen Sie alle Arbeitsblätter mit VBA zusammen

Führen Sie alle Arbeitsblätter mit VBA zusammen

Sub ADO联合查询()

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

Setzen Sie 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

Wenn n = 1, dann cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended;Data Source=" & MyPath & MyFile

m = m + 1

Wenn ich >49 bin, dann

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

m = 1

SQL = ""

Ende wenn

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

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

Ende wenn

MyFile = Dir()

Schleife

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

cnn.Close

Setze cnn = Nichts

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列为操作的最左列

'----执行----

Mit ActiveSheet

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

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

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

.Merge '合并单元格

.Value = s '填充数据

Ende mit

Ende mit

End Sub

Das obige ist der detaillierte Inhalt vonFühren Sie alle Arbeitsblätter mit VBA zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen