http://www.geocities.jp/yukitsun001/Book1.xls
今、sheet1のE2,F2,G2に「ボタン」を押すたびに、以下のように表示されるように
します。
★C2に「2」が代入されているとき
1回ボタンを押すと、sheet1のE2,F2,G2に
東京大泉池袋2
と表示される
もう1回ボタンを押すと、sheet1のE2,F2,G2に
志村池袋2
と表示される
以下同様
★C2に「3」が代入されているとき
1回ボタンを押すと、sheet1のE2,F2,G2に
南板橋別館池袋3
と表示される
もう1回ボタンを押すと、sheet1のE2,F2,G2に
池袋池袋3
と表示される
以下同様
つまり、sheet1のE2,F2,G2には、sheet1のC2の数値に該当するsheet2のマトリックス
の行が次々と登場するようなマクロです。
簡単かもしれませんが、どうぞよろしくお願い致します。
Dim t As Integer
Dim k As String
Private Sub CommandButton1_Click()
If Cells(2, 5) <> ”” Then
’入力済み
If k <> Cells(2, 3) Then
’新規?
k = Cells(2, 3)
t = 1
End If
Else
k = Cells(2, 3)
t = 1
End If
t = t + 1
For a = t To 50
If Sheet2.Cells(a, 7) = k Then
t = a
Cells(2, 5) = Sheet2.Cells(a, 5)
Cells(2, 6) = Sheet2.Cells(a, 6)
Cells(2, 7) = Sheet2.Cells(a, 7)
Exit For
End If
Next a
End Sub
ボタンが クリックイベントに対応しなかったので、別に 貼り付けてみました。
こんなので どうでしょう?
このたびはとんちんかんな回答だったうえにポイントまでいただいて
しまってすみませんでした。
きちんと動くと思われる物ができていますので、
ここでご報告させていただきます。
まず、標準モジュールのModule1の中に次のプログラムを書いてください
Option Explicit
Public a As Integer
Sub ボタン1_Click()
Dim C2 As Integer
Dim moji1 As String
Dim moji2 As String
Dim suuji As String
If Cells(2, 3) = ”” Then
C2 = 999
Else
C2 = Cells(2, 3)
End If
a = a + 1
Do While Sheet2.Cells(a, 7) <> C2 And a <= 50
a = a + 1
Loop
If a > 50 Then
a = 1
End If
Cells(2, 5) = Sheet2.Cells(a, 5)
Cells(2, 6) = Sheet2.Cells(a, 6)
Cells(2, 7) = Sheet2.Cells(a, 7)
End Sub
次に、Microsoft Excel Objects のSheet1にこれを書いてください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 Then ’And Target.Rows = 2 Then
a = 1
End If
End Sub
最後に、Microsoft Excel Objects のThis workbookにこれを書いてください。
Private Sub Workbook_open()
a = 1
Worksheets(1).Activate
Cells(2, 3) = ””
Cells(2, 5) = ””
Cells(2, 6) = ””
Cells(2, 7) = ””
End Sub
ありがとうございました!
バッチリできました。
マクロはちょっと苦手なので、作っていただいたのをもとに
どういう仕組みになっているのか自分なりに解析してみたいと
思います。
本当にありがとうございました。