2012-05-13 18 views
1

に空白を削除し、私はVBAエクセル

Dim startIndex As Integer 
Dim toIndex As Integer 
Dim f As String 
Dim g As String 

For startIndex = 50 To 60 Step 2 
toIndex = Str(startIndex + 1) 
f = "F" & Str(toIndex) 
g = "G" & Str(startIndex) 
Range(f).Value = Range(g).Value 
Range(g).Value = "" 
Next startIndex 

しかし、変数fをセルからセルへの移動テキストのためのいくつかのコードの代わりに「F51」の「F 51」の値を持つがあります。

どのようにこの問題を解決しますか? p.s.それはvbaの私の最初のコードです。

答えて

6

あなたは、最終的な結果には、ここから持ち上げすなわち

Replace ("alphabet", "a", "e") 'would return "elphebet" 

toIndexまたはREPLACEスペースをTRIM()ことができます:あなたが使用する必要がありhttp://www.techonthenet.com/excel/formulas/replace.php

そう...

f = Replace (f, " ", "") 
13


CStr
ない
Str

数値が文字列に変換されているときには回避策がStr

ためつまりExcelのヘルプから

f = "F" & CStr(toIndex) 
g = "G" & CStr(startIndex) 

unncessaryスペース

を除去するために必要とされていません、先頭のスペースは常に番号の記号のために予約されています。

+2

+1コアの問題になる'toIndex = startIndex + 1'に変更するか、' f = "F"&CStr(startIndex + 1) 'を使用して' toIndex'を削除してください。 –

関連する問題