我期望红色圆圈中的数字,但我得到了红色圆圈的剩余部分。因此得到了6,在这里我期望2和11,其中我期望3。为此,您可以参考第一个图像。
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets(cmb_Type.Value)
Dim lr As Long
lr = Application.WorksheetFunction.CountA(sh.Range("A:A"))
sh.Range("A" & lr + 1).Value = lr
sh.Range("B" & lr + 1).Value = Me.txt_Date.Value
sh.Range("C" & lr + 1).Value = Me.cmb_Type.Value
sh.Range("D" & lr + 1).Value = Left(Me.cmb_Type.Value, 2) & lr
sh.Range("E" & lr + 1).Value = Me.cmb_Party.Value
sh.Range("F" & lr + 1).Value = Me.cmb_Category.Value
sh.Range("G" & lr + 1).Value = Me.cmb_Product.Value
sh.Range("H" & lr + 1).Value = Me.txt_Qty.Value
sh.Range("I" & lr + 1).Value = Me.txt_Rate.Value
sh.Range("A" & lr + 2).Value = lr
sh.Range("B" & lr + 2).Value = Me.txt_Date.Value
sh.Range("C" & lr + 2).Value = Me.cmb_Type.Value
sh.Range("D" & lr + 2).Value = Left(Me.cmb_Type.Value, 2) & lr
sh.Range("E" & lr + 2).Value = Me.cmb_Party.Value
sh.Range("F" & lr + 2).Value = Me.cmb_Category1.Value
sh.Range("G" & lr + 2).Value = Me.cmb_Product1.Value
sh.Range("H" & lr + 2).Value = Me.txt_Qty1.Value
sh.Range("I" & lr + 2).Value = Me.txt_Rate1.Value
sh.Range("A" & lr + 3).Value = lr
sh.Range("B" & lr + 3).Value = Me.txt_Date.Value
sh.Range("C" & lr + 3).Value = Me.cmb_Type.Value
sh.Range("D" & lr + 3).Value = Left(Me.cmb_Type.Value, 2) & lr
sh.Range("E" & lr + 3).Value = Me.cmb_Party.Value
sh.Range("F" & lr + 3).Value = Me.cmb_Category2.Value
sh.Range("G" & lr + 3).Value = Me.cmb_Product2.Value
sh.Range("H" & lr + 3).Value = Me.txt_Qty2.Value
sh.Range("I" & lr + 3).Value = Me.txt_Rate2.Value发布于 2021-04-08 08:41:17
只是猜测一下,因为你的问题虽不清楚,但请尝试以下几点:
将下面的代码添加到lr = Application.…行的下面。
Dim SerialNumber As Long
SerialNumber = Application.WorksheetFunction.Max(sh.Columns("A")) + 1而不是在哪里有.Value = lr,你应该写
.Value = SerialNumber 因为lr是最后一行,这就是为什么在期望2的地方获得一个6的原因,因为行的数量是6。您需要的是串行列+ 1的最大数量。
https://stackoverflow.com/questions/66999998
复制相似问题