アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のようなマクロが出来るのか教えてください

エクセルファイルが30件あります
そのエクセルファイルの中に数値があるのですがその合計した値だけ
取り出して新規エクセルファイルに転記したいです

エクセルファイルの
C列に数値が羅列してありその合計値を一番下のセルにsum関数で計算して
コピーしたあとAO列まで貼り付け
このC~AOの数値をコピーして新規エクセルファイルに値で転記
30件その作業を繰り返して30行になるエクセルシートを作成しております

こちらをマクロを組んで出来るのでしょうか?

1つのフォルダに30件のファイルがありそれを毎月
手作業でエクセルシートに移しております

方法をご存知の方 ご教示お願い致します

質問者からの補足コメント

  • ご回答ありがとうございます

    ファイル名は○○20230101のように日付の部分が変わり○○は同じ文字になります

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/02/20 12:52

A 回答 (5件)

一例ですが、下記のようになると思います。


完成していませんが、やりたいことを具体的にコード化していけば完成します。


Sub Sample()
  Dim myPath As String, myBook As String

  myPath = "D:¥test¥"   '←実際のフォルダ名にあわせる
  myBook = Dir(myPath & "*.xlsx") '←2023年2月なら"*202302*.xlsx"にする

  Do Until myBook = ""
    Workbooks.Open myPath & myBook

    '++ C列の合計値算出
    '++ AO列まで貼り付け
    '++ C~AOの数値をコピー
    '++ 新規エクセルファイル作成(初回のみ)
    '++ 作成したエクセルファイルに移動(2回目以降)
    '++ 値で転記(貼付け)

    Workbooks(myBook).Close SaveChanges:=True  '保存して閉じる
    myBook = Dir
  Loop
End Sub


参考情報

◆フォルダ内のファイルを開いて処理を繰り返す
https://www.helpforest.com/excel/emv_sample/ex10 …

◆最終行を取得する
https://www.niji.or.jp/home/toru/notes/8.html
上記リンク先の <S3-1> 上方向に最終行を検索する(改)

◆コードに++以降に書いた処理
やりたいことをひとつずつ、ネット検索するか、エクセル上で『マクロの記録~終了』をすれば答えが見つかります。
    • good
    • 0

>エクセルファイルの


>C列に数値が羅列してありその合計値を一番下のセルにsum関数で計算して
>コピーしたあとAO列まで貼り付け
>このC~AOの数値をコピーして新規エクセルファイルに値で転記
>30件その作業を繰り返して30行になるエクセルシートを作成しております

よく判りません。シート名も不明です。
添付のような画像を提示していただけませんでしょうか。
そして、その画像をもとに、具体的に例を挙げて説明していただけませんでしょうか。
(提示の画像は、「C列に数値が羅列してありその合計値を一番下のセルにsum関数で計算して」から想像される画像です。)
「エクセルのマクロ作成について教えてくださ」の回答画像4
    • good
    • 0

こんにちは



>下記のようなマクロが出来るのか教えてください
不明点がいろいろあるのではっきりとはしませんが、多分、可能であろうと思います。
(処理内容が、論理的に説明できる内容であれば可能です)

>方法をご存知の方 ご教示お願い致します
まずは、
・指定ファイルを開いて、sum関数を設定し、結果をコピペする
ものを作成します。
・上記の「指定ファイル」を可変にするため変数化しておきます
・その上で、30件のファイルを順に指定して繰り返し処理をする
ようにすればよさそうです。

上記の内容を、ブックに登録して実行すればよろしいかと。
    • good
    • 0

んー。

毎月同じ作業が発生するという事ですね。

マクロで横着しようとするよりも、
キーボードショートカットを覚えると楽なんじゃないかな。
しかも応用が利くので、他でも流用できるテクニックになります。

・・・

キーボードショートカットの基本は
 Ctrlキー、
 Shiftキー、
 Altキー、
などを押しながら別のキーを押すという操作になります。
(この回答で Altキー は使いません)

コピーが
 Ctrl+C
貼り付けが
 Ctrl+V
ってのと同じです。
もちろん1つだけのキーを押すという操作もあります。
 例:F2キーはセル内での編集を有効/無効に切り替える。

■Ctrlキーを押しながら矢印キーを押すと、矢印の方向に次の入力セルまたは連続して入力されている最後のセルを選択します。
 C1セルを選択して
 Ctrl+↓ (場合によっては[Ctrl]キーを押したまま[↓]キーを数回押す)
 で選択するセルまでジャンプする。

■Shiftキーはセルの範囲を拡張するときに使います。
 C100セルを選択してF100セルまでの範囲を選択するには
 C100セルを選択。
 Shift+→ ([Shift]キーを押したまま[→]キーを3回押す)
 でC100セルからF100セルが選択できる。

■この二つのキーを同時に押して使う事もある。
 C100セルからAO100セルまで連続して値が入力されているなら、
 C100セルを選択後、
 Ctrl+Shift+→ (一回だけ)
(または Ctrl+Shift+End)
 これでC100セルからAO100セルまで一度に選択できます。

あとはコピーして貼り付けるだけ。
貼り付けるときも「Ctrl+↓」で下方向へ一気にジャンプできるので、あとは貼り付ければ楽。

このキーボードショートカットを覚えると、大量のデータを一瞬で選択できるのでマクロにすることを考えることは無くなると思います。


・・・余談・・・

ちなみに同じBookに複数のシートがあって、シート選択が面倒な時は
 Ctrl+PageUp
 Ctrl+PageDown
のショートカットキーを使うと便利。
シートを順にめくる感じでアクティブなシートを切り替えられるので、シートのタブが隠れるくらいシートがある場合でも楽にシートを切り替えられます。(シートが100もあったらそれはそれで大変かもしれないけどね)

Excelのキーボードショートカットはたくさんありますが、一度に覚えなくても便利そうなものをいくつか覚えるだけでOK。
試しにどんなものがあるのかを
 https://support.microsoft.com/ja-jp/office/excel …
で確かめてください。
表現が怪しく分かりにくい説明もありますが、まあ、何とかなるでしょう。
    • good
    • 0

フォルダにまとめてあるのは分かりました。


そのファイル名に命名規則があればいいけど
個々にテケトーなファイル名であるとすれば
読み込むフォルダを指定して
フォルダ内のエクセルファイルを探して
そのファイル名を元に目的の場所にある数値を読み込む
って感じだと思います。

ファイル名に規則がある場合は関数だけで持って来れるかも。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!