2017-07-03 337 views
0

我試圖轉換列B中的所有數據,其中目前是整數ex。 26,以文本格式,例如「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」仍然是錯誤的。 @DanielElmnas – Jordan

0

試試這個,然後:

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