2016-10-03 15 views
0

Excelシートの特定の列に値を作成するメソッドを作成しようとしています。上記のランタイムエラーは、Sheets.Cells.Value = Cint行で実行してください。どのようなアイデアが問題になるのでしょうか?ありがとう!アプリケーションオブジェクト定義エラー(1004)

For Each Cell In Sheets(tab_name).Range(cell_range) 
    current_row = Cell.Row 
    split_cells = Split(Cell.Value, ".") 
    Sheets(tab_name).Cells(current_row, 58).Value = CInt(split_cells(0)) 
Next Cell 
+0

"。" ? –

+0

セルが空でないことを確認する必要があります – h2so4

+0

'split_cells = Split(Cell.Value&"。 "、"。 ")' ...? 'split_cells(0)'は分割するものがあれば正しいままですが、そうでなければ 'vbnullstring'として動作するはずです。 – Jeeped

答えて

0

セルは空でなければなりません。 Splitは空でない文字列の配列を返します。ここで

enter image description here それを書くための簡単な方法です:

For Each Cell In Sheets(tab_name).Range(cell_range) 

    With Cell.EntireRow 
     If Cell <> "" Then 
      split_cells = Split(Cell.Value, ".") 
      .Cells(1, 58).Value = CInt(split_cells(0)) 
     Else 
      .Cells(1, 58).Value = 0 
     End If 

    End With 
Next Cell 
+0

はいセルは空ですが、空のセルをsplit_cellsの値に変更します。これは不可能ですか? – ViggieSmalls

+0

自分のコードが正しく構成されていません。私の更新を確認してください。ソースセルは空です。空の文字列を分割することはできません。 –

0

INT(Cell.Value)何をしようとするには十分ではないでしょうか?

関連する問題