
No.2ベストアンサー
- 回答日時:
>Worksheets("sheet1").Range("A4:W144").Select
上記、補足で提示したコードの直前には、
Worksheets("Sheett1").Select(Activate)がありますよね。
そうでないと
Worksheets("sheet1").Range("A4:W144").Select
こんなことはできませんから。
で、回答。
Worksheets("Sheet1").Select
Worksheets("sheet1").Range("A4:W144").Select
の2行を削除して以下のようにSortだけにする
'----------------------------------------------------
Worksheets("sheet1").Range("A4:W144").Sort _
Key1:=Worksheets("sheet1").Range("a4"), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortNormal
'-----------------------------------------------------
●点要点●
1.Sortの範囲をシートを明示して直接指定
2.Keyもどのシートのセルなのか分かるようにシート名を付加する
ソートに限らず他のシートから、Sheet1を扱う場合は、
Selectはしないで、シート名を付加すればいいということです。
以上です。
No.1
- 回答日時:
>どうしても画面がsheet1に移ってしまいます
sheets("sheet1").select
sheets("sheet1").activae
というようなコードがあれば確実にアクティブになります。
どのようなコードで何をあいているのかわかりませんが、
Sheets("sheet2").Range("A1").Copy Sheets("sheet1").Range("A1")
activesheet.Range("A1").Copy Sheets("sheet1").Range("A1")
With Sheets("sheet1")
Sheets("sheet2").Range("A1").Copy
.Range("A1").Paste
activesheet.Range("A1").Copy
.Range("A1").Paste
End With
など、構文で実行シートを指定して、active / select などのコードを含まないコードを書くことでです。
>Application.ScreenUpdating を使ってもマクロ終了時にsheet1の画面になってしまいます。
これは、実行中のシート更新をしないためのオプションですから、構文中でどこかのシートをアクティブにしていれば、処理終了後に最後にアクティブにしたシートが表示されるのは当然の処理です。
この回答への補足
>Sheets("sheet2").Range("A1").Copy
>など、構文で実行シートを指定して
実はソートのマクロなんですが…
Worksheets("sheet1").Range("A4:W144").Select
Selection.Sort Key1:=Range("a4"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
では、だめでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Excel(エクセル) excel macro を、personal.xlsb に作った。excel sheet 開くと、 2 2023/02/21 12:06
- その他(プログラミング・Web制作) ZWCAD CUIXとLISPの関係について 1 2022/09/28 03:07
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
- スーパー・コンビニ 「コンビニで エクセルをプリントアウト」することができますか? 8 2022/06/16 15:54
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelマクロをバックグラウンドで動かす方法
Excel(エクセル)
-
VBA バックグラウンドで別ブックを開いてデータ転記
Excel(エクセル)
-
Excel VBAを後ろで動かす方法
Visual Basic(VBA)
-
-
4
EXCELをバックグラウンドで実行するには
Excel(エクセル)
-
5
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
6
エクセルマクロをバックグラウンドで実行しているように見せたい
その他(プログラミング・Web制作)
-
7
エクセルで別ブックをバックグラウンドでオープンする方法
Excel(エクセル)
-
8
ファイルを開かずにマクロを実行
Excel(エクセル)
-
9
Excelでマクロ実行中に画面を固定する方法
Visual Basic(VBA)
-
10
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
11
VBA アクティブでないシートのセルを選択したり、クリアしたり
Excel(エクセル)
-
12
エクセルVBAのIF文の否定の複数条件
Excel(エクセル)
-
13
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
14
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
15
Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAで、散布図のデータ範...
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
楽天RSSからエクセルVBAを使用...
-
エクセルでデータの比較をした...
-
VBAで変数の数/変数名を動的に...
-
テキストボックスから、複数の...
-
VBA Userformで一部別シートに...
-
GASでチェックボックスを一括of...
-
VBA別シートの最終行の次行へ転...
-
VBA 別ブックからの転記の高速...
-
Excel VBA オートフィルターで...
-
VBA 実行時エラー1004 rangeメ...
-
【VBA】特定の条件でセルをコピー
-
VB2005でExcelのグラフのデータ...
-
セルの値と同じ名前のシートに...
-
100万件越えCSVから条件を満た...
-
同じ処理を処理数分記述せず、...
-
Excel2013で切り取り禁止
-
マクロでシートからシートへの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELのSheet番号って変更でき...
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
VBA 空白行に転記する
-
VBA別シートの最終行の次行へ転...
-
Count Ifのセルの範囲指定に変...
-
【VBA】データを各シートに自動...
-
Changeイベントで複数セルへの...
-
VBAで変数の数/変数名を動的に...
-
VBA 別ブックからの転記の高速...
-
Excel VBA オートフィルターで...
-
【VBA】特定の条件でセルをコピー
-
VBAでEXCELから固定長...
-
Excel2013で切り取り禁止
-
Unionでの他のシートの参照につ...
-
楽天RSSからエクセルVBAを使用...
-
100万件越えCSVから条件を満た...
-
ExcelのVBマクロを、バックグラ...
-
VBA 実行時エラー1004 rangeメ...
-
同じ作業(データコピー・貼付...
おすすめ情報