[英]How to add single quote in front of all the rows in Excel using VBA
我有一個電子表格,其中包含帶有日期的第一列,我希望文本保持為“May-21”,但采用字符串的形式。 單元格值應該是 May-21,但是當我嘗試使用 5 位數字將其轉換為字符串時。 如果我將列保持為日期格式,它會自動選擇 May 首先,所以即使格式是 MMM-yy,值也會是 2021 年 5 月 1 日,我想將該列視為字符串而不是日期,有什么建議嗎?
這是我在 VBA 中嘗試過的:
Columns("A:A").Select
Selection.NumberFormat = "'[$-en-US]mmm-yy;@"
這是你正在嘗試的嗎?
以下方法使用INDEX()
AND TEXT()
公式將整個范圍轉換為一個 go。 沒有循環。 有關更多說明,您可能希望看到將整個范圍轉換為大寫而不循環遍歷所有單元格
Option Explicit
Sub Sample()
Dim ws As Worksheet
Dim lRow As Long
Dim rng As Range
Dim sAddr As String
'~~> Change this to the relevant sheet
Set ws = Sheet1
With ws
'~~> Find last row in Col A in input sheet
lRow = .Range("A" & .Rows.Count).End(xlUp).Row
Set rng = .Range("A1:A" & lRow)
sAddr = rng.Address
rng = Evaluate("INDEX(TEXT(" & sAddr & ",""'[$-en-US]mmm-yy;@""),)")
End With
End Sub
在行動
注意:如果您不想使用 VBA,請使用公式=TEXT(A1,"'[$-en-US]mmm-yy;@")
。 將其放入單元格 B1 並向下拖動。 最后復制粘貼為值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.