在一栏中,我有4个条目。其中2个属于一个类别“ TX”,另外两个属于“ SW”。
在单元格H12的下拉框中创建一个列表,选中后,您可以从列表中选择4个条目中的任何一个。
选中后,您可以在该单元格下面放置一个数字(H13)。单击一个按钮并选择一个“ TX”条目时,它将进入一个单元格(P2)。如果选择的条目是“ SW”,它将进入(Q2)。当用户更改数字或从下拉菜单中进行选择时,该数字将添加到该类别的上一个数字。
任何帮助将不胜感激,我尝试查看视频和教科书,但似乎无法为实现这一目标而wrap之以鼻。
谢谢
我已经尽力了。我与一些比我更了解这一点的朋友交谈,他们将我发送到此网站,因为它以前对他们有所帮助。由于我对VBA非常满意,因此我为自己的尝试表示歉意。
Private Sub CommandButton2_Click()
If Range("SW").Text = Range("H12").Text Then
Range("H13").Copy
Range("Q2").PasteSpecial Paste:=xlValues, Operation:=xlAdd, SkipBlanks:=False, Transpose:=False
ElseIf Range("TX").Text = Range("H12").Text Then
Range("H13").Copy
Range("P2").PasteSpecial Paste:=xlValues, Operation:=xlAdd, SkipBlanks:=False, Transpose:=False
End If
End Sub
到目前为止,当我单击按钮时,什么都没有发生。谢谢
答案 0 :(得分:0)
您应该可以执行以下操作:
Private Sub CommandButton2_Click()
Dim v, sht As Worksheet
Set sht = ActiveSheet
v = sht.Range("H12").Text
If ValueInNamedRange(v, sht, "SW") Then
sht.Range("Q2").Value = sht.Range("H13").Value
ElseIf ValueInNamedRange(v, sht, "TX") Then
sht.Range("P2").Value = sht.Range("H13").Value
End If
End Sub
'A function to check if a value "v" is in a given named range "rangename"
' on sheet "sht"
Function ValueInNamedRange(v, sht As Worksheet, rangename As String)
ValueInNamedRange = Len(v) > 0 And _
Not IsError(Application.Match(v, sht.Range(rangename), 0))
End Function
编辑:修复了一些问题