質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

6634閲覧

セルの範囲指定に変数を使用してcount Ifの中で使用する方法

mailrie

総合スコア1

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/07/10 10:50

編集2021/07/10 11:05

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Excel VBAでは、くどくインスタンス指定しないと反応しません。

VBA

1Sheets("データ").Range(cells(r,3),cells(r,9))

VBA

1Sheets("データ").Range(Sheets("データ").cells(r,3),Sheets("データ").cells(r,9))

にしてみましょう。

投稿2021/07/10 12:06

seastar3

総合スコア2287

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mailrie

2021/07/10 12:32

教えていただいたもので動きました! ずっと悩んでいたのでとても助かりました 1つ1つ指定してあげないといけないのですね 全然気か付きませんでした… ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問