
For Next構文の中でCountIfのセルの範囲指定を変数rを使って表示したいのですが、うまくいきません
以下の
Range("C5:I5")
の部分を
Range(cells(r,3),cells(r,9))
に変更したら動かなくなってしまいました
どの部分がいけないのか教えていただけますでしょうか
Sub 勤務の曜日入力()
Application.ScreenUpdating = False
Dim i As Long
Dim r As Long
With Sheets("シフト")
For r = 5 To .Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To .Cells(3, Columns.Count).End(xlToLeft).Column
If WorksheetFunction.CountIf(Sheets("データ").Range("C5:I5"), .Cells(4, i)) = 1 Then
.Cells(r, i) = "●"
Else
.Cells(r, i) = ""
End If
Next i
Next r
End With
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは、
おそらく1004エラーでしょうか?
Sheets("シフト")が表示された状態で実行されており
セル指定のシートオブジェクトが明示されていない為と思われます。
cells(r,3)、、のシートオブジェクトはActiveSheetを指します。
シートをまたがった範囲指定は1004エラーになります。
結論を示すと
Sheets("データ").Range(Sheets("データ").Cells(r, 3), Sheets("データ").Cells(r, 9))とすれば回避できると思います。
少し気持ち悪いのですが、こんな書き方も出来ます
Sheets("データ").Range("C" & r & ":I" & r)
できました!
すごいですね!
1週間、色々と書きかえたり調べたりしていたのに短時間で回答くださりとっても助かりました
とっても嬉しいです!!
きょうは安心して休めます
本当にありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) ExcelVBAの転記について 1 2022/03/23 20:13
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Visual Basic(VBA) A列B列C列 3 2023/04/26 18:11
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセル countif関数で、範囲を可変にするには
Excel(エクセル)
-
COUNTIFS関数 参照先の列を可変にしたい
Excel(エクセル)
-
COUNTIF関数 参照先の列を可変にしたい
Excel(エクセル)
-
-
4
OFFSET関数とCOUNTIFって組み合わせはできますか? COUNTIF関数で行を新しく追加した
Excel(エクセル)
-
5
[VBA] CountIfに変数を使いたい
その他(プログラミング・Web制作)
-
6
[Excel]COUNTIFの検索範囲条件をセル参照でしたい
Excel(エクセル)
-
7
VBAでセル入力の数式に変数を用いたい
Excel(エクセル)
-
8
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
9
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
10
VBAで変数に関数式の結果をセットする場合
Excel(エクセル)
-
11
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
12
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
13
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
14
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
15
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
16
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
17
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
18
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
19
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
20
EXCEL VBA で指定した範囲に入力があるかどうか?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELのSheet番号って変更でき...
-
マクロの「SaveAs」でエラーが...
-
VBA 空白行に転記する
-
VB2005でExcelのグラフのデータ...
-
ExcelのVBマクロを、バックグラ...
-
VBA別シートの最終行の次行へ転...
-
VBAのグラフに違うシートの...
-
マクロ実行後に別シートの残像...
-
Changeイベントで複数セルへの...
-
集計して別シートに集計結果を出す
-
【VBA】複数シートのデータを1...
-
Excel 条件一致の別シートの行...
-
まとめシートから集計シートへA...
-
VBAでEXCELから固定長...
-
vba 連続するとうまく作動せず
-
100万件越えCSVから条件を満た...
-
【VBA】特定の条件でセルをコピー
-
VBAで、1つのエクセルで、2つの...
-
Excelで横書き50行の漢字テス...
-
VBAで質問ですが、皆さんはどの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
EXCELのSheet番号って変更でき...
-
VBA 空白行に転記する
-
マクロ実行後に別シートの残像...
-
VBA別シートの最終行の次行へ転...
-
Count Ifのセルの範囲指定に変...
-
VBA 別ブックからの転記の高速...
-
Changeイベントで複数セルへの...
-
【VBA】特定の条件でセルをコピー
-
100万件越えCSVから条件を満た...
-
楽天RSSからエクセルVBAを使用...
-
複数シートの複数列に入力され...
-
Excel VBA オートフィルターで...
-
VBAで変数の数/変数名を動的に...
-
Unionでの他のシートの参照につ...
-
Excel2013で切り取り禁止
-
VBA 実行時エラー1004 rangeメ...
-
ExcelのVBマクロを、バックグラ...
-
VBA 最終行を選んだシートにコ...
-
アクセスからエクセルへ出力時...
おすすめ情報