我希望有人可以提供帮助! 我正在制定包含零件编号的价格指南。几个相同的部件号与不同的产品相关联,因此它们出现在整个价格指南的不同位置。我发现了一些我忘记更新某些单元格的实例。如果可能的话,我希望Excel自动执行此操作。 例如,如果我在列B中输入部件号ACH,在电子表格的任何行中,我希望C列自动填充$ 100.00。 这可能吗? C10可能只是试图消除数据输入错误并依赖Excel公式或代码来帮助我。
我对VBA代码一无所知(经过研究,我怀疑我不得不写),所以请“愚蠢”回答你的答案!
非常感谢你!
答案 0 :(得分:0)
下面是一个宏,它会提示您输入要搜索的部件号和要输入的价格。它将在B列中搜索该部件号,并用新价格替换C列中的相邻价格。
Sub ReplacePrice()
lastRow = Range("B1").End(xlDown).Row
Dim searchRng As Range
Set searchRng = Range("B1:B" & lastRow)
Dim partNum As String
partNum = InputBox(Prompt:="Enter Part Number to Search For: ", _
Title:="ENTER PART NUMBER", Default:="Your PN here")
' Check for invalid input
If partNum = "Your PN here" Or partNum = vbNullString Then
Exit Sub
End If
Dim price As String
price = InputBox(Prompt:="Enter price: ", _
Title:="ENTER PRICE", Default:="Your price here")
' Check for invalid input
If price = "Your price here" Or price = vbNullString Then
Exit Sub
End If
' Finds each matching part number in col B and replaces adjacent price in col C
For Each cell In searchRng
If cell.Value = partNum Then
cell.Offset(0, 1).Value = price
End If
Next cell
End Sub
如何使用此代码:
系统会提示您输入以下几个输入框:
如果您的数据如下所示:
您输入“DEF”表示零件编号,输入“8”表示您现在看到的价格: