• ベストアンサー

全てシートをスクロールさせたいのですが。。

エクセルVBAでブックの全てのシートを洗濯し 全てシートをスクロールさせたいのですが .ScrollColumnをどのように指定すればいいのでしょうか? Window.ScrollColumn = 4とするとオブジェクトが必要です。 とメッセージがでます。 ActiveWindow.ScrollColumn = 4にすると全てのシートに 反映されません。。。

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

  • ベストアンサー
  • hananoppo
  • ベストアンサー率46% (109/235)
回答No.1

こんな感じで如何でしょう。 Sub Sample() Dim Ws0 As Worksheet, Ws As Worksheet Set Ws0 = ActiveSheet For Each Ws In Worksheets Ws.Activate ActiveWindow.ScrollColumn = 4 Next Ws Ws0.Activate End Sub

maki06
質問者

お礼

返信ありがとうございます! ScrollColumnはやはりActiveWindowでないと いけないのでしょうか? Worksheets.Selectでシートを全て指定して ActiveWindow.ScrollColumn = 4 だとアクティブウィンドウしか反映されないので でActiveWindowの代わりに Window.ScrollColumn = 4 としてみたのですが動きませんでした。。

その他の回答 (1)

  • hananoppo
  • ベストアンサー率46% (109/235)
回答No.2

> ScrollColumnはやはりActiveWindowでないといけないのでしょうか? そもそも、普通はウィンドウを1つしか開いていないはずですが。「新しいウィンドウを開く」で複数のウィンドウを開くことは可能ですが、複数のウィンドウに対してはScrollColumnを1つずつ設定するしかないようです。

maki06
質問者

お礼

やはりそうなんですね。。 もっと簡単にいくのかと思ってました。。 そしてhananoppoさんのコードで実行したらいくことができました! ありがとうございました!!

関連するQ&A

  • 行の指定文字位置へ画面をスクロール

    下記のVBAコードでボタンクリックにより列そのまま行10を先頭画面へスクロールできたのですが作業上範囲内に行挿入項目(表ー2)が発生してきました。 このコードでは2行挿入したため行10の"梅田"が先頭と変わってしまいます。 表ー3のように都度行挿入後も"江藤"を先頭行にもってきたいため、 コードCells(10, ActiveWindow.ScrollColumn)の行部分を指定文字"江藤"を代入してコードを構成したいのですが? どなたか解る方よろしくお願いします。 Sub 移動1() Application.Goto reference:=Worksheets("sheet1").Cells(10, ActiveWindow.ScrollColumn), Scroll:=True End Sub

  • エクセルで同じブック内のシートの変更を一気に全てのシートに反映させる方法。

     タイトル通りです。 エクセルの同じブック内で、ひとつのシートの変更を もうひとつのシートの同じセルに反映する方法は分かりましたが 他の全てのシートに、一気に反映させる方法がありましたら教えて下さい。

  • 【EXCEL】VBAでシートのセルを全て選択不可にする

    VBAでエクセルのシート内のセルを全て選択不可にすることは可能でしょうか。 全部で5つくらいのシート内のセルを選択不可にしようと思っています。 選択できるシートも必要なのでブック内のすべてのセルではなくて、シート内のすべてのセルに対して選択不可を行いたいのです。 よろしくお願いします。

  • エクセルVBAでCSV読み込みについて質問します。

    エクセルVBAでCSV読み込みについて質問します。 外部データの取り込みマクロを自動記録で作成しましたが、 csvファイル名が決まってしまうで、他のCSVファイルに展開できません。 できれば、マクロ実行(ファイル選択)ボタンを押すとウィンドウが出てきて、 任意の場所にあるCSVファイルを選択できるようにできないでしょうか? マクロは、書き込むエクセルブックが開いている状態からスタートし、シート名は共通です。 自動記録で完成したマクロは以下の通りです。 With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;C:¥Documents and Settings¥USER¥My Documents¥VBA¥マクロ¥取り込み¥TEST1.csv" _ ’”¥”が誤変換されるので、直接入力しました。      , Destination:=Range("M6")) , Destination:=Range("M6")) _ , Destination:=Range("M6")) .Name = "290TEST1" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 932 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = False .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _ 2) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With ActiveWindow.ScrollColumn = 2 ActiveWindow.ScrollColumn = 3 ActiveWindow.ScrollColumn = 4 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 6 ActiveWindow.ScrollColumn = 7 ActiveWindow.ScrollColumn = 6 ActiveWindow.ScrollColumn = 5 ActiveWindow.ScrollColumn = 4 '以下、続くので省略しました。 End Sub どなたか、お助けお願いします。

  • エクセルで同一ブック内の全てのシートを1枚のシートにまとめたい

    エクセルで同一ブック内の全てのシートを1枚のシートにまとめることはできますか? 一枚ずつシートを選択してコピーするのが大変なので。

  • Excel2003 シートのコントロールが動かない

    Windows7、Excel2003です。 2月まで正常に動いていたBookのシートに貼り付けたコマンドボタンが押せません。また、新しくコントロールを配置できません。「オブジェクトを挿入できません」のエラーになる。 1.12月11日のKB更新でこの症状が出るということですが、それは関係ないようです。3月初めまでは動いていたし、念のため、.exdの削除と該当KBを削除しましたが症状は変わりません。 2.同じPCにOffice2000/2003/2010がインストールされています。このBookをExcel2010で互換モードで実行すると正常に動作します。 3.コントロールのないvba多用のBookは、このExcel2003でも正常に動きます。 4.別のPC、Windows8.1、Excel2013での互換モードでもこのBookは正常に動きます。 5.Excel2003でのこのBookのコントロールのオブジェクト指定が変です。たとえば、CommadButton1のプロパティで、CommadButton1がCommandButtonではなくWorkSheetになっています。 6.また、CommadButton1にかかわるvbaコードで、Sheet1などのオブジェクト定義がエラーになります。 2003はサポート外というのは別にして、 なにか正常に戻す情報でもあれば教えてください。よろしくお願いします。

  • スクロールバーをVBAで操作したい

    エクセルの場合は、 Sub Macro1() ActiveWindow.SmallScroll Down:=100 End Sub でスクロールバーの位置をVBAで設定できますが アクセスのフォームのスクロール倍の位置をVBAで設定することは可能でしょうか?

  • エクセルで複数ブックのスクロールを双方向に同期させる方法

    10程度の複数のブック、たとえばA、B、C、D~I、Jがあります。それぞれのブックには同じ名前のシートが一つだけあります。A~Jは全て同じ形式のブック/シートです。 A~Jを全て開きます。 ブックAのシートAを上下左右にスクロールしたとき、B~Jのブックについても同じ位置にスクロールさせたい。AからB~Jだけでなく、BでもCでもどれをスクロールさせても他のブック/シートも同期させてスクロールさせたい。 方法をご存じでしたらヒントをください。よろしくお願いします。 エクセル2003でおねがいします。 色々調べたのですが、スクロールではイベントが発生しないようなので力業では難しそうですが、エクセル自体に2つのシートを同期させる機能があるようなので何らかの方法で出来そうな気がします。

  • EXCELでデータを各シートに反映させる方法

    EXCELのブック内で、ひとつのブックにある一列のデータを各シートの指定の位置に反映させることはできるのでしょうか。 各シートのデータを串刺しにして、ひとつのブックにまとめて集計することはよくあると思うのですが、その逆をやりたいです。

  • エクセルのスクロールバー

    エクセルで「ツール」>「オプション」>「表示」で、各種の表示の設定を変更できますが、スクロールバーだけは当該シートだけじゃなくそのブックの全てのシートに適用されてしまいます。 一部のシートだけスクロールバーを表示しない方法があるんでしょうか。その方法があればご指導ください。

専門家に質問してみよう