我试图创建一个VBA代码,以搜索“B”列中的人员代码,并返回“D”列中的列偏移量,并用新的输入替换单元格的值。我设法做到了这一点,但我需要在所有选定的工作表中进行此操作。我不知道我做错了什么,因为当我选择几个工作表时,它只执行第一个工作表上的代码,而忽略其余部分。
https://drive.google.com/file/d/1Kdol7qnfgstSc0mWV5hN9X0O1PcVwsjx/view?usp=sharing
Sub RunCode()
Dim rg As Range, c As Range
Dim str As String
Dim A As Variant
Dim ws As Worksheet
Set rg = ActiveSheet.Columns("B")
str = "PEC-00" & Application.InputBox(Prompt:="ID: ")
A = Application.InputBox(Prompt:="New Value: ")
With rg
Set c = .Find(str, , xlValues)
Application.ScreenUpdating = False
For Each ws In ActiveWindow.SelectedSheets
ws.Select
c.Offset(, 2) = A
Next ws
Application.ScreenUpdating = True
End With
End Sub
我试图将代码循环到所有选定的工作表,但代码仍然只在选定的第一个工作表上执行
1条答案
按热度按时间xwbd5t1u1#
注:这是未经测试的