VBAのコード入力時に 型が一致しません とエラー表示が出てしまいます、、。
対処法がわからず困っています。修正方法を教えていただきたいです。
以下のものが入力したコードです。
よろしくお願いいたします。(´;ω;`)
Sub AA1()
Dim i
For i = 60 To 104
If Cells(i, "D") Like "*入*" Then
Range(Cells(i, "AM"), Cells(i, "AP")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
ElseIf Cells(i, "D") Like "*退*" Then
Range(Cells(i, "AM"), Cells(i, "AL")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
ElseIf Cells(i, "D") = "空" Then
Range(Cells(i, "AN"), Cells(i, "AL")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
ElseIf Cells(i, "D").Interior.Color = RGB(252, 228, 214) And Cells(i, "D") = "" Then '空白でオレンジ色なら
Range(Cells(i, "AL"), Cells(i, "AN")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
End If
Next i
Dim i1
For i1 = 60 To 104
If Cells(i1, "E") Like "*入*" Then
Range(Cells(i1, "AS"), Cells(i1, "AP")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
ElseIf Cells(i1, "E") Like "*退*" Then
Range(Cells(i1, "AM"), Cells(i1, "AP")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
ElseIf Cells(i1, "E") = "空" Then
Range(Cells(i1, "AO"), Cells(i1, "AQ")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
ElseIf Cells(i1, "E").Interior.Color = RGB(252, 228, 214) And Cells(i1, "E") = "" Then '空白でオレンジ色なら
Range(Cells(i1, "A0"), Cells(i1, "AQ")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
End If
Next i1
End Sub
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
No5です。
連投失礼。
テストデータを修正し忘れましたので、訂正しておきます。
誤:For r = 16 To 27
↓ ↓ ↓
正:For r = 60 To 104
No.5
- 回答日時:
こんにちは
>型が一致しません とエラー表示が出てしまいます、、。
>対処法がわからず困っています。
エラーが発生した場合、メッセージとエラーの発生した行が表示されますので、その状態での変数の値などを調べてみれば対処できると思います。
イミディエイトウインドウやウォッチウィンドウを利用しましょう。
ざっと見ただけですが、エラーの直接の原因は最後の方にある、
>Range(Cells(i1, "A0"), Cells(i1, "AQ"))~~
が、セル位置の指定として正しくないのでエラーになっているのでしょう。
(「A0」という列番号は存在しませんので)
エラーが発生しているのは、その行ではありませんか?
以下は、ご質問には関係ありませんけれど・・・
全体的に見て、同じような処理を繰り返し記述なさっていますが、事前に整理してからコード化すれば、多少なりとも単純化できそうに思います。
(理解しやすいとは限りませんけれど・・)
考え方は多少変わってしまいますけれど、例えば、以下のような記述でも同様の処理は可能と思います。
(ご提示の内容と同等なので、色付けするのみでキャンセルはしません)
Sub AA1()
Dim r As Long, c As Long, orange As Long
Dim pos, p As Long, txt As String, cf As Boolean
orange = RGB(252, 228, 214)
pos = Split("394 424 382 394 383 413", " ")
For r = 16 To 27
For c = 0 To 1
txt = Cells(r, 4 + c).Text
cf = Cells(r, 4 + c).Interior.Color = orange
If InStr(txt, "入") Then p = pos(c) _
Else If InStr(txt, "退") Then p = pos(2 + c) _
Else If txt = "空" Or (txt = "" And cf) Then p = pos(4 + c) _
Else p = 0
If p > 0 Then Cells(r, Int(p / 10)).Resize(, p Mod 10).Interior.Color = vbRed
Next c
Next r
End Sub
No.1
- 回答日時:
「型が一致しません」よりも前に「Nextに対応するForがありません」とかが出てこなければおかしいように思います。
というか、Ifは行頭に書かれていなければならないのですが、このソースではElseIf が何か所か出てきます。これは「ElseIf」という変数として認識されるように思います。
For~Next と If~Else~End If の入れ子の構造をはっきり認識するところから始めてみてはいかがでしょうか。
とりあえず、私が書き直してみたコードを載せますが、何をやりたいのか不明なので、これが正解かどうかはわかりません。
Sub AA1()
Dim i
For i = 60 To 104
If Cells(i, "D") Like "*入*" Then
Range(Cells(i, "AM"), Cells(i, "AP")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
Else
If Cells(i, "D") Like "*退*" Then
Range(Cells(i, "AM"), Cells(i, "AL")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
Else
If Cells(i, "D") = "空" Then
Range(Cells(i, "AN"), Cells(i, "AL")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
End If
End If
If Cells(i, "D").Interior.Color = RGB(252, 228, 214) And Cells(i, "D") = "" Then '空白でオレンジ色なら
Range(Cells(i, "AL"), Cells(i, "AN")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
End If
End If
Next i
Dim i1
For i1 = 60 To 104
If Cells(i1, "E") Like "*入*" Then
Range(Cells(i1, "AS"), Cells(i1, "AP")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
Else
If Cells(i1, "E") Like "*退*" Then
Range(Cells(i1, "AM"), Cells(i1, "AP")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
Else
If Cells(i1, "E") = "空" Then
Range(Cells(i1, "AO"), Cells(i1, "AQ")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
Else
If Cells(i1, "E").Interior.Color = RGB(252, 228, 214) And Cells(i1, "E") = "" Then '空白でオレンジ色なら
Range(Cells(i1, "A0"), Cells(i1, "AQ")).Interior.Color = RGB(255, 0, 0) ' セルが赤色
End If
End If
End If
End If
Next i1
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAのループ処理について教えてください 3 2024/11/15 11:47
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
- Visual Basic(VBA) VBAコードが作動しません。修正したいのですが何処に原因かあるか教えて下さい。 1 2024/01/08 16:23
- Excel(エクセル) エクセルマクロでデータ出力の際の条件がうまく機能しません。 2 2023/09/30 13:01
- Visual Basic(VBA) VBA listBoxについて 2 2024/03/26 16:14
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) VBAコードについて 2 2024/03/10 12:41
- Visual Basic(VBA) A列B列C列 3 2023/04/26 18:11
- Excel(エクセル) エクセルマクロでデータ出力の際の条件がうまく機能しません。 5 2023/10/01 12:50
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
【お題】逆襲の桃太郎
【大喜利】桃太郎が1回鬼退治に失敗したところから始まる新作昔話「リベンジオブ桃太郎」にはこんなシーンがある
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
Visualbasicの現状について教えてください
Visual Basic(VBA)
-
VBAコードのインデント表示
Visual Basic(VBA)
-
VBA コードどこがおかしいですか?
Visual Basic(VBA)
-
-
4
不要項目の行削除方法について
Visual Basic(VBA)
-
5
Excel VBAについて。こんな動作をさせるためにはどう書けばよいでしょうか。
Visual Basic(VBA)
-
6
EXCEL vbaでシート上に配置したボタンの移動については
Visual Basic(VBA)
-
7
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
8
VBA 2次元配列の出力
Visual Basic(VBA)
-
9
VBAのループ処理について教えてください
Visual Basic(VBA)
-
10
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
11
Excel VBA 選択範囲の罫線色の変更プロージャの動作速度の改善について
Visual Basic(VBA)
-
12
ExcelVBAマクロで実行した時の疑問
Visual Basic(VBA)
-
13
VBA初心者です。次のVBAコードで、17行目を削除したいのですがうまく動きません 改善策を教えてく
Visual Basic(VBA)
-
14
エクセル タブの下のメニューを選択 実行するコード
Visual Basic(VBA)
-
15
エクセルVBAコードで教えて下さい!
Visual Basic(VBA)
-
16
vba アクティブシートの名前変更について教えてください
Visual Basic(VBA)
-
17
Excel 範囲指定スクショについて Excelで範囲指定してスクリーンショットする機能がありますが
Visual Basic(VBA)
-
18
サブフォルダに格納されているファイルを、ファイル名ごとに条件分岐させたい
Visual Basic(VBA)
-
19
VBA 入力箇所指定方法
Visual Basic(VBA)
-
20
VBAで特定の文字が入った行をコピーして貼り付けたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで在庫の組み換え処...
-
VBAから書き込んだ条件付き初期...
-
WindowsのOutlook を VBA から...
-
【ExcelVBA】5万行以上のデー...
-
【VBA】 結合セルに複数画像と...
-
VBA Application.Matchについて...
-
Excel マクロについて詳しい方...
-
VBAでセルの書式を変えずに文字...
-
【ExcelVBA】値を変更しながら...
-
Excel VBA 選択範囲の罫線色の...
-
[VB.net] ボタン(Flat)のEnable...
-
VBA 最終行の取得がうまくいか...
-
ExcelのVBAコードについて教え...
-
VBA 同じフォルダ内のすべての...
-
Vba 型が一致しません(エラー1...
-
[Excel VBA]特定の条件で文字を...
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】オートフィルターに...
-
Excelのマクロについて教えてく...
-
VBA 円グラフ 特定条件に一致し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAについて教えて下さい
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
【ExcelVBA】5万行以上のデー...
-
VBA Application.Matchについて...
-
Excelのマクロについて教えてく...
-
Excel VBAについて。こんな動作...
-
Excelの数式について教えてくだ...
-
ExcelのVBAコードについて教え...
-
VBA 同じフォルダ内のすべての...
-
不要項目の行削除方法について
-
Vba 型が一致しません(エラー1...
-
【マクロ】オートフィルターに...
-
【VBA】 結合セルに複数画像と...
-
VBAで特定の文字が入った行をコ...
-
ExcelのVBAコードについて教え...
-
VBAでセルの書式を変えずに文字...
-
VBAのエラー表示の対処法について
-
Excelのマクロについて教えてく...
-
Excel マクロについて詳しい方...
おすすめ情報