2017-07-03 4 views
0

私は列Bのすべてのデータを変換しようとしていますが、現在は整数です。 26、テキスト形式、ex "26"。私は以下を試しました:整数で埋められた列をテキスト形式に変換する方法 - VBA - Excel

Dim index As Long 

index = 2 

Do While index_5 <> NewResizeRange 

    Worksheets("Source").Cells(index, "B").Value = CStr(Worksheets("Source").Cells(index, "B").Value) 

    index = index + 1 

Loop 

非常に遅く効果がなくなりました。

私も試してみました:

Sub Macro8() 

    Columns("E:E").Select 
    Selection.TextToColumns Destination:=Range("Table1[[#Headers],[Column5]]"), _ 
    DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter _ 
    :=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, _ 
    Other:=False, FieldInfo:=Array(1, 2), TrailingMinusNumbers:=True 
End Sub 

問題は、データを別のワークシートから来るときということであり、細胞は、それが唯一のセル内のデータの位置を表示していると述べたワークシートに参照のうえれます。

アイデア?

+0

それはVBAソリューションである必要がありますか? – MrDogme

+3

'.NumberFormat =" @ "'の範囲の書式を変更しようとしましたか? –

+0

@Nathan_Savいいえ、実際には、前にそれを見たことがない! – Jordan

答えて

0

これはあなたが探しているものですか?

Range("B1:B288889").NumberFormat = "@" 

乾杯

Elmnas

+0

B2 = 15で、.NumberFormat = "@"を使用すると、B2 = "15"はまだfalseです。 @DanielElmnas – Jordan

0

は、これを試してみてください:

Range("D1:D999999").FormulaR1C1 = "=TEXT(RC[-3],""0"")" 
Range("D1:D999999").Copy 
Range("A1:A999999").PasteSpecial Paste:=xlPasteValues 
関連する問題