Excel VBA質問箱 IV

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

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


5639 / 13645 ツリー ←次へ | 前へ→

【49665】ユーザーフォームのListBox1に該当が無い場合 今田 07/6/15(金) 1:09 質問[未読]
【49672】Re:ユーザーフォームのListBox1に該当が無... neptune 07/6/15(金) 12:57 発言[未読]
【49674】Re:ユーザーフォームのListBox1に該当が無... 今田 07/6/15(金) 13:56 発言[未読]
【49676】Re:ユーザーフォームのListBox1に該当が無... neptune 07/6/15(金) 15:55 発言[未読]
【49679】Re:ユーザーフォームのListBox1に該当が無... Jaka 07/6/15(金) 17:38 発言[未読]
【49682】Re:ユーザーフォームのListBox1に該当が無... 今田 07/6/15(金) 20:27 発言[未読]
【49707】Re:ユーザーフォームのListBox1に該当が無... Jaka 07/6/18(月) 10:05 発言[未読]
【49712】Re:ユーザーフォームのListBox1に該当が無... 今田 07/6/18(月) 11:22 発言[未読]
【49715】Re:ユーザーフォームのListBox1に該当が無... Jaka 07/6/18(月) 12:22 発言[未読]
【49717】Re:ユーザーフォームのListBox1に該当が無... 今田 07/6/18(月) 14:08 発言[未読]

【49665】ユーザーフォームのListBox1に該当が無い...
質問  今田  - 07/6/15(金) 1:09 -

引用なし
パスワード
   教えて下さい
ユーザーフォームのListBox1に該当する値が無かった場合の
処理方法をお聞きしたいのですが普通に考えると、

1.リスト項目を追加する
2.別にテキストボックスとコマンドボタンを配置し単独に入力する
くらいしか思いつかないのですがどんな方法がベストなんでしょうか?
よろしくお願いします。
ちなみに1と2の方法も教授いただけるとありがたいのですが・・・

2の方法で実行する場合、条件として転記先はI列の3行目からスタートです
空きセルの場合順番に3行目から転記させたいのですが
以上 よろしくお願いします。

Private Sub initAndReady()
  Dim ER As Long
  Dim d As Date
  
  d = Date
  ER = Range("A65536").End(xlUp).Row
  If ER < 3 Then
   TextBox1.Value = "001"
  Else
   TextBox1.Value = Format(Range("A" & ER).Value + 1, "000")
  End If
  
  ListBox1.RowSource = "Sheet1!M2:M60"
  ListBox2.RowSource = "Sheet1!P2:P6"
  ListBox3.RowSource = "Sheet1!R2:R10"

  TextBox2.Text = ""
  TextBox3.Text = "○○仕様  [記入例]"

  TextBox4.Text = "容量アップ3→5  [記入例]"
  TextBox5.Tag = 0
  TextBox5.Text = 0
  TextBox6.Tag = 0
  TextBox6.Text = 0
End Sub

【49672】Re:ユーザーフォームのListBox1に該当が...
発言  neptune  - 07/6/15(金) 12:57 -

引用なし
パスワード
   ▼今田 さん:
こんにちは
>
>1.リスト項目を追加する
>2.別にテキストボックスとコマンドボタンを配置し単独に入力する
>くらいしか思いつかないのですがどんな方法がベストなんでしょうか?
>よろしくお願いします。
>ちなみに1と2の方法も教授いただけるとありがたいのですが・・・
1,2の方法はどのような手法を考えていますか?

全くわからないのなら先ず、ListBoxのHelpで全てのプロパティ、メソッド
を見るのが先と思いますよ。・・・基本は使用例で書いてますから。

【49674】Re:ユーザーフォームのListBox1に該当が...
発言  今田  - 07/6/15(金) 13:56 -

引用なし
パスワード
   ▼neptune さん:
こんにちわ
1の場合ユーザーフォーム表示しListBox1.RowSource = "Sheet1!M2:M60"に
候補が無い場合、
ユーザーフォームからリストボックスに追加したいのですが
方法がよくわかりません。
よろしくお願いします。

>>1.リスト項目を追加する
>>2.別にテキストボックスとコマンドボタンを配置し単独に入力する
>>くらいしか思いつかないのですがどんな方法がベストなんでしょうか?
>>よろしくお願いします。
>>ちなみに1と2の方法も教授いただけるとありがたいのですが・・・
>1,2の方法はどのような手法を考えていますか?
>
>全くわからないのなら先ず、ListBoxのHelpで全てのプロパティ、メソッド
>を見るのが先と思いますよ。・・・基本は使用例で書いてますから。

【49676】Re:ユーザーフォームのListBox1に該当が...
発言  neptune  - 07/6/15(金) 15:55 -

引用なし
パスワード
   ▼今田 さん:
こんにちは

>こんにちわ
>1の場合ユーザーフォーム表示しListBox1.RowSource = "Sheet1!M2:M60"に
>候補が無い場合、
>ユーザーフォームからリストボックスに追加したいのですが
>方法がよくわかりません。
M61にデータを書き込みRowSource の範囲Sheet1!M2:M60を
例えばSheet1!M2:M61に広げるってのはどうですか?

私は普段AddItemを使うのでRowSource ってのを使ったことがないので、
よくわかりませんが
M61にデータを書き込み
ListBox Clear 'これは不要かも??
ListBox RowSource の範囲Sheet1!M2:M61に変更
でしょうか?やってみて下さい。

【49679】Re:ユーザーフォームのListBox1に該当が...
発言  Jaka  - 07/6/15(金) 17:38 -

引用なし
パスワード
   参考になると思います。
HTTp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=20909;id=excel

【49682】Re:ユーザーフォームのListBox1に該当が...
発言  今田  - 07/6/15(金) 20:27 -

引用なし
パスワード
   ▼Jaka さん:
ありがとうございます。
ユーザーフォームにListBox1*1、TextBox1.2.3、CommandButton1を配し
下記のようなコードでテストしてみたのですが
エラーがでます
rengeメゾットは失敗しました。Globalオブジェクト
どういう意味ですかヘルプにも何も表示されません

Option Explicit

Private Sub CommandButton1_Click()
 Dim mmc As Long, mmr As Long
 
  mmc = Range(ListBox1.RowSource).Column←★ココでエラー
  mmr = Range(ListBox1.RowSource).Row
  TextBox1.Value = Cells(ListBox1.ListIndex + 2, mmc)
  TextBox2.Value = Cells(ListBox1.ListIndex + 2, mmc + 1)
  If ListBox1.ColumnCount > 2 Then
    TextBox3.Value = Cells(ListBox1.ListIndex + 2, mmc + 2)
  End If
  Cells(ListBox1.ListIndex + 2, mmc).Select
  MsgBox "このデータは、" & vbLf & _
      "リストボックス" & ListBox1.ListIndex + 1 & "行目から" & vbLf & _
      "対象セル" & Cells(ListBox1.ListIndex + 2, mmc).Address
End Sub

>参考になると思います。
>HTTp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=20909;id=excel

【49707】Re:ユーザーフォームのListBox1に該当が...
発言  Jaka  - 07/6/18(月) 10:05 -

引用なし
パスワード
   いまいち良く解ってないけど....。

>Private Sub CommandButton1_Click()
> Dim mmc As Long, mmr As Long

  If ListBox1.ListIndex <= 0 Then Exit Sub ← これ?

>  mmc = Range(ListBox1.RowSource).Column←★ココでエラー

【49712】Re:ユーザーフォームのListBox1に該当が...
発言  今田  - 07/6/18(月) 11:22 -

引用なし
パスワード
   ▼Jaka さん:
こんにちわ
>参考になると思います。
>HTTp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=20909;id=excel
Jakaさん紹介の↑スレを参考に
Private Sub CommandButton1_Click()
 Dim mmc As Long, mmr As Long
 
 If ListBox1.ListIndex <= 0 Then Exit Sub
  
  mmc = Range(ListBox1.RowSource).Column
  mmr = Range(ListBox1.RowSource).Row
  TextBox1.Value = Cells(ListBox1.ListIndex + 2, mmc)
  TextBox2.Value = Cells(ListBox1.ListIndex + 2, mmc + 1)
  If ListBox1.ColumnCount > 2 Then
    TextBox3.Value = Cells(ListBox1.ListIndex + 2, mmc + 2)
  End If
  Cells(ListBox1.ListIndex + 2, mmc).Select
  MsgBox "このデータは、" & vbLf & _
      "リストボックス" & ListBox1.ListIndex + 1 & "行目から" & vbLf & _
      "対象セル" & Cells(ListBox1.ListIndex + 2, mmc).Address
End Sub
ユーザーフォームにTextBox1.2.3とCommandButton1を貼付、
テストしてみたのですが何もかわらないのですが
どのようなコードですか?よろしくお願いします。


>いまいち良く解ってないけど....。
>
>>Private Sub CommandButton1_Click()
>> Dim mmc As Long, mmr As Long
>
>  If ListBox1.ListIndex <= 0 Then Exit Sub ← これ?
>
>>  mmc = Range(ListBox1.RowSource).Column←★ココでエラー

【49715】Re:ユーザーフォームのListBox1に該当が...
発言  Jaka  - 07/6/18(月) 12:22 -

引用なし
パスワード
   >1の場合ユーザーフォーム表示しListBox1.RowSource = "Sheet1!M2:M60"に
>候補が無い場合、
>ユーザーフォームからリストボックスに追加したいのですが
あ、よく読んでなかった。すみません。
RowSourceは、セルを参照しているだけなので、参照セルを拡張することはできても、新たに追加することはできません。
追加したいのなら、RowSourceは止めて、Idditemでリストを作りIdditemで追加するのが簡単だと思います。

【49717】Re:ユーザーフォームのListBox1に該当が...
発言  今田  - 07/6/18(月) 14:08 -

引用なし
パスワード
   Jakaさん
ありがとうございました。

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