あなたの「必」の書き順を教えてください

ActiveWorkbook.ActiveSheet.Range(″◯◯″)
ThisWorkbook.ActiveSheet.Range(″◯◯″)
前者は、新しく開いたブックのセルの記述で、後者は、元々開いていた(プログラムの書いてある)ブックのセルの記述です。これらは、どういう所で使えるexcelVBAのプログラムなのでしょうか?教えて頂けると幸いです。

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

  • VBAで新たにエクセルを新規作成する際にThisWorkbookでコードを書き、ActiveWorkbookでデータを入れます。それだけの違いです。と書いてあるのですが、どういう事でしょうか?教えて頂けると幸いです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2024/11/05 10:23
  • すみません。ActiveWorkbook.ActiveSheet.Range(″◯◯″)
    ThisWorkbook.ActiveSheet.Range(″◯◯″)
    この2つのプログラム片はどのように、使用するのでしょうか?教えて頂けると幸いです。後、マクロ記述量が減るとはどういう事でしょうか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2024/11/06 20:11
  • すみません。ActiveWorkbook.ActiveSheet.Range(″◯◯″)
    ThisWorkbook.ActiveSheet.Range(″◯◯″)
    この2つのプログラム片はどのように、使用するのでしょうか?教えて頂けると幸いです。

    No.3の回答に寄せられた補足コメントです。 補足日時:2024/11/06 20:13
  • では、ThisWorkbookの方はどうなのでしょうか?教えて頂けると幸いです。

    No.4の回答に寄せられた補足コメントです。 補足日時:2024/11/08 03:44
  • これらのプログラム片をそのまま使って頂けないでしょうか?教えて頂けると幸いです。
    ActiveWorkbook.ActiveSheet.Range(″◯◯″)
    ThisWorkbook.ActiveSheet.Range(″◯◯″)
    これらのプログラム片を使ってプログラムを作って頂けると幸いです。

    No.5の回答に寄せられた補足コメントです。 補足日時:2024/11/09 12:37
  • 迅速な回答ありがとうございます!このプログラムは何をやっているのでしょうか?目的は、これら2つのプログラム片の用途を知りたいのです。このままで使うとしたらどういう状況で使うのかが知りたいのです。

    No.6の回答に寄せられた補足コメントです。 補足日時:2024/11/09 20:58
  • セル値を転記するという事は、マクロブックからブックのセルへ転記するという事でしょうか?後、このプログラムはどういう状況で使うのでしょうか?教えて頂けると幸いです。

    No.7の回答に寄せられた補足コメントです。 補足日時:2024/11/10 08:30
  • 転記する状況がある場合とは、どんな場面でしょうか?どういう時に使うのでしょうか?教えて頂けると幸いです。

    No.8の回答に寄せられた補足コメントです。 補足日時:2024/11/10 12:25
  • Sub test()

    ThisWorkbook.ActiveSheet.Range("◯◯") = ActiveWorkbook.ActiveSheet.Range("◯◯")
    End Sub
    で、もう少し分かりやすい例(用途)を教えて頂けると幸いです。後、この例で、会社の〜は、マクロブックを使う必要があるのでしょうか?だと、するとどんなマクロでしょうか?教えて頂けると幸いです。

    No.9の回答に寄せられた補足コメントです。 補足日時:2024/11/12 19:55

A 回答 (9件)

会社の内部資料で計算した結果を客先提出文書に用いるときとかに転記します。

この回答への補足あり
    • good
    • 0

「=」の意味をご存知ないのですね。

入門書を読むかWebで勉強してください。どういう状況って転記する必要がある状況です。
この回答への補足あり
    • good
    • 0

何をやっているのでしょうか、ってセル値を転記しているだけです。


どのへんが不明ですか?わからないところを書いてください。
用途はNo.1で書いています。
この回答への補足あり
    • good
    • 0
この回答へのお礼

すみません。間違えました。正しい質問は、
セル値を転記するという事は、マクロブックのセルからブックのセルへ転記するという事でしょうか?後、このプログラムはどういう状況で使うのでしょうか?教えて頂けると幸いです。
大変失礼しました。

お礼日時:2024/11/10 08:32

Sub test()


ThisWorkbook.ActiveSheet.Range("◯◯") = ActiveWorkbook.ActiveSheet.Range("◯◯")
End Sub
・「″」は引用符として使えないので「"」にする必要があります。
・あらかじめ、コピー元・コピー先のシートのどこかのセルに"◯◯"という名前を付けておく必要があります。
・「◯」は機種依存文字かも知れないので、英数字で試した方がいいかも

で、目的は何なのでしょうか?
この回答への補足あり
    • good
    • 0

ThisWorkbookについても、たとえば


X = ThisWorkbook.ActiveSheet.Range(″A1″).Value
と書けば、そのコードが書かれているワークブックの選択されたワークシートのA1セルの値が変数Xに代入されます。
この回答への補足あり
    • good
    • 0

たとえば、


X = ActiveWorkbook.ActiveSheet.Range(″A1″).Value
と書けば、アクティブシートのA1セルの値が変数Xに代入されます。
この回答への補足あり
    • good
    • 0

ThisWorkBook:マクロを実行しているワークブック


ActiveWorkBook:現在表示しているワークブック
です
この回答への補足あり
    • good
    • 0

VBAでコードを実行するときに、そのコードが書かれているワークブックがThisWorkbookで、データを入れるとか操作対象になることが多いのがActiveWorkbookということです。

明示すれば他のワークブックも操作できますが、指定がなければActiveWorkbookが操作対象となるので、マクロ記述量が減ってスッキリします。
この回答への補足あり
    • good
    • 0

簡単に言えば″◯◯″のセル(もしくはセル範囲)を参照すべきところで使用します。


先週の皆さんの回答では不足でしたか?
何をお困りでしょうか?
ActiveWorkbook、ActiveSheet、Rangeにはそれぞれ意味がありますが、どれがわかりませんか?
この回答への補足あり
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A