繁体   English   中英

Excel VBA代码如何向特定单元格添加文本

[英]Excel VBA code how to add text to specific cell

特定列中所有单元格的长度必须为6个字符。 如果没有,我必须在每个单元格的开头添加0,直到单元格长度= 6。 最好的方法是什么?

Dim lastRow As Integer
Dim i As Integer
Dim sh As Worksheet
Dim cont As String


Set sh = ThisWorkbook.Worksheets("Sheet1") 'Your Sheet

With sh
    lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row 'Coloumn A

    For i = 1 To lastRow
        Cells(i, 1).NumberFormat = "@"
        Do Until Len(Cells(i, 1)) = 6   'Coloumn A
            cont = Cells(i, 1)          'Coloumn A
            Cells(i, 1) = "0" & cont    'Coloumn A
        Loop
    Next i

End With

这对您有用吗? 您只需要编辑要检查的列,就可以使用文本框。

这是C列的示例:

Sub Make6()
    Dim r As Range, r1 As Range, r2 As Range, r3 As Range
    bry = Array("000000", "00000", "0000", "000", "00", "0", "")
    Dim N As Long, v As String, L As Long
    Set r1 = Range("C:C")
    N = Cells(Rows.Count, "C").End(xlUp).Row
    Set r2 = Range("C1:C" & N)
    Set r3 = Range("C" & N + 1 & ":C" & Rows.Count)

    r1.NumberFormat = "@"
    For Each r In r2
        v = r.Value
        L = Len(v)
        If L < 6 Then
            r.Value = bry(L) & v
        End If
    Next r
    r3.Value = "000000"

End Sub

它将修复C列中的所有单元格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM