Excel VBA : Maintaining number formatting with digits and letters

标签 excel vba

我正在编写一个代码,基本上我需要遵循逻辑顺序。我正在遍历所有行

Set rep = Sheets("Details")    
For i = 2 To n    
If Sheets("Work").Range("A:A").Find(Worksheets("Work_report").Range("E" & i).Value, lookat:=xlWhole) Is Nothing Then    
Else:    
o = rep.Range("A" & Rows.Count).End(xlUp).Row + 1    
rep.Range("A" & o).Value = "FT_EXCEL"    
rep.Range("B" & o).Value = Sheets("Start").Range("C5") & "AB" & o - 1    
End If    
Next i    

所以最后一行(原始代码中有超过 50 行)返回单元格 C5 (20170331) & AB & o 减 1 的值(因为我从 2 (第一行标题)开始)。所以这给出了 20170331AB1,但它应该给出 20170331AB01(0 之前的零)。这个序列在 10 点之后就像一个魅力,但在 10 点之前,当我需要添加一个零时 - 我被卡住了。

有什么想法吗?谢谢。

最佳答案

试试这个:

rep.Range("B" & o).Value = Sheets("Start").Range("C5") & "AB" & Format(o - 1, "00")

关于Excel VBA : Maintaining number formatting with digits and letters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43129753/

相关文章:

excel - 查询在循环内失败(返回 EOF)

python - openpyxl中一个单元格中的多种样式

excel - 碧 Jade 报告 : footer field in xls participate in sorting

VBA 项目上的 Excel 2003 数字签名

vba - 如何将字符串插入第一个可用列中的第一个空单元格,即 C1、F1、AA1

vba - 从 VBA 插入公式时出现不同语言问题

excel - VBA Excel WebBrowser如何在.Click之前从代码中重置ReadyState?

vba - 如何等到 ActiveWorkbook.RefreshAll 完成后再执行更多代码

excel - 如何在 Visual Basic For Applications 中使用 "Class Module"或 "Module"?

excel - 计算工作表中的行数