
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセル countif関数で、範囲を可変にするには
Excel(エクセル)
-
COUNTIFS関数 参照先の列を可変にしたい
Excel(エクセル)
-
[Excel]COUNTIFの検索範囲条件をセル参照でしたい
Excel(エクセル)
-
-
4
[VBA] CountIfに変数を使いたい
その他(プログラミング・Web制作)
-
5
COUNTIF関数 参照先の列を可変にしたい
Excel(エクセル)
-
6
VBAでセル入力の数式に変数を用いたい
Excel(エクセル)
-
7
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
8
OFFSET関数とCOUNTIFって組み合わせはできますか? COUNTIF関数で行を新しく追加した
Excel(エクセル)
-
9
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
10
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
11
VBAで変数に関数式の結果をセットする場合
Excel(エクセル)
-
12
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
13
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
14
UserForm1.Showでエラーになります。
工学
-
15
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
16
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
17
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
18
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
19
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
20
EXCELVBAにて文字列にして「01」と表示させて、CSV形式で保存すると「1」になってしまう。
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
Count Ifのセルの範囲指定に変...
-
EXCELのSheet番号って変更でき...
-
VBA 空白行に転記する
-
Excel2013で切り取り禁止
-
VBAコードについて
-
アクセスからエクセルへ出力時...
-
VBAでEXCELから固定長...
-
VBAで質問ですが、皆さんはどの...
-
Unionでの他のシートの参照につ...
-
VBA 別ブックからの転記の高速...
-
Excelで横書き50行の漢字テス...
-
Changeイベントで複数セルへの...
-
VBA別シートの最終行の次行へ転...
-
VBA sum ワークシートChange
-
Excel UserForm の表示位置
-
【マクロ】実行時エラー '424':...
-
「段」と「行」の違いがよくわ...
-
Excel VBAでのWorksheet_Change...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
マクロ実行後に別シートの残像...
-
EXCELのSheet番号って変更でき...
-
VBA 空白行に転記する
-
Count Ifのセルの範囲指定に変...
-
VBA別シートの最終行の次行へ転...
-
楽天RSSからエクセルVBAを使用...
-
100万件越えCSVから条件を満た...
-
VBAで変数の数/変数名を動的に...
-
Changeイベントで複数セルへの...
-
アクセスからエクセルへ出力時...
-
VBAでEXCELから固定長...
-
ExcelのVBマクロを、バックグラ...
-
VBA 別ブックからの転記の高速...
-
Excel VBA オートフィルターで...
-
【VBA】データを各シートに自動...
-
複数シートの複数列に入力され...
-
グラフマクロで系列を変数にす...
-
Unionでの他のシートの参照につ...
-
Excel2013で切り取り禁止
おすすめ情報