用下面的值填充下一个空单元格加1,直到所有的行都被填充

我正在为销售点系统创build电子表格。 在“销售”表上,我有一个销售完成时的命令button。 点击时,该表格中的所有数据移动到另一张“今天的销售”中,我需要vba代码帮助为每个完成的销售分配一个收据编号。 当天的第一个销售应该是收据号。 1,然后每个都增加1.该命令button上的一些代码如下所示:

Dim ReceiptNumber As Long ReceiptNumber = Sheets("Today's sales").Range("G" & Rows.Count).End(xlUp).Value + 1 For Each c In Sheets("Today's sales").Range("A:A") If c <> 0 And c.Offset(, 6) = 0 Then c.Offset(, 6) = ReceiptNumber End If Next 

但这不适用于当天的第一笔销售,因为G列有一个标题“收据编号” – 代码不能为此值加1。

有谁知道一个方法来解决这个问题?

只要将你的第一行改为:

 ReceiptNumber = Val(Sheets("Today's sales").Range("G" & Rows.Count).End(xlUp).Value) + 1 

循环为每个收据分配一个收据编号。

 Dim lRow as Long Dim lReceipt as Long Dim ws As Excel.Worksheet Set ws = ActiveWorkbook.Sheets("Today's sales") 'You can set this to start at whatever row you want. lRow = 2 lReceipt = 1 'Loop through and rows and add a receipt number to ColumnA Do While lRow <= ws.UsedRange.Rows.count 'Put the receipt number in cell A of the current row. ws.Range("A" & lRow).Value = lReceipt lReceipt = lReceipt + 1 lRow = lRow + 1 Loop