2016-08-17 5 views
0

文字列変数をワークシートのセルと同じにするのは、型が一致しないためです。私はまた、すべてのワークシートの内容と等しい単一の文字列変数(SheetString)を作成したいと思います。私のコードの一部は以下の通りです:ワークシートを文字列変数に移動

Range("A1").Select 
    Set sht = ThisWorkbook.Worksheets("Sheet3") 
    LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row 
    Set rng = Range("A1:A" & LastRow).SpecialCells(xlCellTypeBlanks) 
    rng.EntireRow.Delete 
    LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row 
    'MsgBox (Continue) 
    Set rng = Range("A1:A" & LastRow) 

    'For x = 1 To LastRow 
     'RowString = cell(x, 1).Value 
     'if instr(,RowString,("Sheet1"). 
    SheetString = Range("a1:a" & LastRow).Value 
    MsgBox (Continue) 
    IE.Quit 

おかげ

+0

アクセスすることができ、配列を作成します

Sub Sample() Dim SheetString As Variant LastRow = 12 '<~~ Example SheetString = range("a1:a" & LastRow).Value End Sub 

これを得ているとして、あなたがType MismatchエラーになりますVariantとしてSheetStringを宣言する必要が複数の配列を配列にするには配列ですか? –

+0

@Bobあなたがここで尋ねた答えを試しましたか? –

+0

はい。問題は、答えようにマークを – Bob

答えて

0

あなたはで全範囲をasignしたい場合、あなたはループをnned、このような文字列を割り当てることはできません、次のように:

For i = 1 To LastRow 
    SheetString = SheetString & ";" & Range("A" & i).Value 
Next i 
0

は、この例を参照してください

Sub Sample() 
    Dim SheetString As String 
    LastRow = 12 '<~~ Example 
    SheetString = range("a1:a" & LastRow).Value 
End Sub 

これはできません。しかし、列全体を配列に格納することはできます。下記の他に示すように、そのためにあなたが現在あなたがループはそれが必要

For i = LBound(SheetString) To UBound(SheetString) 
    Debug.Print SheetString(i, 1) 
Next i 
+0

ありがとう!私はそれを試してみましょう。 – Bob

関連する問題