2015-07-21 67 views
0

我試圖在宏將數據填充到單元格後更改單元格中的內容。例如,我的宏將在單元格中放置750。然後我需要在750之後放置一個「T」,而不刪除750. 750每次使用宏都會改變,所以我不能只使用ActiveCell.FormulaR1C1 = "750 T"使用VBA將文本添加到單元格而不刪除單元格中已有的內容

它總是一個添加了「T」的數字,但如果它被格式化爲文本則很好。

+3

怎麼樣'ActiveCell.Value = ActiveCell.Value&「T」' – padawan0007

+0

爲什麼不讓你的宏添加T? –

+0

你使用的是什麼代碼?您可以將該值存儲到變量中,然後連接「T」 – Raystafarian

回答

4

你要保持那裏的東西,並添加一個T,所以這裏是如何:

ActiveCell.Value = ActiveCell.Value & " T" 

您可以更改ActiveCell到任何你想要的。

完全從@ padawan0007剽竊,雖然答案很明顯。

另外我必須問你是否使用ActiveCell.FormulaR1C1出於特定原因?如果您未插入實際公式,則應該使用.Value。

+1

我對編程非常陌生,顯而易見的答案對我來說並不總是那麼明顯。謝謝您的幫助。 – bdkong

+0

'ActiveCell.FormulaR1C1 =「750 T」'看起來好像是在錄製一個宏後手工輸入'750 T'到一個單元格後產生的代碼行。我願意打賭,這就是爲什麼他使用'.FormulaR1C1'而不是'.Value' – padawan0007

+0

你會是對的@ padawa0007。我記錄了我所能掌握的一個宏,現在我正在回顧它並改變我需要的部分。不是最好的或最乾淨的方法,但我沒有太多選擇。 – bdkong

4

更靈活的方法是對這樣的任意後綴使用自定義格式。例如,

ActiveCell.NumberFormat = "#,##0 T;-#,##0 T" 

會把T作爲你想爲750噸不必重新運行宏750號更改時的開銷。您可以在不影響T後綴的情況下對這些單元格值進行復制,粘貼,排序和執行常規操作。

+0

同意這一點 - 通過VBA宏應用格式,或者如果它是一組特定的單元格,您甚至可以手動應用格式化標準。無論哪種方式,如果您希望基數在那裏,這將對您更有用。另一方面,如果你需要在你的操作中使用T(例如:假設你想檢查「250 T」是否與你的任何單元格相匹配),你需要在單元格中添加「T」另一個答案。 –

+0

這種方式更好。我很懶。 – padawan0007

相關問題