[英]How to merge columns from multiple sheets in one excel file by pandas
[英]How do I copy the data from one Excel file of multiple sheets to another Excel file of multiple sheets
我有一個包含多個工作表的Excel文件,其中包含列名,值和工作表名。
我還有另一個具有列名稱和工作表名稱的多個工作表的excel文件。
我想在不更改工作表名稱的情況下將數據(列值)從一個Excel復制到另一個Excel,因為工作表名稱不同,但是列名稱相同。
很高興聽到一些建議。
我的建議是在單獨的模塊中定義功能,但在這里我為簡單起見在主模塊中定義了2個功能(激活工作簿和工作表)。 該宏位於單獨的Excel文件(Macro.xlsm)中。 同一位置中包含兩個Excel文件(Book1.xlsx和Book2.xlsx)。
我試圖用這個例子來回答,所以可以擴展到許多工作簿和工作表。
運行宏之前,先執行Book2.xlsx。
運行宏后,Book2.xlsx。 目的行被故意選擇低了一行:-)
Option Explicit
Dim wb01 As Workbook, wb02 As Workbook
Public paTh01 As Variant, paTh02 As Variant
'/Define your functions
'Function1 openBook(paTh0, wB0)
Function openBook(path0 As Variant, wB0 As Workbook)
Set wB0 = Workbooks.Open(path0)
wB0.Activate
End Function
'Function2 openSheet(wB0, "Sheet_Name")
Function openSheet(wB0 As Workbook, sheetName0 As String)
wB0.Activate
Sheets(sheetName0).Activate
End Function
'Main Module
Sub main()
paTh01 = "D:\Book1.xlsx"
paTh02 = "D:\Book2.xlsx"
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
Call openBook(paTh01, wb01)
Call openSheet(wb01, "mySheet1")
Range("A2:D4").Select
With Selection
.Orientation = 0
.Copy
End With
'If you have a loop, you should put delay otherwise excel will crash
Application.Wait (Now + TimeValue("0:00:01"))
Call openBook(paTh02, wb02)
Call openSheet(wb02, "mySheet2")
Range("A3:D5").PasteSpecial xlPasteValues, Transpose:=False
wb01.Close savechanges:=False
DoEvents
wb02.Close savechanges:=True
DoEvents
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.