国产一区二区欧美精品免费-欧美国产日韩在线视频-欧美亚洲国语精品一区二区-欧美激情五月综合啪啪-国产69精品麻豆久久久久-亚洲人成精品久久久久桥网站-欧美刺激肥熟在线视频-十七岁日本免费完整版BD-黑夜在线拖拽不卡第一页

`
發(fā)表于2023/8/5 10:35:31 樓主 
頭像 等級:初學者
積分:0
財富值:2.00
身份:普通用戶
有 100 多個  excel工作簿,每個工作簿里面都有一列銷售金額。要怎么做才可以把 100 多個表格里各自的銷售金額 統(tǒng)計到一張新的表格里:包含對應的工作簿名稱,對應銷售金額合計數(shù)
目前只能一個一個打開工作簿,手動把銷售金額這一列 拉一下合計數(shù)寫在表格內(nèi)。效率太低,有沒有什么更好的辦法呀。可以批量輸出
我的個性簽名
發(fā)表于 2023/8/5 22:12:16   
頭像 等級:學有小成
積分:30
財富值:2
身份:普通用戶

還是寫VBA吧,100個表格文件都放在同一個文件夾,然后遍歷文件夾每一個表格文件的每一個sheet,并獲取活動sheet的名稱,然后對應于每一個sheet,獲取相應列的銷售金額總數(shù),存儲在數(shù)組里,最后遍歷完了,再將數(shù)組數(shù)據(jù)寫在新表格里就行,前提是這100多個數(shù)據(jù)都在相同位置,如果不在,還得寫循環(huán)進行數(shù)據(jù)查找。

數(shù)據(jù)不要讀一個就寫一個到新表格,盡量用數(shù)組,否則速度很低。

我的個性簽名
發(fā)表于 2023/8/5 22:16:17   
頭像 等級:學有小成
積分:30
財富值:2
身份:普通用戶
如果表格文件的名稱和列數(shù)據(jù)都是有規(guī)律的,也可以用indirect來寫組合調用函數(shù),麻煩的是這個函數(shù)必須把引用文件打開才有效,index是可以不用打開,但是我目前沒法寫出來。這100個文件全部打開,也得耗用不少內(nèi)存,可能會卡死
我的個性簽名
發(fā)表于 2023/8/5 22:18:05   
頭像 等級:學有小成
積分:30
財富值:2
身份:普通用戶
也可以用方方格子把各sheet導入到同一個工作簿,再用indirect寫組合調用函數(shù),這倒是省事不少,但前提是文件名和sheet名以及數(shù)據(jù)列都是有規(guī)律的
我的個性簽名
發(fā)表于 2023/8/5 22:21:48   
頭像 等級:學有小成
積分:30
財富值:2
身份:普通用戶
方方格子有excel匯總大師,但我沒用過,其中一個功能就是把各文件的同位置數(shù)據(jù)提取到同一個表,可以試試,行的話就是目前最簡單的方法
我的個性簽名
發(fā)表于 2023/8/7 9:16:47   
頭像 等級:傳說級人物
積分:2734
財富值:4
身份:普通用戶
匯總大師使用教程http://www.microgift.cn/WenKu/article.aspx?id=411
發(fā)表于 2023/8/20 9:02:55   
頭像 等級:學有小成
積分:23
財富值:2
身份:普通用戶
要批量統(tǒng)計多個工作簿中的銷售金額并輸出到一個新的表格中,可以使用VBA宏來實現(xiàn)。以下是一個示例的VBA代碼,可以幫助你完成這個任務:

1. 打開一個新的Excel工作簿,按下Alt + F11打開VBA編輯器。
2. 在VBA編輯器中,插入一個新的模塊。右鍵點擊項目資源管理器中的"VBAProject",選擇"插入",然后選擇"模塊"。
3. 在新的模塊中,復制粘貼以下VBA代碼:

```vba
Sub 統(tǒng)計銷售金額()
    Dim FolderPath As String
    Dim FileName As String
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim TotalSales As Double
    Dim OutputRow As Long
    
    ' 設置文件夾路徑
    FolderPath = "你的文件夾路徑"
    
    ' 設置輸出表格的起始行數(shù)
    OutputRow = 2
    
    ' 打開一個新的工作簿作為輸出表格
    Set wb = Workbooks.Add
    Set ws = wb.Sheets(1)
    
    ' 遍歷文件夾中的每個工作簿
    FileName = Dir(FolderPath & "\*.xlsx") ' 可以根據(jù)需要修改文件類型
    Do While FileName <> ""
        ' 打開工作簿
        Set wb = Workbooks.Open(FolderPath & "\" & FileName)
        
        ' 獲取銷售金額列的合計數(shù)
        TotalSales = Application.WorksheetFunction.Sum(wb.Sheets(1).Range("A:A")) ' 假設銷售金額列在A列
        
        ' 將工作簿名稱和銷售金額合計數(shù)寫入輸出表格
        ws.Cells(OutputRow, 1).Value = FileName
        ws.Cells(OutputRow, 2).Value = TotalSales
        
        ' 關閉工作簿
        wb.Close SaveChanges:=False
        
        ' 移動到下一行
        OutputRow = OutputRow + 1
        
        ' 獲取下一個文件名
        FileName = Dir
    Loop
    
    ' 調整輸出表格的列寬
    ws.Columns("A:B").AutoFit
End Sub
```

4. 在代碼中的`FolderPath = "你的文件夾路徑"`處,將路徑修改為包含這些工作簿的文件夾的實際路徑。
5. 運行宏。按下F5或點擊VBA編輯器工具欄上的運行按鈕。

這個宏將按照指定的文件夾路徑,遍歷文件夾中的所有工作簿,并統(tǒng)計每個工作簿中銷售金額列的合計數(shù)。然后,將工作簿名稱和銷售金額合計數(shù)輸出到新的工作簿的第一個工作表中。

請注意,這個示例假設銷售金額列在每個工作簿的A列。如果銷售金額列在其他列,你需要相應地修改代碼中的`Range("A:A")`為相應的列范圍。另外,你還可以根據(jù)需要進行其他的自定義修改,如輸出表格的格式等。
敬天愛人,成人達已

快速回復

目前不允許游客發(fā)表,請 登錄 注冊 后再發(fā)貼。