|
▼ichinose さん:
>▼まっき さん:
>こんにちは。
>
>>教えていただきたいのですが、
>>
>>ユーザフォーム2にチェックボタンを20個つくり、それぞれに「01〜20」までの
>>値を代入して、それにチェックを入れ、コマンドボタンで入力すると
>>ユーザーフォーム1のテキストボックス1に、チェックを入れた値のものだけが
>>表示されるというのをやりたのですが、どうすればよいのでしょうか?
>このユーザーフォーム1とユーザーフォーム2の関係
>(ユーザーフォーム1から、ユーザーフォーム2を呼び出しているとか、
> ふたつともモードレスで表示しているとか)も記述してください。
>
>
>>
>>色々やってみたのですが、うまくいきません。
>できたら、こんなコードにしたけど駄目だった例も記述してください。
>まっき さんが記述したことも全て情報になりますから・・・。
>
>
>ユーザフォーム2(Userform2)のモジュールに
>
>'===================================
>Private Sub CommandButton1_Click()
> Dim chkstr() As String
> Dim cnt As Long
> cnt = 0
> Dim idx As Long
> For idx = 1 To 20
> If Controls("checkbox" & Format(idx, "00")).Value Then
> 'チェックボックスのコントロール名は
> ' checkbox01とかcheckbox02・・・・checkbox20に設定されていると
> ' とします
> ReDim Preserve chkstr(1 To cnt + 1)
> chkstr(cnt + 1) = Format(idx, "00")
> cnt = cnt + 1
> End If
> Next
> If cnt > 0 Then
> UserForm1.TextBox1.Text = Join(chkstr(), ",")
>'ユーザフォーム1は、オブジェクト名がUserform1だとします
> End If
> Erase chkstr()
>End Sub
>
>試してみてください。
ご返事ありがとうございます。でも、
If Controls("checkbox" & Format(idx, "00")).Value Thenの部分で
「オブジェクトが見つかりません」とエラーがでます。
チェックボックスの名前もちゃんと合っています。
|
|