• ベストアンサー

マクロで簡単に表示させたいのですが・・・

マクロで、簡単に表示させたいのですが、・・・ まず、条件表がありまして、その条件表に従って、それぞれ「あ」「い」「う」「え」を選定していきます。今は一行ずつ見ながら、記入しています。 マクロで、一発に表示されるにはどのようにすれば良いのでしょうか。 よろしくお願いします。 (そのエクセルを添付します)

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

参考に Sub Test()   Dim i As Long   Dim c As Range   For i = 13 To Cells(Rows.Count, "B").End(xlUp).Row     For Each c In Range("D3:G8")       If InStr(c.Value, Cells(i, "D").Value) Then         If Cells(c.Row, "B").Value = Cells(i, "B").Value And _           Cells(c.Row, "C").Value = Cells(i, "C").Value Then           Cells(i, "E").Value = Cells(2, c.Column).Value           Exit For         End If       End If     Next   Next End Sub

0pus0ne
質問者

お礼

早速、回答して頂き、ありがとうございます。 行ってみたのですが、3つしか表示しませんでした。 その3つは正しく表示しています。 あと、どうすれば良いのでしょうか? よろしくお願いします。

すると、全ての回答が全文表示されます。

その他の回答 (4)

noname#192382
noname#192382
回答No.5

エクセル97で考えてみました。長くて恥ずかしいですが、一応お見せします。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2010/3/10 ユーザー名 : ' Dim su As Integer, jyo As Integer, al As String, mygyo As Integer For mygyo = 2 To 11 su = Cells(mygyo, 1) al = Cells(mygyo, 2) jyo = Cells(mygyo, 3) If su = 1 And al = "a" Then ' MsgBox ("1""a") Select Case jyo Case 1 Cells(mygyo, 4) = "あ" Case 2 Cells(mygyo, 4) = "い" Case 3 Cells(mygyo, 4) = "う" Case 4 Cells(mygyo, 4) = "え" Case Else End Select 'Else 'Else 'End If 'End If 'If su = 1 Then ElseIf su = 1 And al = "b" Then ' MsgBox ("1b") Select Case jyo Case 1 Cells(mygyo, 4) = "あ" Case 2 Cells(mygyo, 4) = "い" Case 3 Cells(mygyo, 4) = "う" Case 4 Cells(mygyo, 4) = "あ" Case Else End Select 'End If 'End If ElseIf su = 1 And al = "c" Then 'MsgBox ("1c") Select Case jyo Case 1 Cells(mygyo, 4) = "い" Case 2 Cells(mygyo, 4) = "い" Case 3 Cells(mygyo, 4) = "う" Case 4 Cells(mygyo, 4) = "え" Case Else End Select 'End If 'End If ElseIf su = 2 And al = "a" Then 'MsgBox ("2""a") Select Case jyo Case 1 Cells(mygyo, 4) = "あ" Case 2 Cells(mygyo, 4) = "あ" Case 3 Cells(mygyo, 4) = "え" Case 4 Cells(mygyo, 4) = "え" Case Else End Select 'Else 'Else 'End If 'End If ElseIf su = 2 And al = "b" Then 'MsgBox ("2b") Select Case jyo Case 1 Cells(mygyo, 4) = "あ" Case 2 Cells(mygyo, 4) = "い" Case 3 Cells(mygyo, 4) = "う" Case 4 Cells(mygyo, 4) = "あ" Case Else End Select 'End If 'End If ElseIf su = 2 And al = "c" Then 'MsgBox ("2c ") Select Case jyo Case 1 Cells(mygyo, 4) = "あ" Case 2 Cells(mygyo, 4) = "あ" Case 3 Cells(mygyo, 4) = "あ" Case 4 Cells(mygyo, 4) = "あ" Case Else End Select 'End If 'End If End If Next mygyo ' End Sub

すると、全ての回答が全文表示されます。
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

表示データ数が多いと動きが重くなりますが関数で表示する例です(必要に応じて、計算処理後、D2セル以外の数式は値に変換してください)。 条件表の数字などのデータがSheet1のA2セル以下にある場合」、表示したいシートのD2セルに以下の式を入力し、下方向にオートフィルしてください。 =IF(COUNTA(A2:C2)<3,"",INDEX(Sheet1!$1:$1,MAX(INDEX((Sheet1!$A$2:$A$100=A2)*(Sheet1!$B$2:$B$100=B2)*ISNUMBER(FIND(C2,Sheet1!$C$2:$F$100))*COLUMN(C1:F1),)))&"")

すると、全ての回答が全文表示されます。
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

画像が添付できなかったのでレイアウトを示します   B    C     D  E  F  G       1 2 数字 アイルァベット  あ  い  う  え 3  1   A 5  1   C 6  2   A 8  2   C 12 数字 アイルァベット  条件 13  1  A 14  1  B 15  1  C 16  1 17  2

すると、全ての回答が全文表示されます。
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

まず、条件表を作りなおしましょう。 どういう組み合わせの時に何になるかがはっきり判る表にします。 例 1A(1) あ 1A(2) い 1A(3) う 1A(4) え  : : あとは、マクロでも関数(Vlookup)でも良いです。簡単に求まるでしょう。

すると、全ての回答が全文表示されます。

関連するQ&A