ここから本文です

すいません、ExcelVBAの初心者です。以下の文を構成しましたが、「型が一致しませ...

fjb********さん

2014/8/2615:28:48

すいません、ExcelVBAの初心者です。以下の文を構成しましたが、「型が一致しません」というエラーが出ます。助けてください。

Private Sub 決定_Click()
Dim i As Integer

i = 2

Do While Cells(i, 1) <> ""

If Cells(i, 2).Value = "" Then
Cells(i, 2).Value = 出身県.Text
If Cells(i, 2).Value = Worksheets("Sheet3").Range("A3:A8") Then (←ここでエラー)
Cells(i, 2).Font.ColorIndex = 5
End If
Exit Do

Else

i = i + 1

End If
Loop

End Sub



Private Sub UserForm_Initialize()
出身県.List = Worksheets("Sheet3").Range("A2:A48").Value
End Sub

閲覧数:
52
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

vin********さん

2014/8/2615:52:17

[If Cells(i, 2).Value]はセルの値です。
[Worksheets("Sheet3").Range("A3:A8")]は範囲そのものです。
この二つを比較すればエラーになります。
フォームのリストボックスまたはコンボボックスで選択された値が
Worksheets("Sheet3").Range("A3:A8")に存在するか?を調べたいのならば、たとえば

Dim c
For Each c In Worksheets("Sheet3").Range("A3:A8")
If Cells(i, 2).Value = c.Value Then
Cells(i, 2).Font.ColorIndex = 5
Exit For
End If
Next c

なんてのはいかがでしょうか。

質問した人からのコメント

2014/8/28 10:02:03

降参 ありがとうございます。助かりました。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

tra********さん

2014/8/2615:52:02

エラーが起こっている条件式の
左辺は、セル1つ。
右辺は、セル6つ。
この2つのセル範囲の値を直接比較することは、出来ません

左辺のセル値が、右辺のセル範囲に存在するが否かを求めたいのなら、

If Cells(i, 2).Value = Worksheets("Sheet3").Range("A3:A8") Then



If Application.CountIf(Worksheets("Sheet3").Range("A3:A8"), Cells(i, 2).Value) > 0 Then

riv********さん

2014/8/2615:48:49

If Cells(i, 2).Value = Worksheets("Sheet3").Range("A3:A8")

Cells(i, 2).Valueはひとつの値(文字列も含む)です。Worksheets("Sheet3").Range("A3:A8")は複数セルを含む範囲です。
比較できません。

もしCells(i, 2).Valueの値と同じ値を持つセルがWorksheets("Sheet3").Range("A3:A8")の範囲内に存在するかどうかと判定でしたら
If not Worksheets("Sheet3").Range("A3:A8").Find(What:=Cells(i, 2).Value,Lookat:=Xlwhole) Is Nothing Then
としなければなりません。
「Worksheets("Sheet3").Range("A3:A8")の範囲の中でCells(i, 2).Valueと一致するものを検索した結果がNothingでなければ」という意味になります。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる