Excel VBA質問箱 IV

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

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


26094 / 76737 ←次へ | 前へ→

【55979】Re:リストボックスを活用するには
回答  カウボーイズ  - 08/5/28(水) 0:01 -

引用なし
パスワード
   一度返信しましたが、ちょっと全体見て書き直してみます
あくまで私自身が見て、無駄だと思われる部分を修正してみますので必要に応じてご自分でカスタマイズしてください
※かなり長文になってしまいました すいません

とりあえず前回返信した【55978】の内容でやってみて成功したら、以下を読んでみてください。【55978】でエラーが出てたら意味が無いので・・・

↓このプロシージャからです
Private Sub CommandButton1_Click()
宣言等は割愛します

'With UserForm1.ListBox1
↑この下のコードでWith の意味がほとんど無いのでこの文を削除

'MyCount = Me.ListBox1.ListCount - 1
↑これも意味が無いと思うので削除
For文を書き換えます

For n = 0 To Me.ListBox1.ListCount - 1  ' ←ここ変えてます
  If (Me.ListBox1.Selected(n) = True) Then

  'With ListBox1
  'If (.ListIndex = -1) Then
  ↑この2行もいらないはずです(それに付随する Else もいらない)

   Set ws1 = Worksheets("history")
    i = ws1.Range("B65536").End(xlUp).Row + 1
    If i < 5 Then
     i = 5
    End If
   ↑この5行はループ内で毎回行われる必要が無いので、ループの外に出してみましょう

  次の
  With ActiveCell
  から
  ws1.Cells(i, 11).Value = Me.TextBox3.Value
  までは多分OK(元データが分からないので・・・)

  '社員番号 (社員番号が左)
  'ws1.Cells(i, 12).Value = Me.ListBox1.TextColumn = 2
  '名前 (名前が右)
  'ws1.Cells(i, 13).Value = Me.ListBox1.TextColumn = 1
  ↑これを
  ws1.Cells(i, 12) = Me.ListBox1.List(n,1)
  ws1.Cells(i, 13) = Me.ListBox1.List(n,0)
  に直す


*** まとめると
Private Sub CommandButton1_Click()
 Dim From_Str As String
 Dim To_Str As String
 Dim Hours As Double

If Not Application.Intersect(Range("C3:C104"), ActiveCell) Is Nothing Then
  '↑これもなんだか直した方がいい気がするけど・・・ 一応このままで
Else
  MsgBox "Programのいずれかを選択してください。"
  'ここは Exit Sub は入れなくていいのかな?
End If

Set ws1 = Worksheets("history")
i = ws1.Range("B" & Rows.Count).End(xlUp).Row + 1
If i < 5 Then
 i = 5
End If

For n = 0 To Me.ListBox1.ListCount - 1
 If (Me.ListBox1.Selected(n) = True) Then
   With ActiveCell
   から
   ws1.Cells(i, 11).Value = Me.TextBox3.Value  
   まではそのままで
  
    ws1.Cells(i, 12) = Me.ListBox1.List(n,1)
    ws1.Cells(i, 13) = Me.ListBox1.List(n,0)

    i = i + 1

    'ここにひとつ End If が入るのかな?
    End If
   End With
 End If
Next n

Unload UserForm1

End Sub

4 hits

【55823】リストボックスを活用するには にしもり 08/5/20(火) 17:15 質問
【55843】Re:リストボックスを活用するには にしもり 08/5/21(水) 10:35 質問
【55847】Re:リストボックスを活用するには Yuki 08/5/21(水) 11:54 発言
【55851】Re:リストボックスを活用するには にしもり 08/5/21(水) 13:37 お礼
【55895】Re:リストボックスを活用するには にしもり 08/5/22(木) 18:27 質問
【55897】Re:リストボックスを活用するには カウボーイズ 08/5/22(木) 19:15 回答
【55899】Re:リストボックスを活用するには にしもり 08/5/22(木) 19:55 質問
【55900】Re:リストボックスを活用するには カウボーイズ 08/5/22(木) 20:15 回答
【55911】Re:リストボックスを活用するには にしもり 08/5/23(金) 10:54 お礼
【55912】Re:リストボックスを活用するには カウボーイズ 08/5/23(金) 11:44 回答
【55968】Re:リストボックスを活用するには にしもり 08/5/26(月) 17:10 質問
【55973】Re:リストボックスを活用するには にしもり 08/5/27(火) 16:08 質問
【55974】Re:リストボックスを活用するには Yuki 08/5/27(火) 16:18 発言
【55975】Re:リストボックスを活用するには にしもり 08/5/27(火) 16:28 お礼
【55976】Re:リストボックスを活用するには にしもり 08/5/27(火) 17:38 質問
【55978】Re:リストボックスを活用するには カウボーイズ 08/5/27(火) 22:25 回答
【55979】Re:リストボックスを活用するには カウボーイズ 08/5/28(水) 0:01 回答
【55983】Re:リストボックスを活用するには にしもり 08/5/28(水) 11:12 お礼

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