2016-03-31 7 views
-2

データベースにロードする前に、すべての非数値セルをテキストにフォーマットするmakroを書いています。何が問題なのか分かりません。私のVBAスキルは悪いです。実行時エラー '424'が表示されます。ダイナミックレンジをテキストとしてフォーマットする

Sub formatAllCellsAsText() 

    Dim wsTemp As Worksheet 
    Dim LastRow As Long 
    Dim LastColumn As Long 
    Dim StartCell As Range 
    For sht = 3 To Worksheets.Count 
     Set wsTemp = Sheets(sht) 
     Set StartCell = Range("A4") 
     LastRow = wsTemp.Range("A1").CurrentRegion.Rows.Count 
     LastColumn = wsTemp.Range("A1").CurrentRegion.Columns.Count 
     For Each Cell In wsTemp.Range(StartCell, wsTemp.Cells(LastRow, LastColumn)).Cells 

     If Not IsEmpty(Cell.Value) And IsNumeric(Cell.Value) And InStr(wsTemp.Cells(1, Cell.Column), "Client ID") <= 0 Then 

      Dim Temp As Double 
      Temp = Cell.Value 
      Cell.ClearContents 
      Cell.NumberFormat = "@" 
      Cell.Value = CStr(Temp) 
      End If 
     Next 
    Next sht 
End Sub 
+2

エラーをスローする行を正確に示すのに役立ちます –

+0

'sht'に実際に母音を入れるべきです。それは重要であり得る。 –

+0

どの行にエラーが表示されるかを伝えるだけでなく、エラーの*テキスト*も含めてください。どのテキストがどのエラー番号に属しているのか常に覚えているわけではありません! –

答えて

1
Set StartCell = Range("A4") 

Set StartCell = wsTemp.Range("A4") 
0

はちょうど私が、おそらく問題を発見したとして集計するべきです。 私の最初のコードでは、後で言及したCell変数を設定しませんでした。私はCellがVBAのために自明であると思った。

関連する問題