VBA初心者です。初めて質問させて頂きます。
400行程度の業務管理表のマクロを作成しております。
1行につき1物件のデータですが、1物件につき3回の〆切日があります。
その3回とも"完了"かもしくは"支援なし"になったら、それぞれの作業時間を合計するような感じにしたいです。
(作業時間の方は、同じシート内の遠い場所にSplit関数で1セルずつ抽出しております。)
以下のように考えてみたのですが、全く動作せず・・・検索や書籍にあたってもなかなか該当する内容に当たらず途方に暮れております・・・。
何か原因はございますでしょうか。ご教示いただけますと幸いです。
宜しくお願い致します。
Sub 複数のセルが終了か支援なしの時()
Dim i, lRow As Long
Dim rng As Range
lRow = Cells(Rows.Count, "B").End(xlUp).Row
For i = 6 To lRow
Next
Select Case Cells(i, 16).Value & Cells(i, 24).Value & Cells(i, 34).Value
Case "終了", "支援なし"
Set rng = Union(Range(Cells(i, 178), Cells(i, 192)), _
Range(Cells(i, 206), Cells(i, 220)), _
Range(Cells(i, 234), Cells(i, 248)), _
Range(Cells(i, 262), Cells(i, 276)), _
Range(Cells(290)))
Cells(i, 43) = _
Application.WorksheetFunction.Sum(rng)
Case Else
'何も実行しない
End Select
End Sub
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
すでに指摘があるように、
>For i = 6 To lRow
>Next
は、何もしないループになっているので、結果的に意味が無いものになっています。
For i = 6 To lRow
' 実行したい処理内容
Next
としておかないとループが意味を持ちません。
>その3回とも"完了"かもしくは"支援なし"になったら
と言いながら
>Case "終了", "支援なし"
になっているけれど・・・?
そもそも、比較対象を
>Select Case Cells(i, 16).Value & Cells(i, 24).Value & Cells(i, 34).Value
と、3セル分連結しているので、該当する結果は、
終了終了終了
終了終了支援なし
終了支援なし終了
終了支援なし支援なし
支援なし終了終了
支援なし終了支援なし
支援なし支援なし終了
支援なし支援なし支援なし
の8種類になるのでは?
あるいは「3回とも」というのが、「全部が同じ値」という意味なら
終了終了終了
支援なし支援なし支援なし
の2種類ってことなのかも。
別法として、普通の関数式にしてあらかじめ設定しておけば、いちいちVBAを実行しなくても自動計算してくれると思いますけれど・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VABについて 1.xlsm、VBA.xlsm2つのファイルがあり、1.xlsmにてVB 6 2021/12/13 17:46
- Visual Basic(VBA) 条件をつけてカウントする 4 2021/12/19 20:27
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) 空のシートに関数を入れたい 2 2021/12/03 15:08
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBAで教えて頂きたいのですが? 3 2021/11/12 23:38
- Visual Basic(VBA) シート名でファイル検索する 2 2021/11/30 17:05
- Visual Basic(VBA) VBA ある文字が含まれるセルの行をうまく削除出来ません 3 2021/10/30 22:07
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) 離れたセルを比較 5 2022/02/02 19:59
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
Vba ユーザ定義関数について教えてください
Visual Basic(VBA)
-
Vba Cells.Findについて教えてください
Visual Basic(VBA)
-
【補足欄が足りなかったため、こちらで再質問させていただきます。】 Excelの転記マクロについて、教
Visual Basic(VBA)
-
-
4
csvファイルを列数ごとに分割するExcelマクロが書けずに困っています
Visual Basic(VBA)
-
5
select case について
Visual Basic(VBA)
-
6
こんにちは。Excelのデータ入力規則のことで教えてください。複数条件を指定したい場合の構文ですが、
Excel(エクセル)
-
7
Excelマクロで空白セルの大小比較処理について
Visual Basic(VBA)
-
8
複雑なシフト表から1日ごとの出勤者、シフトを抜き出したいです
Excel(エクセル)
-
9
xmlドキュメントから別拡張子で保存したい
Visual Basic(VBA)
-
10
2013Excel保存済みファイルグレーアウト Excelを開こうとするとメニュー以外全てグレーにな
Excel(エクセル)
-
11
エクセルのVBAでのコピー
Excel(エクセル)
-
12
エクセルマクロで出力行の増やし方がわかりません。
Visual Basic(VBA)
-
13
マクロVBAについてご教授いただけましたらと存じます。
Visual Basic(VBA)
-
14
一つのフォルダーに50個のエクセルファイルがあります。 各ファイルにはAとBのシートがあります。 5
Visual Basic(VBA)
-
15
環境依存文字?をEnumで定義したい
Visual Basic(VBA)
-
16
Windows 11 Pro での、VBAのCode書き換えで、1点お教え願います。
Visual Basic(VBA)
-
17
エクセル CSVファイルについて
Excel(エクセル)
-
18
下記のような条件付き書式はどうやって設定したら良いのか教えていただきたいです。 180時間を満たない
Excel(エクセル)
-
19
VBA 何かしら文字が入っていたら
Visual Basic(VBA)
-
20
Excel VBAにて、2GB超の点群データ(CSVファイル,改行コードLF)を高速で解析したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルが空白だったら、そ...
-
ExcelVBAを使って、値...
-
VBAでセルをクリックする回...
-
VBからEXCELのセルの値を取得す...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
【Excel】指定したセルの名前で...
-
Sub 要具ライフ() ActiveSheet....
-
任意フォルダから画像をすべて...
-
i=cells(Rows.Count, 1)とi=cel...
-
【VBA】飛び飛びの3セルに"完了...
-
Excel VBAで比較して数値があっ...
-
Excel VBA、 別ブックの最終行...
-
【Excel VBA】指定行以降をクリ...
-
TODAY()で設定したセルの日付...
-
エクセル(Excel) ワイルドカー...
-
EXCELで変数をペーストしたい
-
エクセルVBAで、シート上で結合...
-
ExcelのVBAで数字と文字列をマ...
-
VBAの計算で@が出てしまう件
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
Excel VBA、 別ブックの最終行...
-
EXCELで変数をペーストしたい
-
Excelのプルダウンで2列分の情...
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
DataGridViewの各セル幅を自由...
-
Sub 要具ライフ() ActiveSheet....
-
【EXCEL VBA】Range("A:A").Fi...
-
VBAを使用した時間管理
-
VBAでセルをクリックする回...
-
セル色なしの行一括削除
-
エクセルVBAでコピーして順...
おすすめ情報