Maison  >  Article  >  tutoriels informatiques  >  Fusionner toutes les feuilles de calcul à l'aide de VBA

Fusionner toutes les feuilles de calcul à l'aide de VBA

王林
王林avant
2024-01-16 21:12:051027parcourir

Fusionner toutes les feuilles de calcul à laide de VBA

vba合并全部feuille

Sub ADO联合查询()

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

Définir cnn = CreateObject("ADODB.Connection")

[a:b].ClearContents

MonPath = ThisWorkbook.Path & ""

MonFichier = Dir(MonChemin & "*.xls")

Faire pendant que MyFile ""

Si MyFile ThisWorkbook.Name alors

n = n + 1

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

m = m + 1

Si m >49 Alors

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

m = 1

SQL = ""

Fin si

Si Len(SQL) Alors SQL = SQL & "union tous"

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

Fin si

MonFichier = Dir()

Boucle

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

cnn.Fermer

Définir cnn = Rien

Fin du sous-marin

用vba插入合并填充单元格

Sous-CommandButton1_Click() privé

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

Dim n, s, col, r, tmp

'----设定----

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

s = "XXXXXX" '填充数据s

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

'----执行----

Avec ActiveSheet

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

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

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

.Fusionner '合并单元格

.Value = s'填充数据

Fin avec

Fin avec

Fin du sous-marin

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer