Excel VBA質問箱 IV

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

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


26099 / 76732 ←次へ | 前へ→

【55968】Re:リストボックスを活用するには
質問  にしもり  - 08/5/26(月) 17:10 -

引用なし
パスワード
   ▼カウボーイズ さん:
ご指摘にありがとうございます。

条件を整理し、
1.UserFomrははじめからひらいている必要ある
2.Userformのボタンclickイベントで諸項目の代入がはじまる
ことが判ったので以下のようにロジック変えました。
おおきな一歩であります。

また、最終ゴールにむけ以下の条件を追加しました。
3.リストボックスで選択された名前と社員番号を、それぞれ(a2:a51)と(b2:b51)からws1に代入
4.リストボックスで複数選択されてる場合は、Mycount=nになるまでループして代入
でもうんともすんともいいません。どこが悪いかどなたかご教示くださいませんか。

ListboxのプロパティのColumnCountは2にしてあります。


(標準モジュール)

Sub Sample()
 UserForm1.Show
End Sub
---------------------------------------------
(ユーザーフォーム)

Option Explicit

Public i As Long
Public ws1 As Worksheet
Public MyCount As Integer
Public n As Long


Private Sub UserForm_Initialize()
  Calendar1.Value = Date
'  カレンダーの日付をセルにセットする
  Dim i As Integer

  Me.ListBox1.RowSource = Worksheets("member").Range("a2:b51").Address(external:=True)
  
  Me.TextBox1.Value = Date
  With Me.ComboBox1
   For i = 1 To 24
    .AddItem i
   Next
  End With

  With Me.ComboBox2
   For i = 0 To 45 Step 15
    .AddItem i
   Next
  End With
  With Me.ComboBox3
   For i = 1 To 24
    .AddItem i
   Next
  End With
  With Me.ComboBox4
   For i = 0 To 45 Step 15
    .AddItem i
   Next
  End With
  
End Sub

Private Sub Calendar1_Click()
  TextBox1.Value = Calendar1.Value
'  カレンダーの日付をセルにセットする
End Sub

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のいずれかを選択してください。"
End If

  With UserForm1.ListBox1
   
    MyCount = Me.ListBox1.ListCount - 1
    For n = 0 To MyCount
      If (Me.ListBox1.Selected(n) = True) Then
       
        With ListBox1
        If (.ListIndex = -1) Then
       
         Set ws1 = Worksheets("history")
         i = ws1.Range("B65536").End(xlUp).Row + 1
           If i < 5 Then
            i = 5
           End If
      
            With ActiveCell
             ws1.Cells(i, 2).Resize(, 3).Value = Array(.Offset(, -1).Value, .Value, .Offset(, 3).Value)
             ws1.Cells(i, 2).Offset(, 7).Value = .Offset(, 5).Value
             
              If Me.ComboBox1.Value <> "" And Me.ComboBox2.Value <> "" Then
              From_Str = Me.ComboBox1.Value & ":" & Me.ComboBox2.Value
              End If
              If Me.ComboBox3.Value <> "" And Me.ComboBox4.Value <> "" Then
              To_Str = Me.ComboBox3.Value & ":" & Me.ComboBox4.Value
              End If
             
              If From_Str <> "" And To_Str <> "" Then
              Hours = (CDate(To_Str) - CDate(From_Str)) * 24
              'Date
              ws1.Cells(i, 5).Value = Me.TextBox1.Value
              'Time(From)
              ws1.Cells(i, 6).Value = CDate(From_Str)
              'Time(To)
              ws1.Cells(i, 7).Value = CDate(To_Str)
              'Hours
              ws1.Cells(i, 8).Value = (CDate(To_Str) - CDate(From_Str)) * 24
              'Place
              ws1.Cells(i, 10).Value = Me.TextBox2.Value
              'Notes
              ws1.Cells(i, 11).Value = Me.TextBox3.Value
              '社員番号 (社員番号が左)
               ws1.Cells(i, 12).Value = Me.ListBox1.TextColumn = 2
              '名前 (名前が右)
               ws1.Cells(i, 13).Value = Me.ListBox1.TextColumn = 1


              End If
            End With
          End If
        End With
      End If
    Next n
  End With
  Unload UserForm1
End Sub

Private Sub UserForm_Deactivate()
  Unload UserForm1
End Sub

0 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 お礼

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