エクセル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以降も同作業できるようにお願いします