• ベストアンサー

SelectとActivateの違いは?

Sub Macro1() Sheets("Sheet1").Activate Sheets("Sheet2").Select End Sub は、同じ動きをします。 マクロの記録でシートを選択すると、Selectの方が取得されます。 SelectとActivateの違いを説明できる方お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

selectは二つ以上のモノを同時にセレクトできます。たまたまその時に1つのモノをセレクトすると、activateと同じになります。

fasd132ewq
質問者

お礼

ご回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#242220
noname#242220
回答No.3

Selectは複数のデータから指定データを選択し、開く。 Activateは指定した単一のデータを開く。 Select a データ1 データ2

fasd132ewq
質問者

お礼

ご回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • cj_mover
  • ベストアンサー率76% (292/381)
回答No.2

こんにちは。お邪魔します。 理解の助けになれば嬉しいのですけれど。 ' ' Sheet1, Sheet2, Sheet3 について.Selectと.Activateの挙動の違いを示します Sub お試し用()   Sheets(Array("Sheet1", "Sheet2")).Select   MsgBox "Sheets(Array(""Sheet1"", ""Sheet2"")).Select" & vbLf & vbLf _     & "Sheet1 と Sheet2 を同時に選択しました" & vbLf _     & "選択中のシート数は " & ActiveWindow.SelectedSheets.Count & vbLf _     & "アクティブシートは " & ActiveSheet.Name   Sheets("Sheet2").Activate   MsgBox "Sheets(""Sheet2"").Activate" & vbLf & vbLf _     & "選択中の Sheet1,Sheet2 の中から Sheet2 をアクティブにしました" & vbLf _     & "選択中のシート数は " & ActiveWindow.SelectedSheets.Count & vbLf _     & "アクティブシートは " & ActiveSheet.Name   Sheets("Sheet3").Activate   MsgBox "Sheets(""Sheet3"").Activate" & vbLf & vbLf _     & "Sheet3 をアクティブにしようとしましtが" & vbLf _     & "直前に選択中だったシ-ト に含まれてない為" & vbLf _     & "Sheet3 を (.Activate する代わりに) .Select しました" & vbLf _     & "選択中のシート数は " & ActiveWindow.SelectedSheets.Count & vbLf _     & "アクティブシートは " & ActiveSheet.Name   Sheets("Sheet1").Select   MsgBox "Sheets(""Sheet1"").Select" & vbLf & vbLf _     & "Sheet1 を選択しました" & vbLf _     & "選択中のシート数は " & ActiveWindow.SelectedSheets.Count & vbLf _     & "アクティブシートは " & ActiveSheet.Name End Sub

fasd132ewq
質問者

お礼

ご回答ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAのActivateとSelectって

    何が違うのでしょう? Sub test_Activate() Sheet1.Activate End Sub Sub test_Select() Sheet1.Select End Sub をテストしてみましたが 違いが判りません。

  • VBA(EXCEL2003)におけるselect,activateメソッドの違い

    EXCEL2003でVBAを独習中です。どうもselectとactivateの違いをなかなか理解できません。 例えば sheets("sheet1").select と sheets("sheet1").activateの違いは何かということがわかりません。 まして activesheet.activate などと書かれていると、何でアクティブなシートをアクティブにしなければならないのだ?と思ってしまいます。 VBAに関しては、数回目の初心者ですので、何でも言ってください。

  • エクセルの図形移動で困っています。

    エクセルの図形移動で困っています。 シート2にある図形をシート1にマクロを使って移動(コピー&貼り付け)をしようとしています。 マクロの記録でやった所、以下のような感じになりました。 Sub Macro4() ' ' Macro4 Macro ' ' Sheets("sheet2").Select Selection.Copy Sheets("sheet1").Select Range("N16").Select ActiveSheet.Paste End Sub しかし、なぜか3回程つかうとシート1に貼り付けされなくなります。 原因はシート2の図形をコピーする時に選択されるところがないからではないか?と思い 色々ネットで調べてみたのですが、まだまだ結論が出ていない状態です。 皆様のお力を貸して頂ければと思います。 Sub Macro4() ' ' Macro4 Macro ' ' Sheets("sheet2").Select (たぶんここに"図形1)とか入るのでは??と思っています Selection.Copy Sheets("sheet1").Select Range("N16").Select ActiveSheet.Paste End Sub

  • エクセルマクロ 教えてください

    エクセルの自動記録でマクロを取り組み始めたばかりの初心者です。 本部から毎月送られてくるエクセルファイルにこちらで別のワークブックに記録したマクロを使って加工しようとしていますが方法がわかりません。 他の人がこのファイルを間単に加工出来るようマクロを使って (マクロのコードの書き換え等の作業をしないで)行えるようにしようとしています。 ※送られれくるエクセルファイルは月毎にファイル名が違います(シート名は変わりません)。 下記は自動記録の内容ですがこれを適用させる方法であります。 宜しくお願いいたします。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2008/9/8 ユーザー名 : ******* ' ' ActiveWindow.TabRatio = 0.819 Sheets(Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5")).Select Sheets("Sheet1").Activate With ActiveWindow .DisplayHeadings = False .DisplayHorizontalScrollBar = False .DisplayVerticalScrollBar = False End With Sheets(Array("Sheet6", "Sheet7", "Sheet1", "Sheet2")).Select Sheets("Sheet1").Activate ActiveWindow.Zoom = 120 End Sub

  • なぜ・・・?

    下記のように選択したセルを別シートに転送するマクロを作りましたが うまく作動しません Sub Macro1() ' ' Macro1 Macro ' 転送' Rows("Cells.Select").Select Range("B200").Activate Selection.Copy Sheets("張付け").Select Range("A7:A8").Select ActiveSheet.Paste End Sub

  • エクセルVBAで複数ページのページ設定

    SheetAAAA,SheeetBBBB,SheetCCC,SheetDDDDの4枚(すべてのシートです)を選択し、ページ設定をしてマクロの記録をとりました。 Sub Macro6() Sheets(Array("AAAAA", "BBBBB", "CCCCC", "DDDDD")).Select Sheets("AAAAA").Activate With ActiveSheet.PageSetup .Orientation = xlLandscape .Draft = False .PaperSize = xlPaperA4 .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 End With End Sub (不必要部分はカットしました) 自分で4枚を同時選択しページすると4枚すべてに反映するのですが、マクロの記録でつくったMacro6だと、1枚のシートにしか設定が反映されません。 どう直せばいいのでしょうか?よろしくお願いします。

  • エクセル「マクロの記録」を少し直したい

    マクロの記録で作った下記を Sub Macro1() Sheets("Sheet1").Select Rows("6:6").Select Selection.Copy Sheets("Sheet2").Select Rows("2:2").Select ActiveSheet.Paste End Sub 以下のように書き換えたら、2行目(Paste)がエラーになりました。 Sub ts1() Sheets("Sheet1").Rows("6:6").Copy Sheets("Sheet2").Rows("2:2").Paste End Sub セレクトしないで行ないたいのです。 どう直せばいいでしょうか?

  • Excel VBAで他のブックを選択する方法を教えてください。

    こんにちは。VBA初心者です。 ブックを2つ開いた状態で、 マクロを保存してあるブック〔Book1〕から、 毎回ブック名が異なる[Book2]の選択されている2枚のシートを新しいブックに(仮Book3)コピーしたいのですが、どのように記述したらよいのでしょうか。(選択されるシートも毎回異なります。) 特に教えていただきたい部分は、 1.マクロが記録されているBOOK1以外のBookを操作する方法。 2.私以外の方が利用する為、Book1に保存したマクロから実行させる予定なのですが、Book1を毎回開いて実行させる方法がベストのやり方なのでしょうか。 マクロの記録では下記の感じになります。 Sub Macro4() Windows.Arrange ArrangeStyle:=xlVertical Windows("Book2.xls").Activate Sheets(Array("Sheet3", "Sheet4")).Select Sheets("Sheet4").Activate Sheets(Array("Sheet3", "Sheet4")).Copy End Sub 宜しくお願い致します。

  • エクセル 複数シート検索のマクロ

    マクロ初心者です。 エクセルの文字列検索で、複数シートにまたがった場合のマクロ記述を知りたいです。 シートaとシートbの選択は下記となると思いますが、 Sub Macro1() Sheets(Array("a", "b")).Select Sheets("a").Activate End Sub その後で、検索窓([ctrl]+[f])を表示させたいのですが・・・。 よろしくご教示願います。

  • エクセルシートの順繰り表示マクロについて

    エクセルにて随時更新されるデータを全画面表示し、3枚のシートを5秒置きに順繰り表示させるようマクロを組みました。始めは順調なのですが、数時間たつとフリーズしてしまいます。そもそもエンドレスのマクロプログラム実行に無理があるのでしょうか。 または下記のプログラムに問題があるのでしょうか。ご教授お願いします。 Sub Macro1() Sheets("Sheet2").Select Application.OnTime Now + TimeValue("00:00:05"), "Macro2" End Sub Sub Macro2() Sheets("Sheet3").Select Application.OnTime Now + TimeValue("00:00:05"), "Macro3" End Sub Sub Macro3() Sheets("Sheet1").Select Application.OnTime Now + TimeValue("00:00:05"), "Macro1" End Sub

専門家に質問してみよう