ここから本文です

どうしてもわからないので助けて下さい。 複数のシートにデータが(A~E列)入っていて ...

gre********さん

2014/5/2920:28:05

どうしてもわからないので助けて下さい。
複数のシートにデータが(A~E列)入っていて
ユーザーフォームにてオプションボタンで選択し、
下のリストボックスに表示させたいのですが、
うまくいきません。

下記の文なのですが・・・。
どうか助けてください。お願いします。

Private Sub UserForm_Initialize()
optionbutton4.Caption = "1.aデータ"
optionbutton5.Caption = "2.bデータ"
optionbutton6.Caption = "3.cデータ"
End Sub

Private Sub CommandButton1_Click()
Dim mysheetname As String
dim As Integer
Dim row As Long
For i = 4 To 6
If Me.contorols("optionbutton" & i).Value = True Then
End If
Next i
End Sub
Sub 項目選択()

With Worksheets("optionbutton" & i)
row = .Range("a" & Rows.Count).End(xlUp).row
End With
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
lastRow = .Cells(Rows.Count, 1).End(xlUp).row + 1
For j = 1 To 3
.Cells(lastRow, j).Value = ListBox1.List(i, j - 1)
Next j
ListBox1.Selected(i) = False
End If
Next i
With ListBox1
.Column Count = 5
.Column widths = "50;50;50;50;50"
.row Source = "optionbutton & ia2:e" & row
.Column heads = True
.MultiSelect = fmmultiselectmulti
.liststyle = fmliststyleoption
End With


End Sub

閲覧数:
73
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

why********さん

編集あり2014/5/3015:51:53

’’以下全行UserForm1のコード域へコピペしコメントマークを一回徐いてください
’’リストを選択した後のことがよくわからないのでリストを一瞬で作製するまで
’’書いてみました。いかがでしょう

'Option Explicit
'Option Base 1
'
'Private Sub CommandButton1_Click()
' 'あえてコマンドボタンを介するならこのサブを生かしてOptionButton4_Click()は使わない
' Dim i As Byte
' For i = 4 To 6
' If Controls("Optionbutton" & i) Then
' Call List作成(Controls("Optionbutton" & i).Caption)
' End If
' Next
'End Sub
'
'Private Sub CommandButton2_Click()
' Unload UserForm1
'End Sub
'
''オプションボタン4~6がFrame内に有ればいきなりイベントで処理できる
'Private Sub OptionButton4_Click()
' If OptionButton4 Then Call List作成(OptionButton4.Caption)
'End Sub
'Private Sub OptionButton5_Click()
' If OptionButton5 Then Call List作成(OptionButton5.Caption)
'End Sub
'Private Sub OptionButton6_Click()
' If OptionButton6 Then Call List作成(OptionButton6.Caption)
'End Sub
'Private Sub List作成(sh As String)
' Dim buf As Variant
' Dim r As Long
' With ThisWorkbook.Sheets(sh)
' 'detaのある範囲を2次元配列に確保
' ''buf = .UsedRange '見出し行含む
' buf = .Range("A$2:" & "$E$" & .UsedRange.Rows.Count)
' End With
' With Me
' .ListBox1.Clear
' For r = 1 To UBound(buf)
' .ListBox1.List = buf '二次元配列をListBox代入
' Next
' End With
'End Sub
'
'
'
'Private Sub UserForm_Initialize()
' Application.EnableEvents = False
' OptionButton4.Caption = "1.aデータ" 'シート名半角?
' OptionButton5.Caption = "2.bデータ"
' OptionButton6.Caption = "3.cデータ"
' With ListBox1
' .BoundColumn = 1
' .ColumnCount = 5
' .ColumnWidths = "5 cm;5 cm;5 cm;5 cm;5 cm" ’適当
' .ColumnHeads = True
' .MultiSelect = fmMultiSelectExtended
'
' End With
' Application.EnableEvents = True
'End Sub
’--シートが存在すれば 動作可能

質問した人からのコメント

2014/5/31 14:12:42

降参 ありがとうございます。
動きました。感謝、感謝、
できれば、もう二つほどお聞きしたいです。
チェックボックスをつけて、シートに貼り付ける方法を
御願いします。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる