
標題の件、3つのサブシーじゃにて同じ宣言等を
3回、記述しています。当該記述を省略はできないでしょうか?
宣言等は同じ内容の宣言です。指定しているファイル等すべて同じです
構造は
Sub オートフィルター()で 2つのサブシーじゃをCallにて
呼び出しています。当該、2つのあサブシーじゃにて毎回
同じ宣言をしています
アドバイスや省略できる出来ないも含めてご存じの方、教えて下さい
Sub オートフィルター()
●●●同じ宣言等●●●
Call シートを別のブックにコピーする
Call 降順
End Sub
sub シートを別のブックにコピーする()
●●●同じ宣言等●●●
End Sub
sub 降順()
●●●同じ宣言等●●●
End Sub
【全部で3回、同じ記述】
Dim filepath2 As String
Dim wb2 As Workbook
Dim ws2 As Worksheet
Dim a As Date
Dim z As Date
filepath2 = ThisWorkbook.Worksheets("転記元シート").Cells(14, 1)
Set ws22 = wb2.Worksheets("過去分依頼データ")
【コード】
Sub オートフィルター()
Dim filepath2 As String
Dim wb2 As Workbook
Dim ws2 As Worksheet
Dim a As Date
Dim z As Date
filepath2 = ThisWorkbook.Worksheets("転記元シート").Cells(141, 1)
Set wb2 = Workbooks.Open(filepath2)
Set ws2 = wb2.Worksheets("Sheet1")
Call シートを別のブックにコピーする
Set ws22 = wb2.Worksheets("過去分依頼データ")
Call 降順
●●●本文省略●●●
End Sub
Sub シートを別のブックにコピーする()
Dim filepath2 As String
Dim wb2 As Workbook
Dim ws2 As Worksheet
filepath2 = ThisWorkbook.Worksheets("転記元シート").Cells(14, 1)
Set wb2 = Workbooks.Open(filepath2)
●●●本文省略●●●
End Sub
Sub 降順()
Dim filepath2 As String
Dim wb2 As Workbook
Dim ws2 As Worksheet
filepath2 = ThisWorkbook.Worksheets("転記元シート").Cells(14, 1)
Set wb2 = Workbooks.Open(filepath2)
Set ws22 = wb2.Worksheets("依頼データ")
●●●本文省略●●●
End Sub
No.2ベストアンサー
- 回答日時:
変数が3回同じ記述ということですが、その変数に設定している内容が異なります。
①filepath2 = ThisWorkbook.Worksheets("転記元シート").Cells(141, 1)
②filepath2 = ThisWorkbook.Worksheets("転記元シート").Cells(14, 1)
①はSub オートフィルター()で使用
②はSub シートを別のブックにコピーする()とSub 降順()で使用
----------------------------
③Set ws22 = wb2.Worksheets("過去分依頼データ")
④Set ws22 = wb2.Worksheets("依頼データ")
③はSub オートフィルター()で使用
④はSub 降順()で使用
本文が省略されているので、正確なことはわかりませんが、
個々のプロシージャ毎に設定されている内容が異なるので、ひとつにまとめないほうが良いと考えます。
No.1
- 回答日時:
こんにちは
どのような使い方を想定しているのかわかりませんけれど、ご提示のコードが一連の処理で、そのような呼び出し関係でしか使わないのであれば・・
毎回ブックを開く必要はないので、サブ側にシート変数等を引数で渡せば済むのではないでしょうか。
あるいは、プロシージャを分ける必要もないので、まとめてしまうという方法も考えられます。
それぞれを単独で利用する可能性があるという場合は、共通部分をまとめて、
『ブック(開いていない場合はを開いて)のシートを返す関数』
にでもしておけば、その関数を呼ぶだけですむようになると思います。
ただ、ご質問には関係ありませんけれど、セルの値をそのまま信じて、ブックオープンしてよいのかどうかは疑問に感じますけれど・・・
※ 全体像がわからないため、想像での回答になっていますので、何が適切なのかは当方にはわかりませんけれど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【マクロ】1つのマクロの中に、ブック指定とシート指定が混在しても良いのですか? 2 2024/05/16 07:13
- Excel(エクセル) 3つのマクロを連続実行の中で、1つ目のマクロ要件を満たさなかったら、マクロ2・3を実行しない為には 1 2023/10/15 13:42
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2024/06/18 09:20
- Visual Basic(VBA) クリップボードに貼付している文字列が、マクロで別ブックへ転記すると、消えてしまう 1 2023/10/15 13:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2024/07/02 08:51
- Excel(エクセル) 【マクロ】違うフォルダにあるファイルから、転記するには? 4 2023/09/26 19:49
- Excel(エクセル) 【マクロ】AブックからBブックへデータコピーの後、Bブックに上書きされないようにするには? 3 2024/12/22 11:53
- Excel(エクセル) 【マクロ】その時、その時で変わる範囲を、フォルダの違う別ブックへ転記する為には ※参考画像あり 3 2024/05/11 10:33
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
このQ&Aを見た人はこんなQ&Aも見ています
-
昔のあなたへのアドバイス
過去のあなたへ一度だけアドバイスを送れる電話があったとします。
-
【お題】動物のキャッチフレーズ
【お題】「百獣の王 ライオン」「実は動物界最強 カバ」は分かるけど、それはちょっとピンと来ないなと思った動物のキャッチフレーズ
-
性格いい人が優勝
できるだけ性格いい人になって回答をお願いします。
-
はじめての旅行はどこに行きましたか?
記憶の中で1番昔の旅行先とエピソードを教えてください。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
ユーザーマクロ作成
Excel(エクセル)
-
VBAの「To」という語句について
Visual Basic(VBA)
-
【マクロ】参照渡しとモジュールレベル変数 どっちが よく使うものですか?
Excel(エクセル)
-
-
4
excelVBAについて。
Excel(エクセル)
-
5
Excel関数の解決方法
Excel(エクセル)
-
6
役所でもらった書類をエクセル化するには? 役所に申請する用紙があります。A4で表になっていて枠内に文
その他(Microsoft Office)
-
7
質問58753 このコードでうまく動作しません。どうしたら良いですか Private Sub Wor
Visual Basic(VBA)
-
8
システムファイルについて
Excel(エクセル)
-
9
自動的に日付入力 応用
Excel(エクセル)
-
10
【マクロ】データ移動について代替案(コード)or助言を下さい
Excel(エクセル)
-
11
Excel いい方法教えてください。
Excel(エクセル)
-
12
excelVBAについて。
Excel(エクセル)
-
13
excelですが一つのマスに入ってる文字を2つのマスに変更できますか
Excel(エクセル)
-
14
以下のプログラムの実行結果はどうなると思いますか? その理由も教えてください。
Visual Basic(VBA)
-
15
【マクロ】Withステートメント2つを簡略する為には?
Excel(エクセル)
-
16
別のシートの指定列の最終行を返す関数の式を教えて下さい。
Excel(エクセル)
-
17
【マクロ】参照渡しについて。受け取る変数の名前を変更すると、動かなくなる
Excel(エクセル)
-
18
【マクロ】シート追加時に同じ名前のシートがあり、エラーの場合、メッセージを出し、次のコードへ進むには
Excel(エクセル)
-
19
Excelのデーターバーについて
Excel(エクセル)
-
20
VLOOKUP FALSEのこと
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】コードを少しでも、...
-
【マクロ、画像あり】A表かB表...
-
列挿入をVBAで
-
エクセルでカウントする
-
エクセルのファイルのコピーを...
-
エクセルの難問。「コピペする...
-
エクセルの循環参照を削除したい!
-
空白処理を空白に
-
【マクロ 画像あり】Exact関数...
-
名前の間のスペースをそろえる...
-
重複しない値を抽出したい
-
エクセルでラベルシールを印刷...
-
Excelファイルを開くと私だけVA...
-
至急お願いします!エクセルの...
-
Excelに貼ったXのURLのリンク...
-
【マクロ 画像あり】セル範囲の...
-
Excelの数式?について質問です...
-
スプレッドシート(Excelでも良...
-
空白のはずがSUBTOTAL関数でカ...
-
【マクロ】条件付き書式設定を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの設定、下へスクロー...
-
別のシートの指定列の最終行を...
-
【マクロ】シート追加時に同じ...
-
Excelファイルを開くと私だけVA...
-
Excelの関数を教えて下さい。
-
マクロを実行すると、セル範囲...
-
エクセルの設定、特定の列以降...
-
Excelの条件付書式について教え...
-
Excelで作成した出欠表から日付...
-
Excelでの文字入力について
-
Excel 日付の表示が直せません...
-
Excel関数の解決方法
-
システムファイルについて
-
自動的に日付入力 応用
-
UNIQUE関数の代用
-
エクセル内に読み込んが画像の...
-
勤務外時間を出す表が作りたい
-
Excel 偶数月の15日(土日祝...
-
【マクロ】Call関数で呼び出し...
-
【マクロ】1回目の実行後、2...
おすすめ情報