>컴퓨터 튜토리얼 >컴퓨터 지식 >VBA를 사용하여 모든 워크시트 병합

VBA를 사용하여 모든 워크시트 병합

王林
王林앞으로
2024-01-16 21:12:051124검색

VBA를 사용하여 모든 워크시트 병합

vba합작부시트

Sub ADO联합查询()

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

Set cnn = CreateObject("ADODB.Connection")

[a:b].내용 지우기

MyPath = ThisWorkbook.Path & ""

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

MyFile 동안 ""

MyFile이 ThisWorkbook.Name이면

n = n + 1

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

m = m + 1

m >49라면

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

m = 1

SQL = ""

끝나면

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

SQL = SQL & "f1 선택,'" & [Excel 8.0;hdr=no;Database=" & MyPath & MyFile & "]에서 (MyFile, ".xls", "") & ""를 교체합니다.[Sheet1$ A2:A]"

끝나면

MyFile = 디렉터리()

루프

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

cnn.닫기

cnn 설정 = 없음

끝 서브

사용vba插入合并填充单元格

비공개 하위 CommandButton1_Click()

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

Dim n, s, col, r, tmp

'----결정----

n = 2 '横向합并单원格n格

s = "XXXXXX" '填充数据s

col = "A" '以col列为操작성最左列

'----执行----

ActiveSheet 사용

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

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

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

.'합당합원格

' 병합

.값 = s '填充数据

끝 서브

위 내용은 VBA를 사용하여 모든 워크시트 병합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제