2015-09-04 21 views
-3

該工作簿包含約50個具有唯一名稱的spredsheets。每個電子表格都有直到列「F」的數據。 我想將每個電子表格中列的「C」列中的電子表格名稱和最大數據拉到下一列,但我知道最大數據來自特定的電子表格。VBA代碼可從多個spredsheets中提取最大數據

+2

你嘗試過這麼遠嗎?爲了讓你開始,你可能會想看看循環,以便你可以循環瀏覽表單。 –

+0

這是什麼意思:「以及每個電子表格中」C「列的最大數據到下一列,但我知道最大數據來自特定電子表格。」 –

+0

看看這個。 http://stackoverflow.com/questions/32384223/vba-copying-large-amounts-of-information-from-multiple-other-sheets/32384709#32384709它顯示如何循環通過工作表。當你在每張表上做currentheet.range(「A」&lrow)= ws.name,然後獲得你正在尋找的其他數據。 – MatthewD

回答

1

怎麼樣這樣的事情:

Sub get_Max() 
Dim mainWS As Worksheet, ws As Worksheet 
Dim rng As Range, cel As Range 
Dim i% 

Set mainWS = Sheets("Sheet1") ' Change this to meet your criteria. This is where the data will go 

For i = Sheets.Count To 0 Step -1 
    If Worksheets(i).Name = mainWS.Name Then Exit For 
    ' Let's first list the sheet names in Column A of our mainWS 
    mainWS.Cells(i, 1).Value = Sheets(i).Name 
    ' Then get the max value from column C ('3'). 
    mainWS.Cells(i, 2).Value = WorksheetFunction.Max(Sheets(i).Range(Sheets(i).Columns(3), Sheets(i).Columns(3))) 
Next i 

End Sub