
Sub SumValues()
Dim file1 As Workbook
Dim file2 As Workbook
Dim file3 As Workbook
Set file1 = Workbooks.Open("file1.xlsx")
Set file2 = Workbooks.Open("file2.xlsx")
Set file3 = Workbooks.Open("file3.xlsx")
file3.Sheets(1).Range("A2").Value = file1.Sheets(1).Range("A2").Value + file2.Sheets(1).Range("A2").Value
file3.Sheets(1).Range("B2").Value = file1.Sheets(1).Range("B2").Value + file2.Sheets(1).Range("B2").Value
file3.Sheets(1).Range("C2").Value = file1.Sheets(1).Range("C2").Value + file2.Sheets(1).Range("C2").Value
file1.Close
file2.Close
file3.Close
End Sub
上記コード内容でfile1Sheet1a2=10、b2=20、c2=30とfile2Sheet1a2=40、b2=50、c2=60というファイルが二つあります。この二つのファイルのa2、b2、c2の値を合計した値をfile3のa2、b2、c2に合計値を表記するVBAコードを作成していただいたものです。
Excel のブックを開きます。
1.[Alt]+[F11] キーを押して VBA エディタを開きます。
2.左側の「Project Explorer」ウィンドウにある「Microsoft Excel Objects」を右クリックして、[Module] を選択します。
3.新しいモジュールが作成されたら、その中に上記の VBA コードをコピー&ペーストします。
4.[Alt]+[Q] キーを押して VBA エディタを終了します。
5.各セルにデータを入力した後、マクロを実行するために、[Alt]+[F8] キーを押します。
6.Macros」ダイアログボックスから「SumCells」マクロを選択し、[Run] を選択します。
7.合計値が表示されたら、file3 シートに結果を保存します。
上記 5.まで行えば簡単に行くのかと思ったのですが、全然だめでして、6.,7.の内容カ所が出てこないように思っており、そこがうまくいってないからなのでしょうか?
どうか張り付けた後のエクセルの手続き順序を教えてください。
コード自体にも問題があるのでしょうか
コードはfile3に張り付けました
VBAというフォルダーにfile1,file2,file3をまとめて入れております。このように一つのフォルダーにファイルを納めないといけないですか?
ファイル形式はxlsm
エクセルは365を使用しております。
コードに関しては「chatGPT」よりの回答をそのままコピー貼り付けです。
どうか基本がまったっくわかっていないので、ご迷惑かけますが何卒お教えください。お助けください。
No.1ベストアンサー
- 回答日時:
コードの基本はできてそうですがやっぱり完璧ではないですね...でもaiでここまでできたなら上出来です。
チョー覚えにくそうなショートカットだらけの張り付けだが一応間違えてはいないその方法もaiに聞いたのでしょうか。
技術の進歩に感動しますな。
このプログラムを日本語で言うと、
ブックを次の名前で”file1”、”file2”、”file3”を開く(パスを指定していないのでここで多分エラー)
A2、B2、B3の合計をfile3ブックに入れる(ここは改行がなければ完璧だがあるのでエラー)
全てのブックを閉じる(保存しないで閉じるので結局何もしてないことになる。まあ保存するか聞かれるけど。)
つまり全てにおいて惜しいプログラムです。
正直質問の様子だとファイルパスを入れてとか保存するプログラムを入れてとか直し方を言っても出来ないと思うので詳しい人と直していったほうがいいと思います。
そしてこのプログラム名はSumValuesなのでSumCellsマクロはなくて当然です。SumValuesを選んでください。上でも書きましたがエラーだらけで実行できないと思いますが。。。
張り付けもfile3に行うとopenした時にリセットされて多分プログラム停止すると思います。このプログラムだともうひとつの全く関係ないブックで実行する必要があります。
色々言いましたがまとめると詳しい人に聞いてください(全く役に立たなくてすみません、)
どうしても周りにわかる人がいないなら........詳しい回答が来るのを願っております笑
No.2
- 回答日時:
こんばんは
いろいろありそうですが・・
>6.,7.の内容カ所が出てこないように思っており、
>そこがうまくいってないからなのでしょうか?
文章に曖昧なところがあるので、実際の状況が正確にはわかりかねますが・・
>5.各セルにデータを入力した後、マクロを実行するために、[Alt]+[F8] キーを押します。
[F8] キーはエディタ画面での「ステップイン」コマンドです。
シートから実行する場合は、リボンの「開発」-「マクロ」からダイアログを開いてください。
(あるいは、Alt L P M キーを押し下げ)
>6.Macros」ダイアログボックスから「SumCells」
>マクロを選択し、[Run] を選択します。
ご提示のプロシージャは「SumValues」なので、それを実行したければ「SumValues」を選択する必要があります。
>コード自体にも問題があるのでしょうか
>コードはfile3に張り付けました
コードがfile3にあるのなら、実行する時にはfile3が開いた状態でしょうから、VBAからfile3を開く必要はないと思われます。
一番の問題点は、各ブック名を指定しただけでブック開こうとしていることでしょう。
(大抵の場合は、ご提示のままではエラーになると想像します)
ブック名だけでなく、ファイルのフルパスで指定するのが確実です。
>このように一つのフォルダーにファイルを納めないといけないですか?
フルパスで指定すれば、同じフォルダーでなくてもかまいません。
>ファイル形式はxlsm
マクロを有効にするブックの拡張子はxlsmなので問題ないのですが、ご提示のコードでは3つのブックの拡張子はxlsxとなっており、更には、
>コードはfile3に張り付けました
とも矛盾しています。
拡張子が違っていると「ファイルが見つからない」のでエラーが発生します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSP URLに表示される拡張子 .jsp
-
drtファイルはどうしたら開...
-
python renameについて
-
配列データをファイルに読み込...
-
perl ファイルが開かない
-
WMVファイルのファイルフォーマ...
-
Javaのフォームの入力欄に文字...
-
ファイル検索の条件について
-
Active Perlでsleepを使う。
-
「print関数は出力先のファイル...
-
VBSの処理について
-
ファイル内の日付から1週間前...
-
コンソール出力をテキストに出...
-
エクセルVBA コードが同じでも...
-
ファイル操作
-
初心者です。perlを使用し...
-
perlのローカルプログラムでデ...
-
単純なお問い合わせフォーム
-
Apache2.2環境でPerlで参照した...
-
alarmのタイムアウト後の処理で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.open でのファイル指定方法
-
python renameについて
-
ファイル全てを .xlsm に変更し...
-
drtファイルはどうしたら開...
-
VBAコードを張り付け後のエクセ...
-
PerlでのUseless use...
-
Firefox で file:// で始まる U...
-
fgets で値が取得できない
-
VBA テキストファイルを読み取...
-
csvファイルの横方向への改行に...
-
perl ファイルが開かない
-
WindowsでPerlをする際,1行目の...
-
AutoNts
-
MATLABのm-fileについて
-
cgiでサーバーにファイルを追加...
-
Perlでのパーミッション変更の仕方
-
【C++/CLI】ファイルオープンに...
-
重複ファイル名ある場合ファイ...
-
fopen64について
-
複数ファイルを1つにするシェ...
おすすめ情報