2016-07-12 3 views
0

今、私は、特定の行の3つの異なるセルの情報を使用して、別のセルに必要な情報を自動入力しようとしています。私はVBAを使用して以来、しばらくして、私は "Object defined error"をなぜ得ているのか分かりません。ここに私のコードがあり、あなたが正しい方向に私を向けるのを助けることができるなら、私はそれを感謝したいと思います。複数のセルを取得してその情報を使用して別のセルを作成する

Sub Conduit() 

Sheets("Sheet4").Select 

Dim celltxt As String 
Dim celltxt2 As String 
Dim celltxt3 As String 
Dim i As Integer 

i = 3 

Do While Cells(i, 3).Value <> "" 

    celltxt = ActiveSheet.Range("Bi").Text 
    celltxt2 = ActiveSheet.Range("Fi").Text 
    celltxt3 = ActiveSheet.Range("Di").Text 

    If InStr(3, celltxt, "RMS") And InStr(3, celltxt2, "XHHW-2") And InStr(3, celltxt3, "1/C") Then 
     [Ai].Value = "2" 

    Else 
     [Ai].Value = "999999" 

    End If 
    i = i + 1 
Loop 


End Sub 
+0

どのラインでエラーが表示されますか? F8でコードをステップ実行して、どこでエラーが発生しているのか確認しましたか? – Tim

+0

私は '[Ai]'に値を割り当てる部分を推測しています。それは何ですか?あなたはそれをどこで定義しましたか? – Tim

答えて

2

このライン celltxt = ActiveSheet.Range("Bi").Textが正しくありません。

は愛のために同じ

celltxt = ActiveSheet.cells(i,2).Text

を試してみてください。あなたは文字列にintvarすることはできませんし、それが正しいと期待しています。

+1

ええ、これも問題になります。 'ActiveSheet.Range(" B "&i).Text' – Tim

+2

もう1つのコメントを使用することもできます。 '.Text'プロパティはセル内の可視テキストを返します。テキストの一部が隠れている場合、 '.Text'はあなたが期待するものを含んでいないかもしれません。 '.Value'プロパティは、セル内のすべてのテキストを含みます。 @Trimが合意した。 – Tim

+0

また、 '.Value2'はテキストプロパティのより近くにあります。 – cyboashu

関連する問題