
お世話になります。
先ほどまでCSVファイルではVBAが使えないと思って一旦CSVファイルに出力してから、専用のエクセルシートにコピペしてマクロボタンで処理していたのですが、先ほどふとしたきっかけでCSVファイルでもエクセルのマクロが動くことが分かりました。
CSVとエクセルを勘違いしてVBAを編集していて気づきました。
しかし、VBAを動かすために専用のエクセルファイルをいちいち開くのではシート全体をコピペするのとあまり手間が変わらないので、CSVファイルから直接エクセルに仕込まれたVBAを動かう方法は無いのでしょうか?
大した手間ではないのですが毎日の作業なので一々のコピペは出来れば省略したいです。
No.3ベストアンサー
- 回答日時:
No1です。
>出来れば「個人用マクロブック」(PERSONAL.XLSB)のVBAにショートカット
>キーを割り付ける方法をご教示いただけるとありがたいのですが。
普通にエクセルを立ち上げて、リボンの「開発」-「マクロ」から対象のマクロを選択し、
「オプション」でショートカットキーを割り当てることができます。
それではダメってことでしょうか?
早々のご回答重ね重ねありがとうございます。
上手く行きました!!
これまでショートカットの割付はマクロの記録で最初に設定する事しかやったことが無かったので分かりませんでした。
マクロはシートに実行ボタンを配置してクリックで実行がほとんどでした。
マクロの記録で出来る簡単な処理は最初にショートカットキーを設定していました。
これまた非常に参考になるご回答で感謝!!
No.2
- 回答日時:
CSVファイルに直接VBAを仕込むことはできませんが、CSVファイルを開くたびに専用のエクセルファイルを開く手間を省く方法があります。
以下の手順で、CSVファイルをダブルクリックしたときに、専用のエクセルファイルが自動的に開いてVBAが動くように設定できます。
専用のエクセルファイルを開き、VBAエディタを開きます。
VBAエディタ内で、エクセルのオブジェクトである"Workbook"を選択します。
"Workbook"のイベントを選択し、"Open"イベントをダブルクリックします。
"Open"イベントの中に、以下のコードを挿入します。
Private Sub Workbook_Open()
'CSVファイルを読み込む処理
End Sub
コード内に、CSVファイルを開いてVBAを実行する処理を追加します。
保存して、専用のエクセルファイルを閉じます。
これで、CSVファイルをダブルクリックすると、専用のエクセルファイルが開いて、VBAが自動的に実行されます。
No.1
- 回答日時:
こんにちは
>CSVファイルでもエクセルのマクロが動くことが分かりました。
少し認識が違っているようです。
CSVファイル自体はテキストファイルなので、直接マクロを含みませんし、マクロも動作しません。
(テキストエディタでマクロを使えるもので開けば、エディタのマクロは使えますが・・)
多分、「CSVファイルをエクセルで開いている」と想像しますので、あくまでもVBAはエクセル上で動いていることになります。
まぁ、CSVファイルをエクセルと関連付けていて、ダブルクリックすればエクセルで開くようになっていれば、「同じもの」と思ってしまうのかも知れませんけれど・・
>CSVファイルから直接エクセルに仕込まれたVBAを動かう方法は無いのでしょうか?
具体的な内容が不明ですが、エクセルで開くことを前提としてよいのなら、いわゆる「個人用マクロブック」(PERSONAL.XLSB)にマクロを登録しておけば、そのマクロは、開いているエクセルからならいつでも利用可能になります。
https://allabout.co.jp/gm/gc/297809/
その他の方法としては、アドインを作成しておく方法もあるかも知れません。
https://excel-ubara.com/excelvba4/EXCEL297.html
あるいは、エクセルではなく、VBやWSHなどで直接実行する方法等も考えられるかも知れません。
早々のご回答ありがとうございます。
ハイ、>「CSVファイルをエクセルで開いている」と思います。
と言うことで、「個人用マクロブック」(PERSONAL.XLSB)の標準モジュールに専用Bookのコードを転記してそのマクロを実行すると期待通りに動くことを確認しました。
そこで欲が出て、今まで通りショートカットキーCtrl+Aキーで動くようにしようと下記の記事を見つけてやってみましたが、詳細不明で試行して見ましたが全く動かず。
追加の要求になってしまって恐縮ですが、出来れば「個人用マクロブック」(PERSONAL.XLSB)のVBAにショートカットキーを割り付ける方法をご教示いただけるとありがたいのですが。
下記の3行のコードはどこに記載するのでしょう?
標準モジュールとThis Bookに転記してみたのですがダメでした。
==================================
■OnKeyメソッドで指定したキーにマクロを設定する
ApplicationオブジェクトのOnKeyメソッドは、指定したキーにプロシージャを登録できます。
MacroOptionsメソッドでは[Ctrl]キーか、[Ctrl]+[Shift]キーにしかプロシージャを登録できませんでしたが、OnKeyメソッドは、ほかにも[Alt]キーやファンクションキーなどにも設定が可能です。
[Ctrl]+[J]キーにSample1を設定するには次のように記述します。
Sub Sample4()
Application.OnKey "^j", "Sample1"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) VBAで出力したCSVファイルの先頭にカンマを挿入したい 5 2022/10/14 12:20
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) エクセルVBA 既存エクセルを開きその中のシートとしてCSVファイルを開く 3 2023/05/31 13:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでファイルを閉じても...
-
エクセルの添付ファイルに記入...
-
CSVファイルでVBAを動かす方法
-
エクセルを閉じた時、ノッペラ...
-
エクセルを開いたときのシート
-
エクセルで複数のブックで「元...
-
メモ帳で開く設定を元に戻したい。
-
Windows11で画面下の帯の部分で...
-
Lotus 1-2-3のファイルをExcel...
-
エクセルVBAでアクセスファイル...
-
エクセルでの入力後の動きが遅い
-
非表示モジュール内でコンパイ...
-
2つのエクセルファイルをデュ...
-
ACCESS エクスポートについて
-
エクセル2007でカスタマイズし...
-
エクセルの中にエクセルを添付...
-
Google Todoリスト
-
CSVファイルをカンマ区切りのテ...
-
HTMLの表→Excel変換
-
400KBのエクセルは重いの?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでファイルを閉じても...
-
Windows11で画面下の帯の部分で...
-
Lotus 1-2-3のファイルをExcel...
-
メモ帳で開く設定を元に戻したい。
-
エクセルで複数のブックで「元...
-
エクセルの添付ファイルに記入...
-
エクセルを閉じた時、ノッペラ...
-
CSVファイルでVBAを動かす方法
-
400KBのエクセルは重いの?
-
エクセルを開いたときのシート
-
共有しているEXCELシートのアク...
-
CSVファイル
-
エクセルの塗りつぶしの色が勝...
-
エクセルVBAでアクセスファイル...
-
開くと警告の出るExcelファイル...
-
Google Todoリスト
-
エクセルにクリックすると指定...
-
ExcelファイルがDoxillionに突...
-
メモ帳(拡張子log)の数字デー...
-
エクセルの中にエクセルを添付...
おすすめ情報
BSで締め切りたいのですが、何故か「まだBSは選べません」とのコメントがあるので解除され次第BSで締め切りますのでご了承ください。