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を探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列をカウントするにはどう...
-
flockについて
-
perlをwindows環境でshift-jis...
-
Perl UTF8で出力
-
VB6.0でDB接続する際に切断時の...
-
MATLABでのwhile文の条件について
-
ExcelをCSV書き出す場合のシー...
-
C言語で特定の行を抽出する方法...
-
file_exists関数について
-
エクセルVBA コードが同じでも...
-
VBAでCSVファイルを途中行まで...
-
close()で例外が投げられる理由
-
requireで同じライブラリを複数...
-
batファイルでrenameができませ...
-
JavaでCSVファイルを高速に読む...
-
[Perl]Shift-JISのXMLを解析する場
-
Perl 指定行への書き込み
-
VBAでタブ区切りテキストの保存...
-
Windowsで複数のファイルを同じ...
-
テキストファイルの各行を配列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.open でのファイル指定方法
-
python renameについて
-
VBA テキストファイルを読み取...
-
Firefox で file:// で始まる U...
-
MATLABのm-fileについて
-
fgets で値が取得できない
-
ファイルの存在の有無を確かめ...
-
drtファイルはどうしたら開...
-
perl ファイルが開かない
-
PerlでのUseless use...
-
VBAコードを張り付け後のエクセ...
-
JSP URLに表示される拡張子 .jsp
-
csvファイルの横方向への改行に...
-
perlでCSV形式ファイルのア...
-
行を指定して削除する方法PERL
-
WindowsでPerlをする際,1行目の...
-
【C++/CLI】ファイルオープンに...
-
巨大なテキストの最終行を取得...
-
C言語で正の整数n を受け取って...
-
ファイル全てを .xlsm に変更し...
おすすめ情報