
標題の件、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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBAの「To」という語句について
Visual Basic(VBA)
-
ユーザーマクロ作成
Excel(エクセル)
-
質問58753 このコードでうまく動作しません。どうしたら良いですか Private Sub Wor
Visual Basic(VBA)
-
-
4
【マクロ】参照渡しとモジュールレベル変数 どっちが よく使うものですか?
Excel(エクセル)
-
5
excelVBAについて。
Excel(エクセル)
-
6
以下のプログラムの実行結果はどうなると思いますか? その理由も教えてください。
Visual Basic(VBA)
-
7
Excel関数の解決方法
Excel(エクセル)
-
8
役所でもらった書類をエクセル化するには? 役所に申請する用紙があります。A4で表になっていて枠内に文
その他(Microsoft Office)
-
9
VBA_日時のソート
Excel(エクセル)
-
10
エクセルのファイルのコピーをとりたい
Excel(エクセル)
-
11
自動的に日付入力 応用
Excel(エクセル)
-
12
システムファイルについて
Excel(エクセル)
-
13
【マクロ】データ移動について代替案(コード)or助言を下さい
Excel(エクセル)
-
14
【マクロ】条件付き書式設定をマクロ化するには?
Excel(エクセル)
-
15
【マクロ】コードを少しでも、減らする為には
Excel(エクセル)
-
16
ExcelVBAについて。
Excel(エクセル)
-
17
実務の処理について。
Excel(エクセル)
-
18
Excel いい方法教えてください。
Excel(エクセル)
-
19
VB.net 文字列から日付型へ変更したい
Visual Basic(VBA)
-
20
excelVBAについて。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じ名前(重複)かつ 日本 ア...
-
if関数の複数条件について
-
excel
-
表計算ソフトでの様式の呼称
-
【マクロ】数式を入力したい。...
-
【Officer360?Officer365?の...
-
エクセルでフィルターした値を...
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
【関数】=EXACT(a1,b1) a1とb1...
-
Dir関数のDo Whileステートメン...
-
5単位で繰り上げしたい
-
セルにぴったし写真を挿入
-
オートフィルターの絞込みをし...
-
エクセルシートの見出しの文字...
-
エクセルの複雑なシフト表から...
-
エクセルに写真が貼れない(フ...
-
エクセルのライセンスが分かり...
-
【マクロ】excelファイルを開く...
-
【マクロ】【画像あり】4つの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報