• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル マクロを利用して繰り返して入力する方法)

エクセル マクロを利用して繰り返して入力する方法

このQ&Aのポイント
  • エクセルでマクロを使って、繰り返し入力する方法について知りたいです。具体的には、A1B1C1D1E1F1セルに入力し、F1入力後にA2B2C2D2E2F2と下方向に800行程度まで繰り返し入力したいです。また、B列だけはスキップしたいです。
  • エクセルのマクロを使って、特定のセルを繰り返し入力する方法について教えてください。具体的には、A1B1C1D1E1F1セルに入力して、F1を入力した後にA2B2C2D2E2F2と下方向に800行程度まで繰り返し入力したいです。ただし、B列だけはスキップしたいです。
  • エクセルのマクロを使って、A1B1C1D1E1F1セルに入力し、下方向に繰り返し入力する方法を教えてください。具体的には、F1を入力した後にA2B2C2D2E2F2と下方向に800行程度まで繰り返し入力したいです。ただし、B列だけはスキップしたいです。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>別々のシートではうまくいくのですが同じシ-ト内ではエラ-になってしまいます エラーになる場合は、エラーメッセージを書いた方が良いですよ。 おそらくシートモジュールに同一の名前のプロシージャが存在するのでエラーになるのでだと思います。 コードを一つに纏める必用があります。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 2 Then Target.Offset(, 1).Select ElseIf Target.Column = 7 Then Cells(Target.Row + 1, 1).Select End If End Sub

oooyasima
質問者

お礼

hana-hana3様 早々のご回答有難うございました。 うまく作動する事ができるようになりました。 また応用でE列もスキップさせようと下記の様に作りましたが、 B列はスキップするのですが、その後B1にも行かず1行目をずっと進んでしまいます。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 2 Then Target.Offset(, 1).Select If Target.Column = 5 Then Target.Offset(, 1).Select ElseIf Target.Column = 7 Then Cells(Target.Row + 1, 1).Select End If End If End Sub ご存じでしたら教えて頂けないでしょうか

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

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

>その後B1にも行かず1行目をずっと進んでしまいます。 IF文の使い方を理解されていないためです。 ご自身でIF文の流れを追ってみて下さい。 Target.Column = 2 で最初のIF文の中に飛び込みますが、中のIF文が実行される条件には達していないので、中のIF文が実行されません。 If Target.Column = 2 Then Target.Offset(, 1).Select ElseIf Target.Column = 5 Then Target.Offset(, 1).Select ElseIf Target.Column = 7 Then Cells(Target.Row + 1, 1).Select End If とするか、 If Target.Column = 2 or Target.Column = 5 Then Target.Offset(, 1).Select ElseIf Target.Column = 7 Then Cells(Target.Row + 1, 1).Select End If として下さい。

oooyasima
質問者

お礼

hana-hana3様 早々のご回答有難うございます。 IFをElseIfに変えて応用ができるようになりました。 今回は本当に有難うございました。

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

関連するQ&A