
VBA全く分かりませんが、ご教示いただきたいです!
よろしくお願いしますm(__)m
操作用のブックを1つ用意し、その操作用のブック内のどこかのセルに
A4と入力しボタンをクリックしたら現在開いている全てのブックの表示列がA4に表示されるようにするには、どういったコードを入力したらよいのでしょうか?
日々、50あるブックを開き操作用のブックに指定したシート名を入力し、ボタンをクリックすると全てのブックの指定したシートが表示されるマクロをかなり前に前任者の方が作成してくれていますが(全てのブックはシート名、シートの中の表示は全て同じ作りになっています)
日々、50全てのブックの表示させる列が変更になるため自分で分からないなりに
下記のコードを作成して、日々表示させる列をコードの方で変更し表示させています
Sub スクロール()
Dim AllBook As Workbook
For Each AllBook In Workbooks
AllBook.Activate
Range("G4").Select ←("G4")が日々変更になるためここを毎回変更しています
With ActiveWindow
.ScrollRow=ActivCell.Row
.ScrollColumn=ActivCell.Column
End With
Next All Book
End Sub
"G4"ここの指定を操作用のシートに入力すると開いている全てのブックがG4に、となるようにしたいです。
毎回表示させたい列を変更するためにマクロを開くという作業を何とかしたいなと思い、質問させていただきました!
分かりづらい説明で申し訳ありませんが、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんばんは
>VBA全く分かりませんが、ご教示いただきたいです!
であれば説明は難しいですね(基礎知識が必要なので多分理解が出来ない)
操作用のブックを1つ用意し、
その一番左にあるシートにボタンを作ります(ActiveXコントロールのコマンドボタン)
参考
https://shingyouryu.xyz/vba-button/
ボタンを右クリック⇒「コードの表示」をクリックして
VBEを開きます
Private Sub CommandButton1_Click()
'カーソルのある位置
End Sub
カーソルのある位置のところに
ご質問のコードを改修したコード 下記をコピペ
(ご質問コードにはタイプミスがあるようですのでコピペでどうぞ)
Dim AllBook As Workbook
Dim strTarget As String
On Error Resume Next
strTarget = Range("A1") '入力セル
If Not Evaluate("ISREF(" & strTarget & ")") Then Exit Sub
For Each AllBook In Workbooks
AllBook.Activate
Range(strTarget).Select
With ActiveWindow
.ScrollRow = ActiveCell.Row
.ScrollColumn = ActiveCell.Column
End With
Next AllBook
使用方法
ボタンを設置したシートのA1セルに セルアドレス (例:G3)を入力しボタンを押下します
(セルアドレスとして実行できない値を入力すると何も起こりません
解らないとの事なので簡単なエラー処理を入れました)
入力セルを変更したい場合は
strTarget = Range("A1") '入力セルの A1を入力したいセルに変更します
例: strTarget = Range("B2") B2セルが入力セルになります
追記、
処理の内容自体が大きな問題を起こす様なものでないと判断しましたが
>VBA全く分かりませんが、ご教示いただきたいです!
この様な場合は、同僚や身近にいる方に聞くことを強くお勧めします
QAサイトなどでご質問されても基礎知識が無ければ、理解する事は難しく
更に困る事態が起こる可能性があります(ご質問の誤解や解釈の相違などで)
今回回答した内容についても身近の方に聞くか、それが難しいようであれば
検索サイトなどでVBAの基礎知識や内容を検索して使うようにしてください
No.2
- 回答日時:
こんにちは。
セルではなく、Inputbox 関数を使用してみては?
Sub スクロール()
'ユーザーからの入力を受け付ける Inputbox 関数での例
Dim cell_address As String
Do
On Error Resume Next
cell_address = InputBox("セルのアドレスを入力(例)A4", "スクロール")
If cell_address = "" Then
'空白または[X]、[キャンセル]クリック時は終了
Exit Sub
Else
'有効なアドレスかチェックし、不正値なら再入力
cell_address = Range(cell_address).Address
If Err.Number = 0 Then
Exit Do
End If
End If
Err.Clear
Loop
On Error GoTo 0
Dim book As Workbook
For Each book In Workbooks
book.Activate
Range(cell_address).Select
With ActiveWindow
.ScrollRow = ActiveCell.Row
.ScrollColumn = ActiveCell.Column
End With
Next
End Sub
#以下余談
一部変数名に違和感がありましたので変更しました。
なお、#1様に習って簡易なエラー処理をしましたが、
> Not Evaluate("ISREF(" & strTarget & ")")
はいいですね。勉強になりました。
お礼が遅くなり申し訳ありません。
色々な方法があるんですね!とても勉強になりました!!
先に回答頂いた方の方法で既に解決しましたが時間がある時にこちらの方法でも試してみたいと思います!ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/09 12:17
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/06/10 11:06
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBA 別ブックからコピペしたい...
-
VBA 複数のブックに同じ列を表...
-
【Excel VBA】書き込み先ブック...
-
[Excel]ADODBでNull変換されて...
-
【ExcelVBA】zip圧縮されたCSV...
-
VBA コードを実行すると画面が...
-
Excelのマクロコードについて教...
-
VBAで別のブックにシートをコピ...
-
【ExcelVBA】インデックスが有...
-
VBAで複数のブックを開かずに処...
-
同フォルダ内の串刺し集計と文...
-
Excelマクロ 該当する値の行番...
-
ACCESSでExcelにデータ出力、高...
-
VBS Bookを閉じるコード
-
VBSでExcelのオープン確認
-
エクセル VBA 他シートの行を選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
VBA 別ブックからコピペしたい...
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
【Excel VBA】書き込み先ブック...
-
Excelマクロ 該当する値の行番...
-
[Excel]ADODBでNull変換されて...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】インデックスが有...
-
VBAで複数のブックを開かずに処...
-
【ExcelVBA】zip圧縮されたCSV...
-
【VBA】全シートの計算式を全て...
-
エクセルのマクロを使ってメー...
-
VBS Bookを閉じるコード
-
ユーザーフォームの切り替えに...
-
Excelのマクロコードについて教...
-
Excel2007VBAファイルの表示に...
おすすめ情報