0
我有一個帶有〜300個類似工作表的Excel文檔和一個帶有名稱列表的工作表。這300個工作表中的每一個都有一個特定的單元格,我需要從列表中填寫一個名稱。列表和表單的順序相同(例如,sheet1需要List!C1中的名稱,List!C2中的sheet2等)。我研究了VLOOKUP,但沒有任何可以使用的參考數據。工作表之間的Excel自動填充
我有一個帶有〜300個類似工作表的Excel文檔和一個帶有名稱列表的工作表。這300個工作表中的每一個都有一個特定的單元格,我需要從列表中填寫一個名稱。列表和表單的順序相同(例如,sheet1需要List!C1中的名稱,List!C2中的sheet2等)。我研究了VLOOKUP,但沒有任何可以使用的參考數據。工作表之間的Excel自動填充
我認爲類似的任務,你需要使用VBA宏這樣的:
Sub DataFromList()
Dim nameSht As String: nameSht = "List"
Dim shtList As Worksheet
Set shtList = ThisWorkbook.Worksheets(nameSht)
Dim columnWithData As String: columnWithData = "C"
Dim n%: n = 0 ' start from 1 row (0 + 1)
' specific cell where you need to fill a name from the list
Dim addressForData As String: addressForData = "B2"
For Each sht In ThisWorkbook.Worksheets
If sht.Name <> nameSht Then
n = n + 1
sht.Range(addressForData).Formula = "=" & nameSht & "!" & columnWithData & n
End If
Next sht
End Sub
當然
,它僅當「特定細胞」的地址在所有片相同
運行完美可能!謝謝! – Unanana 2015-03-19 13:37:20
很高興能有所幫助 – Seredenkov 2015-03-19 13:43:12
你的代碼是堅實的,可維護的,通常最好(假設可靠的預期迭代器順序,我_think_是真實的)。不過,我想指出的是,與第一句假設相反,假設表格命名一致,則不需要VBA。您可以選擇所有圖紙,然後取消選擇列表並輸入從工作表名稱中剝離n的INDIRECT公式。 – 2015-03-19 13:46:39