エクセルVBAについて教えてください
エクセル2003です。
Sheet1
A B C D
1 種類1 商品1 商品A 商品あ
2 種類2 商品2 商品B 商品い
3 種類3 商品3 商品C 商品う
4 商品4 商品D 商品え
5 商品5 商品E 商品お
Sheet2
AB CDF G H I
1 種類表示 商品表示
2 種類表示 商品表示
3 種類表示 商品表示
4 種類表示 商品表示
5 種類表示 商品表示
*Sheet2のG1をダブルクリックでSheet1のA列をユーザーフォームのコンボボックス1にてセルに表示
の上挿入
*コンボ1の選択によりコンボ2(Sheet2のI1をダブルクリック)の表示を変更する
*コンボ1 種類1 → コンボ2 Sheet1のB列を表示の上セルに挿入
*コンボ1 種類2 → コンボ2 Sheet1のC列を表示の上セルに挿入
*コンボ1 種類3 → コンボ2 Sheet1のD列を表示の上セルに挿入
までは、出来きたのですが、Sheet2の2行目以降も同作業をしたいのですが、、、
Offset等を使用するのでしょうか?
あまりわかっていないので詳しく教えて頂ければ幸いです
コード
Sheet2のコード
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Target
If .Address = "$F$1" Then
UserForm1.Show
ElseIf .Address = "$H$1" Then
Dim k As Long, myFlg As Boolean, myArray
myArray = Array("種類1", "種類2", "種類3")
myFlg = False
For k = 0 To UBound(myArray)
If Range("F1") = myArray(k) Then
myFlg = True
End If
Next k
If myFlg = False Or Range("F1") = "" Then
MsgBox "種類を選択して", vbOKOnly
Range("F1").Select
Exit Sub
End If
UserForm2.Show
End If
End With
End Sub
ユーザーフォーム1のコード
Private Sub UserForm_Initialize()
ComboBox1.RowSource = "sHEET1!A1:A3"
End Sub
コンボ1のコード
Private Sub ComboBox1_Change()
Worksheets("Sheet2").Range("F1") = UserForm1.ComboBox1.Text
Worksheets("Sheet2").Range("H1") = ""
Unload Me
End Sub
ユーザーフォーム2のコード
Private Sub UserForm_Initialize()
With UserForm2.ComboBox1
Select Case Worksheets("Sheet2").Range("F1")
Case "種類1"
.RowSource = "Sheet1!B1:B5"
Case "種類2"
.RowSource = "Sheet1!C1:C5"
Case "種類3"
.RowSource = "Sheet1!D2:D5"
End Select
End With
End Sub
コンボ2のコード
Private Sub ComboBox1_Change()
Worksheets("Sheet2").Range("H1") = UserForm2.ComboBox1.Text
Unload Me
End Sub
このコードをいじくってSheet2以降も同作業できるようにお願いします
補足
それが、、 大変恐縮なのですが、私もどうやってメーカーの公式ホームページにいけばいいのかも分からずで、よくわからないままにどうにかこうにか色々な検索を試していると6.5%か14%らしいというところまでは分かりました。。