• ベストアンサー

マクロで指定の2つのsheetを交互に選択

まだまだexcelVBA初心者です。 お世話になります。 excelVBAで、指定の2つのsheetを交互に1秒間隔で 選択表示させるにはどう書けば良いのでしょうか? sheet1,sheet2を指定するものとしてお願いします。 可能ならば5秒後に自動停止する機能があれば嬉しいです。 表示内容が類似したものを比較するのに使えると思います。 お手数おかけしますが、よろしくご教示下さい。

  • OKBob
  • お礼率94% (97/103)

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

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

代表的なやり口は幾つかパターンがありますが,一例。 Sub macro1()  Dim i  For i = 1 To 5   Application.OnTime Now + TimeSerial(0, 0, i), "'macro2 ""Sheet" & i Mod 2 + 1 & """'"  Next i End Sub Sub macro2(s As String)  Worksheets(s).Activate End Sub

OKBob
質問者

お礼

素晴らしい的確な回答ありがとうございました。 また何かありましたらよろしくお願いします。

関連するQ&A

  • スタイルシートのFont指定

    スタイルシートのフォント指定でPCにインストールされていないフォントを指定しても PCにフォントが入っていない人が見たら表示されるんでしょうか? それとも、類似するフォントに変換されてしまうんでしょうか? 教えて下さい。

  • excelVBAで全てのsheetで同じ範囲を表示

    エクセルVBAにて、3つのsheet全てで同じ範囲を表示させるには どう書けば良いのでしょうか? 例えば、ハイパーリンク機能を使ってA100:A150を選択させれば 開いたシート上にA100:*150辺りを表示できますが、マクロでは 選択はされるものの希望に合う表示が成されません(記録マクロ試行) これが可能ならば3つのsheet全てで同じ範囲を表示させたいのです。 (各シートを選択すれば同じ位置が表示されている) お手数おかけしますが、よろしくご教示下さい。

  • Excelのシート上で図形を一括に選択し、削除する方法

    Excel2000使用者です。 あるSheetの任意の位置に図形がたくさん点在してあります。 重なり合って見えないものもあり、ひとつづつ選択するのは困難なので、Sheetを全選択(又は範囲を指定)し、その中の図形を一括に選択し、削除する方法はあるのでしょうか? 当方、VBAの自動記録ぐらいしか解からない初心者ですが、何卒ご教示下さい。 よろしくお願いします。

  • エクセルのシート選択について

    エクセルでプルダウンにシート名を設定し、プルダウンの項目を選択するとその選択されたシートの情報が表示されるような機能を作成しております。 しかし関数で選択したシート名にLink先を変える方法が分からず困っております。 実際にはVLOOKUP(A1,Sheet1!$A$1:$B$200,2,0)の\"Sheet1!\"の部分をプルダウンで選択したシートに変える方法です。 誰かご存知の方がいれば方法を教えていただけないでしょうか。

  • ExcelVBAで非表示列を選択不可にしたい

    ExcelVBAにおいて、非表示にしている列のみを選択できないようにしたいのですが、 どうすればよいのでしょうか? (Excel2007,Excel2010) よく非表示列(セル)をコピーしないように、手動で「可視セル」指定することはできますが、 そうではなく、シートの保護や非表示設定をVBA内でプログラムするように、 シートの選択の可不可も、プログラム内で行いたいのですが。 シートの保護で行うと、全ての列(セル)が選択不可になってしまい、困ります。 具体的には、VBA以下のことをします。 1.特定列を非表示にする。(この時、選択不可にしたい) 2.1の列を表示にする。(この時、選択可能にしたい) よろしくお願いします。 m(_ _)m

  • エクセルで複数シートに対してマクロで非表示

    エクセルで全シート(約100シートあります)に同じ様なフォーマットのシートがあります。 表示されている全てのシートに対し、指定する列(A)の計算結果値が指定する条件(例えば”1”)に合致する行をマクロで一括して非表示にしたいので、ご教示のほどよろしくお願い致します。 また同時に、全シートで非表示化された行を元に戻す(表示させる)コードも併せて 教えて下さい。 各シート毎に不要な行がそれぞれ大量にあり、困っておりますので、よろしくお願い致します。 エクセルは2007です。

  • 選択したsheetの内容を表示

    「sheet1」の「A1」で(sheet名)をドロップダウンから選択すると 「sheet1」の「B列」に、選択したsheetの「B列」の内容が表示されるようにしたいのですが、 1.「sheet1」の「B列」に入る式。 2.「sheet1」の「A1」にsheet名のドロップダウンを表示するためのリストを   sheetが増える毎に自動的にリストに加わるようにする方法。 を教えて下さい。 WinXP Excel2003です。

  • 起動中のプログラムを数秒おきに交互に表示するツールを探しております

    起動中のプログラムを数秒おきに交互に表示するツールを探しております 例 メモ帳とexcelとwordをPC側で起動 5秒おきにこの3種類のプログラムを自動で交互にディスプレイに表示したいです。 アクティブなプログラムを交互に切り替えてゆくといったイメージです。 写真のスライドショーの様な表示で交互に起動中のプログラムを出してゆけると良いのですが。 方法を公開されているWEBサイト等探しております。 ご存知の方いらっしゃいましたらお教え頂けますと幸いです。 どうぞ宜しくお願い致します。

  • Excel マクロ アクティブシートの指定について

    こんにちは。Excelでマクロを作成しています。あるファイルを開きマクロを実行すると、日々エクスポートしているExcelファイルのシートが開き、自動的にそのシートにピボットテーブルを実行し集計するマクロを作成しています。ファイルの指定はファイル名が毎日日付のファイル名(例:02-12等)になるので、[ファイルを開く]ダイアログを表示させ、そこから指定することにしました。ただ、シート名もファイル名と同じなのですが、どうしてもそのシート名でしか作成できません。現在アクティブなシートにピボットを実行するようにするには、どうすればいいでしょうか。 下記に作成したVBを記載しておきます。 Fname = Application.GetOpenFilename(FileFilter:="Excel ファイル (*.xls), *.xls") ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "'02-12'!R1C1:R91C23").CreatePivotTable TableDestination:="", TableName:= _ "ピボットテーブル3", DefaultVersion:=xlPivotTableVersion10 ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveSheet.PivotTables("ピボットテーブル3").AddFields RowFields:=Array("所属名", _ "受付担当者") ActiveSheet.PivotTables("ピボットテーブル3").PivotFields("状況").Orientation = _ xlDataField ・・・ 上記の02-12の部分がシート名になるのですが、このシート名は毎日変化していきます(次の日は、02-13 など)。どのように作成すればいいでしょうか。 よろしくお願いします。

  • 指定のシート枚数をマクロで印刷

    こんにちは。 エクセルマクロを使用しての印刷に関して、皆様の知恵をお借りしたく投稿させて頂きました。 現在は ・マクロを実行し印刷したいエクセルブックを開く。 ・指定した名前のエクセルシートの選択。 ・選択した名前のシートの印刷。 となります。 それを ・マクロを実行し印刷したいエクセルブックを開く。 ・2枚目のシートから4枚目のシートまでを選択。 ・空白のシートを追加(両面印刷する際に奇数だと次のファイルが同じ紙の裏面に印刷されてしまうため) ・2枚目から4枚目シート+空白シートの印刷。 と変更したいのです。 ※2~5枚目シート選択、1~6枚目シート選択など、変更できると助かります。 ※偶数シートの印刷の場合は空白シート追加は不要となります。 1000近くのエクセルブックを印刷しているのですが、シート名が統一されていないため、マクロが止まってしまい困っておりました。 なんとか知恵をお貸し頂けないでしょうか。 宜しくお願い致します。 下記に現在使用しているマクロのコードを提示致します。 --------------------------------------------------------------------------------------------------------- Sub Excelファイルの指定したシートのみ印刷_資料2から資料3Ver() '複数のファイルを選択する Dim vntFileName As Variant Dim vntGetFileName As Variant Dim B As Boolean Dim W As Workbook 'ファイルを開くダイアログを開きます vntFileName = _ Application.GetOpenFilename( _ FileFilter:="xlsxファイル(*.xlsx),*.xlsx" & _ ",エクセルファイル(*.xls),*.xls" _ , FilterIndex:=1 _ , Title:="印刷するファイルを選択" _ , MultiSelect:=True _ ) If IsArray(vntFileName) Then For Each vntGetFileName In vntFileName Set W = Workbooks.Open(vntGetFileName) If B Then Sheets(Array("資料2", "資料3", "資料4")).Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 '通常設定のプリンタで出力 Else Sheets(Array("資料2", "資料3", "資料4")).Select Application.Dialogs(xlDialogPrint).Show '印刷ダイアログを表示 B = True End If W.Close False Next End If End Sub ----------------------------------------------------------------------------------------------------

専門家に質問してみよう