ワークシートに埋め込まれています_sheet1
_ _combobox_test
_という名前のフォームコントロールコンボボックスがあり、値x
が選択されています
それに加えて、ボタンを押したときに_combobox_test
_の値を取り、something.Rows(y)
に配置するボタンも埋め込みました。しかし、私はそれを機能させることができず、少しイライラしています。多分あなたは私を正しい方向に向けることができます
_Sub ButtonPressed_sample()
Dim value As String
Set putItRng = Range("theCells")
putItRng.Rows(1) = ActiveSheet.Shapes("combobox_test").Value
End Sub
_
何かアドバイスはありますか? VBAの初心者ですので、できるだけ詳しく説明してください。ありがとう
これがあなたの望むものかどうかはわかりませんが、それは始まりです。 Shapeオブジェクトには、エラーの原因であるValueプロパティがありません。非推奨のDropDownオブジェクトがありますが、まだ使用可能です。
Sub ButtonPressed_sample()
Set putitrng = Range("theCells")
putitrng.Rows(1) = ActiveSheet.DropDowns("combobox_test").value
End Sub
Sub QuickSelect_Change()
With ActiveSheet.Shapes("QuickBox")
MsgBox "My Selected Value " & .ControlFormat.List(.ControlFormat.ListIndex)
End With
End Sub
ActiveSheet.Shapes("combobox_test").ControlFormat.ListIndex
前に述べたように、ShapeComboBoxにはValueプロパティがありません。
ShapeオブジェクトのDrawingObjectプロパティを使用して、CheckBoxFormControlオブジェクトを取得します。このCheckBoxオブジェクトは、他のFormControlと同じように使用できます。
また、DrawinObjectを使用して、ShapeオブジェクトからComboBoxオブジェクトを取得できる必要があります。
選択したテキストを取得したい場合は、次のコードを切り取ってみてください。
Dim sh as Shape
Dim cB as ComboBox
For Each sh In ws.Shapes
If sh.Type = msoFormControl Then
If TypeOf sh.DrawingObject Is ComboBox Then
Set cB = sh.DrawingObject
...
your code for getting the Data from ComboBox
...
End If
End If
Next
putItRng.Rows(1)= ActiveSheet.combobox_test.value
試してください:
activesheet.cells(1,putItRng.column).value=activesheet.combobox_test.value
それが機能しない場合、コンボボックスの名前は「Combobox_test」ではありません