不同文件夹,两个excel工作簿,用vba同步
答案:4 悬赏:40 手机版
解决时间 2021-01-22 15:21
- 提问者网友:ミ烙印ゝ
- 2021-01-22 11:37
a文件夹是a工作簿,b文件夹是b工作簿,要求将a工作簿sheet1中的a,b两例用vba同步到b工作簿sheet1中的a,b两例,请高手帮帮忙啊,谢谢
最佳答案
- 五星知识达人网友:野味小生
- 2021-01-22 11:55
这个问题好像解决过呀,对应同名工作表,代码:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub '仅处理修改单个单元格
Dim cnn As Object, SQL$, s$
Select Case True
Case Target.Value = ""
s = "null"
Case IsDate(Target.Value)
s = "#" & Target.Value & "#"
Case IsNumeric(Target.Value)
s = Target.Value
Case Else
s = "'" & Target.Value & "'"
End Select
Set cnn = CreateObject("ADODB.Connection")
cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no';data source=" & ThisWorkbook.Path & "\新建文件夹\Book2.xls"
SQL = "update [" & Sh.Name & "$" & Target.Address(0, 0) & ":" & Target.Address(0, 0) & "] set f1=" & s
cnn.Execute (SQL)
cnn.Close
Set cnn = Nothing
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub '仅处理修改单个单元格
Dim cnn As Object, SQL$, s$
Select Case True
Case Target.Value = ""
s = "null"
Case IsDate(Target.Value)
s = "#" & Target.Value & "#"
Case IsNumeric(Target.Value)
s = Target.Value
Case Else
s = "'" & Target.Value & "'"
End Select
Set cnn = CreateObject("ADODB.Connection")
cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=no';data source=" & ThisWorkbook.Path & "\新建文件夹\Book2.xls"
SQL = "update [" & Sh.Name & "$" & Target.Address(0, 0) & ":" & Target.Address(0, 0) & "] set f1=" & s
cnn.Execute (SQL)
cnn.Close
Set cnn = Nothing
End Sub
全部回答
- 1楼网友:零点过十分
- 2021-01-22 14:52
Sub 宏1()
Dim wbA, abB, stA, stB
Set wbA = Workbooks.Open("a\a.xls")
Set stA = wbA.Sheets("sheet1")
Set wbB = Workbooks.Open("b\b.xls")
Set stB = wbB.Sheets("sheet1")
stA.Range("A:B").Copy stB.Range("A:B")
wbB.Save
wbA.Close
wbB.Close
End Sub
- 2楼网友:底特律间谍
- 2021-01-22 13:34
sourcefile="模板文件夹\模板1文件"
destinationfile ="存档文件夹\" & "查询编号的数字" & "后缀(.xls或.xlsx,与原文件的后缀相同)
filecopy sourcefile, destinationfile ' 将源文件的内容复制到目的文件中
如果文件打开,复制出错。
- 3楼网友:患得患失的劫
- 2021-01-22 12:00
A工作簿里的VBA 编码
dim arr(65535),brr(65535)
xlsFile1="D:\b\b.xls" //扩展名为.xls,b文件夹在D盘
Do
If InStr(1, xlsFile, "a") = 0 Then
ActiveWorkbook.Sheets("Sheet1").select //a工作簿的表1
for i=1 to 65535
arr(i)=ActiveWorkbook.Sheets("Sheet1").cells(i,1).value
brr(i)=ActiveWorkbook.Sheets("Sheet1").cells(i,1).value
next
Workbooks.Open Filename:=adr1 & xlsFile1 //打开B工作簿
Windows(xlsFile1 & ".xls").Activate
Application.DisplayAlerts = true
for i=1 to 65535
ActiveWorkbook.Sheets("Sheet1").cells(i,1).value=arr(i)
ActiveWorkbook.Sheets("Sheet1").cells(i,1).value=brr(i)
next
Application.DisplayAlerts = False
ActiveWorkbook.Save
Workbooks.Close
Loop Until Len(xlsFile) = 0
懒得打。。自己看
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯