我的作業簿中有多張作業表(超過 500 多張)。在每張紙上,我需要跟蹤資料。100 多張紙通常會有相同的資料值。我希望利用 VBA 腳本來回圈遍歷作業表名稱串列(使用 csv 檔案等外部源)并自動填充 csv 檔案中列出的作業表上的欄位。
我已經對需要在每張紙上填寫的輸入進行了宏記錄:
Sub Fill01()
'
' Fill01 Macro
'
' Keyboard Shortcut: Ctrl d
'
Range("B7").Select
ActiveCell.FormulaR1C1 = "MM/DD/YYYY"
Range("C7").Select
ActiveCell.FormulaR1C1 = "Engineer_Name"
Range("I7").Select
ActiveCell.FormulaR1C1 = "0"
Range("I9").Select
ActiveCell.FormulaR1C1 = "0"
Range("I11").Select
ActiveCell.FormulaR1C1 = "0"
Range("I13").Select
ActiveCell.FormulaR1C1 = "0"
Range("I15").Select
ActiveCell.FormulaR1C1 = "0"
Range("I17").Select
ActiveCell.FormulaR1C1 = "0"
Range("I19").Select
ActiveCell.FormulaR1C1 = "0"
Range("I21").Select
ActiveCell.FormulaR1C1 = "0"
Range("A1").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub
uj5u.com熱心網友回復:
將一個名為“ListOfSheets”的作業表添加到您的作業簿(有很多作業表要編輯)。在從 a1 開始的列中鍵入要更新的作業表的名稱;這是您的串列(而不是您提到的 CSV 檔案;CSV 檔案也可以,但需要更多步驟)。然后切換到 VBA 編輯器,插入一個新模塊并添加以下代碼:
Option Explicit
Public Sub DoIt()
Dim rngeItem As Variant
For Each rngeItem In ThisWorkbook.Worksheets("ListOfsheets").UsedRange.Cells
With ThisWorkbook.Worksheets(CStr(rngeItem))
Debug.Print .Name
' Do what you want to do with this worksheet
.Range("B7") = "MM/DD/YYYY"
.Range("C7") = "Engineer_Name"
.Range("I7") = "0"
.Range("I9") = "0"
.Range("I11") = "0"
.Range("I13") = "0"
.Range("I15") = "0"
.Range("I17") = "0"
.Range("I19") = "0"
.Range("I21") = "0"
'...
' Do whatever else
'...
End With
Next rngeItem
End Sub
并運行。您不必“選擇”(單元格或范圍)來執行操作/設定它們的值;在不選擇或激活的情況下(如我提供的那樣)執行此操作要快得多。我不知道您為什么使用 FormulaR1C1 屬性;您正在設定值,而不是公式。
uj5u.com熱心網友回復:
在新的模塊表中鍵入以下宏代碼。
Sub WorksheetLoop()
Dim WS_Count As Integer
Dim I As Integer
' Set WS_Count equal to the number of worksheets in the active
' workbook.
WS_Count = ActiveWorkbook.Worksheets.Count
' Begin the loop.
For I = 1 To WS_Count
' Insert your code here.
' The following line shows how to reference a sheet within
' the loop by displaying the worksheet name in a dialog box.
MsgBox ActiveWorkbook.Worksheets(I).Name
Next I
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/449925.html
標籤:vba
上一篇:使用vba在單元格中撰寫動態公式
下一篇:VBA另存為檔案路徑
