ขนาดวิดีโอ: 1280 X 720853 X 480640 X 360
แสดงแผงควบคุมโปรแกรมเล่น
เล่นอัตโนมัติ
เล่นใหม่
たいへん勉強になっております。ありがとうございます。
先生VBAも楽々やっていていすごいです!参考にさせていただきます!
質問です。book1,book2があったとしますbook1,book2は、両方とも開いた状態ですbook1で以下のマクロを作成しますbook2を閉じるbook2を開くbook2で以下のマクロを作成しますbook1のマクロを実行するbook2にセル上にフォームでボタンを作成します。ボタンにbook2のマクロを設定します。ボタンを実行したときに以下の挙動になると考えてました。実行してるファイル自身が再起動という形になると思って作ったのですが、実行がbook2が閉じた時点で終了してしまいます。解決方法は、ありますか?
いつも拝見しています質問しますワークブック1にかいたVBAを、新規で作成さしたワークブック2で動かすことはできますか?えーっ、つまり、VBAプロバティを他のブックに再利用は、できますか? 説明下手でスミマセン。
基本的に、ブックを2つ同時に開いていればブック2を指定したVBAコードをブック1に作って実行できます。Workbooks(”Book2").Sheets(1).Range("A1") = "Hello"上記コードをBook1のVBAプロジェクトに書いて実行すればBook2のシート1のA1にHelloが入ります。とにかくどのオブジェクトを指しているのか?をコンピューターにわからせないといけないのです。Book2のVBAプロジェクトにコードを書くなら、Range("A1") = "Hello"だけでいいんですけど、あえてBook1のプロジェクトにコードを書くならWorkbooks(”Book2").Sheets(1).をつけてBook2を指定する必要があるというわけです。と言う意味では完全に再利用ということはできないので、少し工夫が必要だと思います。たとえば、Workbooks(”Book2")のBOOK2の文字列をInputBox関数で手入力できる形にするとかですね。 Dim book As String book = InputBox("ブックを指定してね ") Workbooks(book).Sheets(1).Range("A1") = "Hell"そう言うことじゃない!!って場合はもしかしてアドインみたいに使いたいという質問ですかね・・・?上記の解説でやりたいことが違うのであれば、アドインの動画を見てみてください。th-cam.com/video/9ABIfi2znq0/w-d-xo.html簡単に言うと、1つのVBAプロジェクトで作ったプログラムを別のブックでも使える仕組みです。
とてもわかり易い解説ありがとうございます。勉强になります。
こちらのファイルを開くは、よく使います。ただし、きちんと理解していなかったので、このように説明頂き嬉しいです!
お役に立ててよかったです!
ファイルが同じフォルダ内にあるファイルを開くときは、フォルダまでのパスがいらないということですが、フルパスを入力しなければ同一フォルダ内にあっても開きません。何が原因でしょうか?自分で調べれば良いのですが、調べ方が下手なのでご教示いただければ幸いです。バージョンがExcel2013を使用しているからでしょうか?よろしくお願い致します。
カレントディレクトリが変わってしまったんだと思います。ChDir ActiveWorkbook.Pathを最初の方に書いておけばOKです。まぁ本来これ書いたほうがそういったエラーが出ないので丁寧だと思います。
返答ありがとうございます。ChDrive関数 の方を書いたら解消されました。この辺もう少し詳しく知りたいのですが、解説してもらえたりしますか?
カレントディレクトリ(フォルダ)、カレントドライブとは現在操作対象になっているフォルダ、ドライブのことを指します。unixコマンドを勉強するとわかるかと思います。基本的には保存したマクロブックの場所がカレントドライブ・ディレクトリになるはずなんですが、何らかの操作でそれが変わったんだと思います。なので上記のようにChDirやChDriveを使うか基本的にフルパス指定にするのが丁寧です。
丁寧なご返答本当にありがとうございました。unixコマンドについて少し勉強してみたいと思います。何らかの操作が原因なんですね、何かやらかしてるんでしょうね(苦笑)。
activeworbookは、オブジェクトではなくプロパティなのですね?
Workbookオブジェクトを返すプロパティです。
分かりやすい説明です。ありがとう御座います。
素晴らしいです。ありがとうございます。GetOpenFilenameメソッドの引数、拡張子(ワイルドカード)の書き方がようやく理解できました。機会がありましたら、正規表現を易しく教えて頂けるような動画を作って頂けるとありがたいです。
ショートカット的に開けるのですね。処置する人間が複数居るとかで複数端末で使いたい時は良いかも。ーーー以下、長文です。ーーーあっ、PDF名を同じにしてデータ更新している者があるのでそれを開くように出来るかも。PDFで印刷時の確認でも、備品が減ってきたら発注出来るようにショートカットを設定するでも使えるのか。
いつもこちらの動画で勉強させて頂いております。If book "False" ThenのFalsehをダブルクォーテーションでくくる理由をご教授いただけないでしょうか。
String型なのでわかりやすく文字列を表す""を付けています。実際はつけなくても動きますが。
たいへん勉強になっております。ありがとうございます。
先生VBAも楽々やっていていすごいです!
参考にさせていただきます!
質問です。
book1,book2があったとします
book1,book2は、両方とも開いた状態です
book1で以下のマクロを作成します
book2を閉じる
book2を開く
book2で以下のマクロを作成します
book1のマクロを実行する
book2にセル上にフォームでボタンを作成します。ボタンにbook2のマクロを設定します。ボタンを実行したときに以下の挙動になると考えてました。
実行してるファイル自身が再起動という形になると思って作ったのですが、実行がbook2が閉じた時点で終了してしまいます。解決方法は、ありますか?
いつも拝見しています
質問します
ワークブック1にかいたVBAを、新規で作成さしたワークブック2で動かすことはできますか?
えーっ、つまり、VBAプロバティを他のブックに再利用は、できますか? 説明下手でスミマセン。
基本的に、ブックを2つ同時に開いていればブック2を指定したVBAコードをブック1に作って実行できます。
Workbooks(”Book2").Sheets(1).Range("A1") = "Hello"
上記コードをBook1のVBAプロジェクトに書いて実行すればBook2のシート1のA1にHelloが入ります。
とにかくどのオブジェクトを指しているのか?をコンピューターにわからせないといけないのです。
Book2のVBAプロジェクトにコードを書くなら、
Range("A1") = "Hello"
だけでいいんですけど、あえてBook1のプロジェクトにコードを書くなら
Workbooks(”Book2").Sheets(1).
をつけてBook2を指定する必要があるというわけです。
と言う意味では完全に再利用ということはできないので、少し工夫が必要だと思います。
たとえば、Workbooks(”Book2")のBOOK2の文字列をInputBox関数で手入力できる形にするとかですね。
Dim book As String
book = InputBox("ブックを指定してね ")
Workbooks(book).Sheets(1).Range("A1") = "Hell"
そう言うことじゃない!!
って場合はもしかしてアドインみたいに使いたいという質問ですかね・・・?
上記の解説でやりたいことが違うのであれば、アドインの動画を見てみてください。
th-cam.com/video/9ABIfi2znq0/w-d-xo.html
簡単に言うと、1つのVBAプロジェクトで作ったプログラムを別のブックでも使える仕組みです。
とてもわかり易い解説ありがとうございます。勉强になります。
こちらのファイルを開くは、よく使います。ただし、きちんと理解していなかったので、このように説明頂き嬉しいです!
お役に立ててよかったです!
ファイルが同じフォルダ内にあるファイルを開くときは、フォルダまでのパスがいらないということですが、フルパスを入力しなければ同一フォルダ内にあっても開きません。何が原因でしょうか?自分で調べれば良いのですが、調べ方が下手なのでご教示いただければ幸いです。バージョンがExcel2013を使用しているからでしょうか?
よろしくお願い致します。
カレントディレクトリが変わってしまったんだと思います。
ChDir ActiveWorkbook.Path
を最初の方に書いておけばOKです。まぁ本来これ書いたほうがそういったエラーが出ないので丁寧だと思います。
返答ありがとうございます。
ChDrive関数 の方を書いたら解消されました。この辺もう少し詳しく知りたいのですが、解説してもらえたりしますか?
カレントディレクトリ(フォルダ)、カレントドライブとは現在操作対象になっているフォルダ、ドライブのことを指します。unixコマンドを勉強するとわかるかと思います。基本的には保存したマクロブックの場所がカレントドライブ・ディレクトリになるはずなんですが、何らかの操作でそれが変わったんだと思います。なので上記のようにChDirやChDriveを使うか基本的にフルパス指定にするのが丁寧です。
丁寧なご返答本当にありがとうございました。unixコマンドについて少し勉強してみたいと思います。何らかの操作が原因なんですね、何かやらかしてるんでしょうね(苦笑)。
activeworbookは、オブジェクトではなくプロパティなのですね?
Workbookオブジェクトを返すプロパティです。
分かりやすい説明です。
ありがとう御座います。
素晴らしいです。ありがとうございます。
GetOpenFilenameメソッドの引数、拡張子(ワイルドカード)の書き方がようやく理解できました。
機会がありましたら、正規表現を易しく教えて頂けるような動画を作って頂けるとありがたいです。
ショートカット的に開けるのですね。
処置する人間が複数居るとかで複数端末で使いたい時は良いかも。
ーーー以下、長文です。ーーー
あっ、PDF名を同じにしてデータ更新している者があるのでそれを開くように出来るかも。
PDFで印刷時の確認でも、備品が減ってきたら発注出来るようにショートカットを設定するでも使えるのか。
いつもこちらの動画で勉強させて頂いております。If book "False" ThenのFalsehをダブルクォーテーションでくくる理由をご教授いただけないでしょうか。
String型なのでわかりやすく文字列を表す""を付けています。実際はつけなくても動きますが。