Vba 循环浏览工作簿,如果单元格中存在值,则获取该值
我对VBA/宏相当陌生,并已设法将Vba 循环浏览工作簿,如果单元格中存在值,则获取该值,vba,excel,Vba,Excel,我对VBA/宏相当陌生,并已设法将工作表名称输入我的活动工作簿。我现在试图检查单元格中是否存在特定的值,然后将其放在我已提取的工作表名称旁边的B列中。只有特定的工作表才会有1-54的值,因为它是IED设备的地址,并且我只关心工作表 目前,我正在使用此代码提取工作表名称,因此我可以继续使用此代码作为提取一系列信息的参考,因为我无法正确参考工作表编号或工作表代码名称 Sub GetSheetnames() 'Turn off alerts Application.DisplayAle
工作表
名称输入我的活动工作簿
。我现在试图检查单元格中是否存在特定的值
,然后将其放在我已提取的工作表
名称旁边的B列中。只有特定的工作表才会有1-54的值,因为它是IED设备的地址,并且我只关心工作表
目前,我正在使用此代码提取工作表
名称,因此我可以继续使用此代码作为提取一系列信息的参考,因为我无法正确参考工作表编号或工作表代码名称
Sub GetSheetnames()
'Turn off alerts
Application.DisplayAlerts = False
'Open the Workbook that i want to look for the worksheet names this
'white book template is a save as copy of another file as it makes it
'easier to reference as I work with 1000's of file with same format but
'are all saved as a different name
Workbooks.Open Filename:="D:\Projects\ASE Templates\ASE Template White
Book.xlsx"
Dim ws As Worksheet
Dim i As Integer
With ThisWorkbook.Worksheets("Tab Names from white book")
.Range("A:A").ClearContents
For Each ws In ActiveWorkbook.Worksheets
i = i + 1
.Range("A" & i) = ws.Name
Next ws
End With
Workbooks("ASE Template White Book.xlsx").Close
Application.DisplayAlerts = True
End Sub
我还想补充的是,检查每个工作表上H4
中的值是否存在,如果存在,则在我的工作表“白皮书中的选项卡名称”A列中提取的工作表名称旁边的B列中显示该值
我确实考虑过重新运行宏来更改
With ThisWorkbook.Worksheets("Tab Names from white book")
.Range("A:A").ClearContents
For Each ws In ActiveWorkbook.Worksheets
i = i + 1
.Range("A" & i) = ws.Name
Next ws
到
或
它运行,但不执行任何可见操作。任何帮助都将不胜感激。理想情况下,我希望只运行一次宏,同时填写两列在我看来,您似乎没有限定要选取的单元格范围,并且设置
为方便以后参考,也建议将工作簿归档
Sub GetSheetnames()
'Turn off alerts
Application.DisplayAlerts = False
'Open the Workbook that i want to look for the worksheet names this
'white book template is a save as copy of another file as it makes it
'easier to reference as I work with 1000's of file with same format but
'are all saved as a different name
Dim wb As Workbook
Set wb = Workbooks.Open("D:\Projects\ASE Templates\ASE Template White Book.xlsx")
Dim ws As Worksheet
Dim i As Integer
With ThisWorkbook.Worksheets("Tab Names from white book")
.Range("A:A").ClearContents
For Each ws In wb.Worksheets
i = i + 1
.Range("A" & i) = ws.Name
.Range("B" & i) = ws.Cells(3, 8).Value
Next ws
End With
wb.Close
Application.DisplayAlerts = True
End Sub
尝试.Range(“B”和i)=ws.Range(“H4”).value
。如果没有图纸参考,它将参考激活图纸。
.Range("B" & i) = Cells(3,8).Value
Sub GetSheetnames()
'Turn off alerts
Application.DisplayAlerts = False
'Open the Workbook that i want to look for the worksheet names this
'white book template is a save as copy of another file as it makes it
'easier to reference as I work with 1000's of file with same format but
'are all saved as a different name
Dim wb As Workbook
Set wb = Workbooks.Open("D:\Projects\ASE Templates\ASE Template White Book.xlsx")
Dim ws As Worksheet
Dim i As Integer
With ThisWorkbook.Worksheets("Tab Names from white book")
.Range("A:A").ClearContents
For Each ws In wb.Worksheets
i = i + 1
.Range("A" & i) = ws.Name
.Range("B" & i) = ws.Cells(3, 8).Value
Next ws
End With
wb.Close
Application.DisplayAlerts = True
End Sub