• ベストアンサー

Excel VBAにて

aihara003の回答

回答No.1

セルを1つ選択する場合であれば、どちらでも良かったと思います。 ただ、セルを同時に2つ以上選択する場合は、Selectしか出来ないです。 (シートも同じかな) 私は基本的にActivateで、複数セル選択時はSelectを使ってました。

this_love
質問者

お礼

早速のご回答ありがとうございます。 大変、簡単でわかりやすい覚え方だと思います。 有難うございました。参考になります。

関連するQ&A

  • Excel VBAにて

    Msgboxの()の使い分けを教えてください。 かっこが必要な時、不要な時の区別がわかりません。 経験者の方々、知識ある方 アドバイスやご意見を頂ければ助かります。 よろしくお願いします。

  • Excel VBAにて

    FormulaR1C1の用途、または意味が分かりません。 ご経験者の方々、知識ある方の ご意見・アドバイスを頂ければ助かります。 よろしくお願いします。

  • VBAにて

    初歩的な質問になりますが 下記の件で教えていただきたく投稿しました。 ご経験者、知識ある方々の知恵やアドバイスを頂ければ幸いです。 AとBは仮です (1) A=B と、A:=Bはどう違い、どのように使い分けするのでしょうか? (2) Value<>"" は、どういう意味なのでしょうか? よろしくお願いします。   

  • VBAにて

    質問です。 あるセルの色が指定色だった場合、あるセルの値を指定のセルに代入するVBAを 作りたいのですが、わかりません。 ご経験者、知識ある方々のご意見やアドバイスを お願いします。

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

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

  • ExcelのVBAでシートを直接Selectする方法

    次のようなVBAがあります。 For intAge = 6 To 11  Range(strBase & intAge).Select  Selection.Copy  Windows(strMasterName).Activate  Sheets(strBase).Select  Range(strBase & intAge & "_" & strNo).Select  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, Blanks:= _   False, Transpose:=False  Windows(strFileName).Activate  Sheets(strBase).Select Next intAge 2つのファイルを開いていて、1つのファイルから別のファイルにデータを連続してコピーしています。 WindowsをActivateして、SheetsをSelectしてからRangeをSelectしているのですが、 直接、WindowsのSheetsのRangeをSelectする方法はないのでしょうか? Windows(strFileName).Sheets(strBase).Range(strBase & intAge).Select としたらエラーが発生してダメでした。 わかる方いらっしゃいましたら、よろしくお願いいたします。 (これで十分動いているのですが、もう少し、簡潔な文にしたいのです)

  • VBA 他のエクセルファイルデータを読み込む

    エクセルのVBAに関する質問です。 かじった程度の知識でがんばってはみたのですが、以下のことがどうしてもできません。 集計ファイルと、それぞれが入力するファイルがいくつか(具体的には1A.xls、1B.xls、2A.xls、2B.xlsといった数字とアルファベットの組み合わせ)あります。 入力ファイルに書かれているデータを集計ファイルに取り込もうと考えています。 入力ファイル名が(1.xls,2.xls・・・)の様に数字だけの取り込みはできました。 m = Val(UserForm2.TextBox1.Text) For i = 1 To m On Error GoTo myError Workbooks.Open Filename:="C:" & i & ".xls", UpdateLinks:=0 Range("f65536").End(xlUp).Activate Workbooks(i & ".xls").Activate Sheets("入力ファイル").Select Range("A3:X52").Select Application.CutCopyMode = False Selection.Copy Workbooks("集計ファイル.xls").Activate Sheets("DB").Activate Range("a65536").End(xlUp).Activate Selection.Offset(1).Select ActiveSheet.Paste Range("a65536").End(xlUp).Select   Workbooks(i & ".xls").Close SaveChanges:=False myError: Next i Application.DisplayAlerts = True こんな感じです。 これを、数字だけでなく数字+アルファベット.xlsのファイル名にしてデータを取り込むにはどうすればいいのでしょうか?色々と試行錯誤をしたり、ネットで調べたりしたのですが、詰んでしまいました。 どなたかお助け下さい。

  • VBA作製ができません。どなたか教えてください。

    前回同じタイトルで質問させていただいた物を自分なりに本で調べて 作ってみました。しかし壁にぶつかりました。 Cells(Rows.Count, 7).End(xlUp).Offset(rowoffset:=1).Select この式は7列目の一番下の空欄のセルを選択できる式のようですが、 指定した範囲のなかで7列目の一番下のセルを選択したいのですがどうすればいいでしょうか? つまり列だけじゃなく行も選択したいです。 教えてください。 こんな式を作りました。  もし式を簡単に効率よくできる方法があればアドバイス下さい。 If Range("G4").Value = SpecialCells Then Range("H4").Select Else Range("G4").Select Range("G4").Copy Windows("Book1.xlsx").Activate Range("G18:G26") = Selection.Areas.Count Cells(Rows.Count, 7).End(xlUp).Offset(rowoffset:=1).Select ActiveSheet.Paste Application.CutCopyMode = False Windows("Book2.xlsm").Activate Range("D4").Select Range("D4").Copy Windows("Book1.xlsx").Activate Cells(Rows.Count, 4).End(xlUp).Offset(rowoffset:=1).Select ActiveSheet.Paste Application.CutCopyMode = False Windows("Book2.xlsm").Activate Range("E4").Select Range("E4").Copy Windows("Book1.xlsx").Activate Cells(Rows.Count, 5).End(xlUp).Offset(rowoffset:=1).Select ActiveSheet.Paste Application.CutCopyMode = False Windows("Book2.xlsm").Activate Range("H4").Select End If

  • Excel VBA の基本画面にて

    昨日、コードウィンドウやプロジェクトエクスプローラ、プロパティウィンドウを 間違えて非表示にしてしまい、再表示して新たに勉強しているのですが 最初の固定画面にならず、何度も画面を操作しなければなりません。 元の画面を固定する方法はありませんでしょうか? (元の画面:参考に添付します) 経験者の方々、知識のある方 ご意見、アドバイス等を宜しくお願いします。 余談ですが コードを記入しては、 保存せずに再度EXCEL開いてはコードを入力する暗記方法で勉強しています。

  • エクセルVBAでの質問です。

    まとめ.xlsに、「まとめ」「グラフ」「A」「B」「C」「D」「E」というシートがあって、それと一緒に、A.xls、B.xls、C.xls、D.xls、E.xlsというファイルを開いた際に、A.xlsの、G2:I54をまとめ.xlsのAのシートのA1に、B.xlsの、G2:I54をまとめ.xlsのBのシートのA1に・・・といった感じでコピーを行いたいと思い、以下のようにマクロを組みました。 Dim I(4) As String I(0) = "A" I(1) = "B" I(2) = "C" I(3) = "D" I(4) = "E" Sheets("まとめ").Select For J = 0 To 4 Step 1 Sheets("" + I(J) + "").Select Windows("" + I(J) + ".xls").Activate Range("G2:I54").Select Selection.Copy ThisWorkbook.Activate Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False Workbooks("" + I(J) + ".xls").Close SaveChanges:=False Next J ThisWorkbook.Activate Sheets("まとめ").Select Range("A1").Select この状態では、必ずA~Eのシートと、A~E.xlsが存在しないと処理できないのですが、情報量が変わった場合でも同じような処理を行いたいのです。 たとえば、A~CのシートとA~C.xlsしかない場合、 アルファベットではなく、1~3といった場合、 5枚だけではなく、10枚など増えた場合。 まとめ.xlsの「まとめ」と、「グラフ」のシートには、それぞれA~Eに貼られたデータから引用したり、グラフ化したりしているため、シートの入れ替えは行うことができず、純粋に、「値のコピー」としてもってきたいと思っています。 原則として、A~Eのシートに貼り付けるA~E.xlsに存在するシート名は、A.xlsはA、B.xlsはB・・・といった感じになっています。 それが数字になっても、文字になってもその規則に変更はありません。 分かりにくい説明ですみません。 分かる方、よろしくお願いします。