我是vba的新手,我想问我如何在每个单元格中粘贴我从组合框中选择的项目?
例子: Combobox2项目是10-STD,12-40,8-STD.
我将选择10-STD,它应该粘贴在E9列上,接下来我将选择12-40,它应该粘贴在下一个空单元格E10上,与8-STD一样,当它被选中时它应该粘贴在E11上。
谢谢你的帮助。
发布于 2018-04-01 14:56:50
对于Form Control "Combo Box“,以下代码可以工作:
Sub DropDown1_Change()
Dim dD As Object
Dim selectedValue As String
Set dD = DropDowns("Drop Down 1")
selectedValue = dD.List(dD.ListIndex)
If Range("E9") = Empty Then
Range("E9") = selectedValue
Else
lrow = Cells(Rows.Count, 5).End(xlUp).Row
Cells(lrow + 1, 5) = selectedValue
End If
End Sub
对于ActiveX ComboBox,如下所示:
Private Sub ComboBox1_Change()
Dim cB As ComboBox
Dim selectedValue As String
Set cB = OLEObjects("ComboBox1").Object
selectedValue = cB.Value
If Range("E9") = Empty Then
Range("E9") = selectedValue
Else
lrow = Cells(Rows.Count, 5).End(xlUp).Row
Cells(lrow + 1, 5) = selectedValue
End If
End Sub
编辑:正如QHarr所说,代码可以在工作表代码中提交,因此它无需Dim ws As Worksheet Set ws As ActiveWorksheet
代码即可工作。另外,Range("E9") = Empty
也可以被isEmpty(Range("E9"))
取代
https://stackoverflow.com/questions/49598410
复制相似问题