Excel VBA は初めてで、Stack Overflow にあるソリューションのいくつかを適応させようとしましたが、まだ行き詰っています!
ユーザーフォームのコンボボックスで選択したオプションのテキストを使用して、この選択したテキストの行を Excel ワークシートに貼り付けようとしています。
以下のコードは、現在アクティブなユーザーフォームのコンボボックス値「CboIncomesPatch」を選択し、この値をアクティブシートのセル「M8」に貼り付けてから、カウンターがユニットの合計数に達するまでこの貼り付けをループすることを意図しています。ユニットの総数は、「15」などのテキストボックス値「TxtNumberOfUnits」です。コンボボックス内の 15 個のテキストをセル "M8" に貼り付けてから、後続のすべての行 "M9"、"M10" などを貼り付ける必要があります。コンボボックスが使用する範囲はハードコードされており、すべてのオプションはすべて文字列である人々の名前です。 (数字なし)。
以下のコードの .SelectedItem でエラーが発生します。コードのコンボボックス値部分の選択を除いて、テキストボックスに使用するとループが機能します。
回答に役立つ情報をここで提供できるかどうかお知らせください。
ありがとうございました、
ニール
Sub Incomes_Patch()
Dim Counter As Integer
Dim ws As UserForm
Dim Total As Integer
Dim Incomes As String
Set ws = UserForm(this.CboIncomesPatch.GetItemText(Me.CboIncomesPatch.SelectedItem))
Set Incomes.Value = ws
Total = TxtNumberOfUnits.Value
Counter = 0
Application.ActiveSheet.range("M8").Select
Do While Counter <= Total
If Counter = Total Then Exit Do
ActiveCell.Value = Incomes + Counter
ActiveCell.Offset(1, 0).Select
Counter = Counter + 1
Loop
End Sub