在VBA Excel上仅选择10个字符(右)

时间:2018-11-29 14:49:26

标签: excel vba excel-vba

我试图创建一个宏VBA,例如:

Column A:   123456789101112       Column F : 6789101112 

F列中仅10个字符。例如,如果我们在A列中少于10个字符以0来完成,则:

Column A:  123458    Column F: 0000123458

这是允许我选择字符数的功能:

For i = 1 To table1Rows - 1  
table1(1 + i, 6) = Right(table1(1 + i, 1), 15)

但是如果我在A列中少于10个字符,则需要填写10个字符。

3 个答案:

答案 0 :(得分:0)

这将根据F列中的数据量将公式放在A列中。
公式使用r1c1表示法-R本身表示此行,C1表示列1。

这与编写=TEXT(RIGHT(A1,10),REPT(0,10))并向下拖动相同。

Sub Test()

    Dim rLastRow As Range

    With ThisWorkbook.Worksheets("Sheet1")
        Set rLastRow = .Cells(.Rows.Count, 1).End(xlUp) 'Based on column A (column #1)

        'Column A Offset by 5 columns is column F.
        .Range(.Cells(1, 6), rLastRow.Offset(, 5)).FormulaR1C1 = _
            "=TEXT(RIGHT(RC1,10),REPT(0,10))"

    End With

End Sub

答案 1 :(得分:0)

我想这就是你所追求的:

For i = 1 To table1Rows - 1
    table1(1 + i, 6) = Format(Right(table1(1 + i, 1), 10), "0000000000")
Next

答案 2 :(得分:-1)

以下代码会将剩余的零添加到您的字符串中:

Dim strnbr As String

strnbr = 123

While Len(strnbr) < 10
    strnbr = "0" + strnbr
Wend