• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロの操作を記録するについて教えて下さい。)

エクセルのマクロで編集を自動化する方法

このQ&Aのポイント
  • エクセルのマクロを使えば、編集作業を自動化することができます。
  • マクロを記憶しておき、特定の操作を自動化することができます。
  • 自動化するためには、特定の操作のみを記憶する必要があります。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>毎日、CSVの新しいデータを取得します。 >その中で、列の並び変えや文字の太さ、ここは¥マークをつけたい >など編集したい事がある たとえば。 1.CSVを開きます。 2.マクロの記録を開始します。マクロの保存先は個人用マクロブックに。 3.列を並べ替えます。 4.文字の太さを変えます。 5.ここで記録終了します。 6.¥マークを追記します。 7.保存します。 そして 8.次のCSVを開き,記録したマクロを実行し,出来映えを確認します。 9.¥マークを追記します。 10.保存します。 と,こんな具合に「並べ替える」「特定の行や列に書式を施す」などの「操作」だけ抜き出して記録してみるのが,最初はよいかもしれません。 そう割り切ってみると,作業の手順を変えて 1.CSVを開きます。 2.¥マークを追記します。 3.マクロの記録を開始します。マクロの保存先は個人用マクロブックに。 4.列を並べ替えます。 5.文字の太さを変えます。 6.保存します。 7.ここで記録終了します。 のようでも良いかもしれませんね。 続きは次のステップ(ステージ)になります。 >今現に表示されているCSVの文字データも記憶されてしまいますよね?? 「入力」を行ったらそうなります。「¥を追記」については記録されたマクロを若干編集するなど,次第にいわゆる「手書き作成マクロ」の領分へと近づいていきます。 同様に関数を打ち込むのも入力なので,少し色々工夫しないと上手くありません。 「入力」のマクロは,ご質問にあるように「入力する内容」が都度違うことも勿論ありますが,それ以上に「一体どのセルにそれをするのか」を毎回間違えず正しい場所にやらせる(=プログラムする)所にも細工や工夫が必要です。 作成例: 行数不定のデータシートのF列の最下行のセルの一つ下の空きセルに,F2から一つ上までのSUMの式を入れたい。 10行までデータがあったら F11に =SUM(F2:F11) 15行までデータがあったら F16に =SUM(F2:F15) のように,(1)式を入れるセルと,(2)具体的な式の内容が,毎回変化する。 手順: とりあえずいま15行までデータが入っている。 1.名前ボックスにF65536を入れてEnterし,F65536セルにジャンプする 2.相対参照記録ボタンを入れる(2003までのExcelは記録終了ツールバー,2007は開発タブ) 3.Ctrl+↑ 4.↓ 5.=SUM($F$2:$F15) と式を入れる 6.相対参照記録ボタンを解除し,記録終了する 記録されたマクロ(例) Sub Macro1() ' ' Macro1 Macro ' '  Application.Goto Reference:="R65536C6"  Selection.End(xlUp).Select  ActiveCell.Offset(1, 0).Range("A1").Select  ActiveCell.FormulaR1C1 = "=SUM(R2C6:R[-1]C6)"  ActiveCell.Offset(1, 0).Range("A1").Select End Sub 改めて,今度はF10までしかデータの入っていないシートで,今のマクロを実行して首尾を見てみる。

sanisann
質問者

お礼

ご回答ありがとうございました。 その方法で、試してみます! 皆様、文章力のない私の質問にもかかわらず 要点をついたご回答感謝致します。 手順を詳しく書いて頂いたので、 とても理解しやすくこちらの方をベストアンサーに選ばせて頂きました。 皆様ありがとうございました!!

その他の回答 (2)

回答No.3

ピンポイントで >今現に表示されているCSVの文字データも記憶されてしまいますよね?? 記録させるような操作をしていると思われます。 100 とセルに入力されていたらダブルクリックなどセルの編集状態にして 頭に¥マークをつけているのでは? 対象のセル範囲を選択してセルの書式を設定します (通貨スタイルのボタンを押す操作)

sanisann
質問者

お礼

はい、そうしていました… やってみます! ありがとうございました!

  • layy
  • ベストアンサー率23% (292/1222)
回答No.2

>実際に、新しいCSVファイルを開いて、 >マクロの記憶→上記の編集操作→マクロ記憶終了→保存 新しいブックを開いてマクロの記録、 そこからCSVファイルを選んで・・・・、とするのは やってみましたか?。 >今現に表示されているCSVの文字データも記憶されてしまいますよね?? というのは データが表示されているシートとこのマクロが同じブック?になってしまうと いうことですか??。

sanisann
質問者

お礼

ご回答ありがとうございます。 新しいブックを開いてマクロの記録 というのは、白紙の状態で編集し、記憶していくということですか??

sanisann
質問者

補足

おっしゃっている意味が理解できました!! ありがとうございました!!

関連するQ&A