- ベストアンサー
エクセルマクロで一括表示
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>*発送先などは2段にわけてしまいました。 とのことですが、下記の様なことでいけるかと存じます。 概ね #2 さんがお書きの コード で問題はないかと存じますが、複数の セル範囲 を選択したときと、1行目を選択した時に エラー が生じるようですので、イイトコドリ してください。 当該セル範囲以外を選択した時には、「H2からJ2」を クリア するようにしました。 1)「送料などを記載したデーターベース」の シート の シートタブ を [右クリック] - [コードの表示(V)] を クリック します。 2)現れた【Microsoft Visual Basic - {ブック名} - [{シート名} (コード)]】の コードウィンドウ に 下記コード を コピペ します。 「Option Explicit」と書かれていれば、その下に コピペ すれば結構です。 3)[Alt] + [F4] で(2)の ウィンドウ を閉じます。 4)以上で、B・C・E・F列の「送料」が入力された1つの セル を クリック すると、 >H2からJ2に、発送先、サイズ、送料を表示さ れます。 '-- これ以下を コピペ してください。-------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myTbl Range("H2:J2").ClearContents If Target.Count <> 1 Or Target.Row < 3 Then Exit Sub If Target.Value = "" Then Exit Sub If Target.Column > 3 Then myTbl = 3 Select Case Target.Column Case 2, 3, 5, 6 Range("H2").Value = Cells(Target.Row, 1 + myTbl).Value Range("I2").Value = Cells(2, Target.Column).Value Range("J2").Value = Target.Value End Select End Sub
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 ↓のコードを操作したいSheet見出し上で右クリック → コードの表示 を選択し、 コピー&ペーストしてみてください。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim i, j As Long i = Target.Row j = Target.Column If Target.Value = "" Or j = 1 Or j = 4 Or i = 2 Then Exit Sub If Target.Column <= 3 Then Cells(2, 8) = Cells(i, 1) Else Cells(2, 8) = Cells(i, 4) End If With Cells(2, 8) .Offset(, 1) = Cells(2, j).Value .Offset(, 2) = Target.Value End With End Sub 以上、参考になればよいのですが・・・m(__)m
- nattocurry
- ベストアンサー率31% (587/1853)
シートモジュールに、 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Value <> "" And Target.Row >= 3 And Target.Column <= 6 And (Target.Column - 1) Mod 3 > 0 Then Range("H2").Value = Target.Offset(, ((Target.Column - 1) Mod 3) * -1).Value Range("I2").Value = Target.EntireColumn.Cells(2).Value Range("J2").Value = Target.Value End If End Sub
- DOUGLAS_
- ベストアンサー率74% (397/534)
>例えば、送料をクリックしたときに、マクロか関数で、 >H2からJ2に、発送先、サイズ、送料を表示させたい お尋ねの意味合いが判然としませんが。。。 例えば、セル C5 を クリックしたときに、 「H2からJ2」に、それぞれ、「神奈川」・「80」・「\800」 と表示されるようにしたい という意味でしょうか?
補足
はい!そうです。よろしくお願いいたします。
補足
できました!回答くださったみなさまありがとうございます! さっそく使っています!