Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11555 / 13646 ツリー ←次へ | 前へ→

【15478】リストボックスの複数選択(値の取得) ウシロメタさ 04/6/26(土) 22:32 質問[未読]
【15480】Re:リストボックスの複数選択(値の取得) [名前なし] 04/6/26(土) 23:05 回答[未読]
【15481】Re:リストボックスの複数選択(値の取得) IROC 04/6/26(土) 23:12 回答[未読]
【15482】Re:リストボックスの複数選択(値の取得) ウシロメタさ 04/6/26(土) 23:18 お礼[未読]
【15483】Re:リストボックスの複数選択(値の取得) IROC 04/6/26(土) 23:28 回答[未読]
【15485】Re:リストボックスの複数選択(値の取得) ウシロメタさ 04/6/26(土) 23:43 お礼[未読]
【15494】Re:リストボックスの複数選択(値の取得) ウシロメタさ 04/6/27(日) 12:49 質問[未読]
【15495】Re:リストボックスの複数選択(値の取得) ちゃっぴ 04/6/27(日) 13:19 発言[未読]
【15496】Re:リストボックスの複数選択(値の取得) ちゃっぴ 04/6/27(日) 13:35 発言[未読]
【15497】Re:リストボックスの複数選択(値の取得) ウシロメタさ 04/6/27(日) 13:38 お礼[未読]
【15498】Re:リストボックスの複数選択(値の取得) [名前なし] 04/6/27(日) 13:53 発言[未読]
【15500】Re:リストボックスの複数選択(値の取得) ウシロメタさ 04/6/27(日) 15:19 お礼[未読]

【15478】リストボックスの複数選択(値の取得)
質問  ウシロメタさ  - 04/6/26(土) 22:32 -

引用なし
パスワード
   セルのクリックにてフォームを出現させています
このフォーム上にリストボックスがあり
名前が選択できるようになっています
このリストから複数名選択できるようにしてありますが
選択した名前を取得するにあたり
Valueプロパティでは取得できないので
どのようにしたらいいのでしょうか?
取得した名前は例えば 山本と山田と鈴木の3つを
選択したとすれば現在アクティブになっているセルに
コメントを作成しそこへ山本・山田・鈴木
と記載したいのです

 よろしくお願いします

【15480】Re:リストボックスの複数選択(値の取得)
回答  [名前なし]  - 04/6/26(土) 23:05 -

引用なし
パスワード
   リストボックスの複数選択(値の取得)

をそのままキーワードにしてグーグルで検索すれば出てきますが。

【15481】Re:リストボックスの複数選択(値の取得)
回答  IROC  - 04/6/26(土) 23:12 -

引用なし
パスワード
   ご参考までに・・

Private Sub CommandButton1_Click()
Dim i As Long
Dim myList As String

  For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) = True Then
      myList = myList & ListBox1.List(i) & "・"
    End If
  Next i
  
  MsgBox Left(myList, Len(myList) - 1)
End Sub

【15482】Re:リストボックスの複数選択(値の取得)
お礼  ウシロメタさ  - 04/6/26(土) 23:18 -

引用なし
パスワード
   名無しさん参考になるサイト見つけました
ありがとうございます

IROCさん 出来ました
(コメントに反映するところはもう少し自分で調べてみます)
ありがとうございます

【15483】Re:リストボックスの複数選択(値の取得)
回答  IROC  - 04/6/26(土) 23:28 -

引用なし
パスワード
   >(コメントに反映するところはもう少し自分で調べてみます)

セルのコメント機能であれば、「マクロの記録」を使うのが
簡単だと思います。

【15485】Re:リストボックスの複数選択(値の取得)
お礼  ウシロメタさ  - 04/6/26(土) 23:43 -

引用なし
パスワード
   >セルのコメント機能であれば、「マクロの記録」を使うのが
>簡単だと思います。

はい そのようにしてコードを作成して
使いました OKです!!!

【15494】Re:リストボックスの複数選択(値の取得)
質問  ウシロメタさ  - 04/6/27(日) 12:49 -

引用なし
パスワード
   再びつまづきました・・
下記コードにてOKでしたが、
リストを何も選択しないと最後の行でエラーになってしまいます


Private Sub CommandButton1_Click()
Dim i As Long
Dim myList As String

  For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) = True Then
      myList = myList & ListBox1.List(i) & "・"
    End If
  Next i
 
  ActiveCell.AddComment


ActiveCell.Comment.Text Text:=Left(myList, Len(myList) - 1)


End Sub

【15495】Re:リストボックスの複数選択(値の取得)
発言  ちゃっぴ  - 04/6/27(日) 13:19 -

引用なし
パスワード
   >ActiveCell.Comment.Text Text:=Left(myList, Len(myList) - 1)

そりゃそうでしょう。
選択していないときLen(myList)は0になりますよね?

Left関数で-1文字切り取ること出来ますか?

つまり、「Len(myList) - 1 < 0」となる場合のエラー処理
しておけばいい訳です。

言い換えると「myList = ""」でもよいかな。

後は、ご自分で・・・・

【15496】Re:リストボックスの複数選択(値の取得)
発言  ちゃっぴ  - 04/6/27(日) 13:35 -

引用なし
パスワード
   ボケてました・・・
「Len(myList) - 1 < 1」つまり正確には
「Len(myList) < 2」ですね。

失礼しました。m(。_。;))m ペコペコ…

【15497】Re:リストボックスの複数選択(値の取得)
お礼  ウシロメタさ  - 04/6/27(日) 13:38 -

引用なし
パスワード
   ▼ちゃっぴ さん: どうもです
>>ActiveCell.Comment.Text Text:=Left(myList, Len(myList))

で出来てしまいました・・

【15498】Re:リストボックスの複数選択(値の取得)
発言  [名前なし]  - 04/6/27(日) 13:53 -

引用なし
パスワード
   ▼ウシロメタさ さんへ

普通はこんな感じでやると思います。

Private Sub CommandButton1_Click()
Dim i As Long
Dim myList As String

  For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) = True Then
      myList = myList & ListBox1.List(i) & "・"
    End If
  Next i
  If myList <> "" Then
    ActiveCell.AddComment "Left(myList, Len(myList) - 1)"
  Else
    MsgBox "選択されていません。"
  End If
End Sub

【15500】Re:リストボックスの複数選択(値の取得)
お礼  ウシロメタさ  - 04/6/27(日) 15:19 -

引用なし
パスワード
   ▼[名前なし] さん:
どうもです
なるほどなのですが、今回は未選択もあり
と言う処理になるのです
別件で活用したいと思います
ありがとうございました

11555 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free