• ベストアンサー

Excel マクロで連番作成方法を教えてください。

OS:Windwos2000 Excel2000 以下の内容をマクロで実施する方法を教えてください。 過去の質問を確認しましたが、 私の希望する内容とは分部とはことなるため、 質問させていただきました。 A列に入力されているデータの最終行まで 各B列、C列、D列にオートフィル機能を使って数式コピーを行いたい。 ※A列のデータ数は固定ではなく増減します。 ※B列、C列、D列の先頭行には数式を入力済みです。 ※オートフィル機能でなくても問題ありません。 よろしくお願いいします。 A列     B列      C列     D列      E列 データ   =LEFT(A1,4)  -   =MID(A1,8,14)  =B1&C1&D1 データ   =LEFT(A2,4)  -   =MID(A2,8,14)  =B2&C2&D2 データ   =LEFT(A3,4)  -   =MID(A3,8,14)  =B3&C3&D3 データ   =LEFT(A4,4)  -   =MID(A4,8,14)  =B4&C4&D4 データ   =LEFT(A5,4)  -   =MID(A5,8,14)  =B5&C5&D5 ・

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

  • ベストアンサー
  • laputart
  • ベストアンサー率34% (288/843)
回答No.1

こんなマクロを使って実行します。 最終行番号を入力します。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2004/3/17 ユーザー名 : takano On Error GoTo ert: Dim n As Long n = InputBox("コピーする最終行番号を入力") z = "B1:E" & CStr(n) Range("B1:E1").Select Selection.AutoFill Destination:=Range("B1:E39"), Type:=xlFillDefault Exit Sub ert: MsgBox ("数字が不正です。") End Sub

smi
質問者

補足

早速のご回答ありがとうございます。 2点、追加質問があります。 1.最終行を自動的に認識後、数式のコピーを実行できる方法はありませんか? 2.マクロ実行後、最終行を100と入力し実行しましたが、   39行目までしか入力されませんでした。 教えていただいたマクロの内容で変更が必要な分部がありましたら、教えてください。 よろしくお願いいたします。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

補足の2ですが Selection.AutoFill Destination:=("B1:E39"), Type:=xlFillDefault の "B1:E39"をzに置き換えが必要です。

smi
質問者

お礼

ありがとうございました。 おかげ様で希望どおりのマクロを作成することができました。

関連するQ&A