我试图创建一个宏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个字符。
答案 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