for next 土日祝日除く方法
お世話になります。
2つのブックを比べてうごかすマクロをこのQ&Aで教えて頂き
やりたい事が出来て助かっています。
そのマクロの中で質問があるのですが
日付管理簿のワークシートのシート名が
11月1日~11月30日になっています
11月1日~11月30日のシートを指定するコードの時に
For next で 変数で jを 1~30で指定していますが
日付管理簿のシートは土日祝日の日付はないため、
マクロを動かすたびに
インデックスが有効の範囲にありませんと出ます
(土日祝日の日付のシートがないため出てきます)
あらかじめ土日祝日を除く状態で変数を割り当てる事が可能なのでしょうか?
分かる方がいらっしゃるならご教授願います
下記にfor nextのコードを記述させて頂きます
Dim j As Long
For j = 1 To 30
Set w0 = Workbooks("大元データ.xls").Worksheets(1)
Set w1 = Workbooks("日付管理簿.xls").Worksheets("11月" & j & "日")
↑
【このjの部分の日付を土日祝日を抜いた状態で割り当てる事が出来るのか】
next
宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
土日判定は簡単ですが、祝日の判定はけっこうやっかいです。
それよりは、シートが存在するときだけ処理をするようにすれば簡単です。
Dim j As Long
For j = 1 To 30
Set w0 = Workbooks("大元データ.xls").Worksheets(1)
On Error Resume Next
Set w1 = Workbooks("日付管理簿.xls").Worksheets("11月" & j & "日"))
If Err.Number = 0 Then
'処理
End If
Next
この回答への補足
nag0720様
返答遅れてしまって申し訳ありません。
存在してるシートだけに処理をするという構築が参考になります。
返答頂いてコードを組み込んでみましたが
申し訳ありません。 上手く動かないのです・・・・
11月の土祝日を除いた状態でシートは存在して全シートに確認するようにしているのですが
コードの記述の仕方が変なのでしょうか?
もしよろしければ
確認して頂いてもよろしいでしょうか?
以下コードになります
Sub 転記()
Dim w0 As Worksheet, w1 As Worksheet
Dim h As Range, Target As Range
Dim j As Long
For j = 1 To 28
Set w0 = Workbooks("大元データ.xls").Worksheets(1)
On Error Resume Next
Set w1 = Workbooks("日付管理簿.xls").Worksheets("11月" & j & "日")
If Err.Number = 0 Then
End If
Next
For Each h In w0.Range("G7:G" & w0.Range("G65536").End(xlUp).Row)
Set Target = w1.Cells.Find(what:=h.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not Target Is Nothing Then
Select Case h.Offset(0, 1).Value
Case "確認"
Target.Offset(0, 6) = h.Offset(0, 1).Value
Case Else
End Select
End If
Next
End Sub
11月1日と11月5日に確認するデータを記述してテストしてみましたが
転記されていない模様です。
お忙しい中申し訳ありません。
確認して頂いてもよろしいでしょうか?
色々と申し訳ありません。
書いたコードの転記間違っていました
nag0720様の書いていただいたコードで動きました
お手数かけました
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 祝日を除いた月曜から土曜までの1週間分の日付行を選択し、別シートへカットアンドペーストしたい 13 2023/07/13 22:46
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- その他(Microsoft Office) エクセルの休日について教えてください。 1 2023/01/06 15:45
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数シートの保護・解除
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
マクロを特定の複数シートで実...
-
VBAで条件によってシート見出し...
-
EXCELでワークシートを開いたら...
-
エクセルでシートの並び替えで...
-
エクセルで串刺ししたシートの...
-
エクセルを開いたとき常に同じ...
-
EXCELでマクロを使わずに図形の...
-
エクセルで、マクロボタンの表...
-
【 Excel】シートの見出しに自...
-
Excelで,特定のシートを開いた...
-
エクセルで複数のSheetを一括フ...
-
EXCELの起動時に常に同じ...
-
VBAでユーザーに別ファイルのシ...
-
ExcelのSheetに作られたMacro1...
-
エクセルを閉じる際に自動保存...
-
【Excel】複数あるシート上の住...
-
左隣のシートをコピーして挿入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
エクセルを開いたとき常に同じ...
-
EXCELでマクロを使わずに図形の...
-
エクセルでシートの並び替えで...
-
EXCELでワークシートを開いたら...
-
VBAで条件によってシート見出し...
-
エクセルの複数のワークシート...
-
Excelのマクロの呼び出し元を知...
-
マクロ 各シートの決められた位...
-
エクセルで複数のSheetを一括フ...
-
複数シートの保護・解除
-
マクロを特定の複数シートで実...
-
EXCELのエラー
-
メッセージボックスでシート名...
-
マクロでの全シート内検索
-
エクセルVBAでcmbBoxのプロパテ...
-
VBA シート名を先月の名前に...
-
Excel:複数シートから条件に合...
おすすめ情報