簡體   English   中英

如何使用 VBA 在 Excel 的所有行前添加單引號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM