下面是一个宏,它会提示您输入零件号码并输入价格。它将在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
如何使用此代码:
- 打开开发人员选项卡上(文件 - >选项 - >自定义功能区 - >检查右侧面板上的 '开发者' - >确定
- 现在点击您的开发人员选项卡(在视图选项卡的右侧)
- 现在点击位于功能区最左侧的VBA
- Ri GHT单击“Microsoft Excel对象”树的VBA窗口
- 点击“插入”的左侧,然后“模块”
- 现在,双击在它默认为“模块1”
树中的新模块
- 将此代码粘贴到右侧的空白屏幕上
- 将光标置于文本的某处(Sub和End Sub之间的任意位置),然后按F5运行。
- 现在你可以回去Excel并创建一个按钮,并将其链接到您的宏(我会离开这个由你来研究:-)
你会用提示几个输入框是这样的:
如果你的数据是这样的:
你输入的价格编号 “DEF” 和 “8” 你现在看到这一点:
查表?使用VLOOKUP? – BLUEPIXY