我制作了一个客户管理EXCEL表,在增加客户时,想通过点击“窗体按钮”,自动增加客户和相应表格

在表中,先通宏录制,选择、复制第一个客户信息后,然后在下面粘贴,并自动增加序号。

当只有一个客户,增加一个客户,是没有问题。

可是要再往下增加更多新客户,就麻烦了,点击按钮后,只会在第一个客户后面增加第二个客户,无法再往下增加。

请问各位高手,如何通过“窗体按钮”点击后,可以持续地增加新客户呢?

以下是我的宏代码:
Sub 新增客户()
'
' 新增客户 Macro
'
' 快捷键: Ctrl+a
'
Range("A9:Z20").Select
ActiveWindow.SmallScroll Down:=6
Selection.Copy
Range("A21:Z32").Select
ActiveSheet.Paste
Range("A21:A32").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=R[-12]C+1"
Range("A33").Select
End Sub

每新增一个客户就把A9:Z20往下面复制一次吗,并把A列序号+1,是这样吗.

试试改成下面这样子,你上面代码是录制的,很多地方可以简化的:

Sub 新增客户()
'
' 新增客户 Macro
'
' 快捷键: Ctrl+a
'
    row1 = Range("a65536").End(xlUp).Row
    Range("A9:Z20").Copy Range("a" & row1 + 1)
    Range("A" & row1 + 1 & ":A" & row1 + 12) = Range("a" & row1) + 1
    
End Sub

追问

Range("A9:Z20").Copy Range("a" & row1 + 1)

运行后,说这行有问题。

我是想把“A9:Z20"复制后,向下粘贴,新增一个用户,然后,再要新增用户,又紧接着新增用户,再粘贴,这样不断向下粘贴。请高手帮忙。

追答

在我电脑上运行是没问题的,那可能是你A列有合并单元格,可以截图看下吗.

你把A9到A20都填上内容试下.

那你20行中哪一列都有内容,比如B列都有内容,可以把

row1 = Range("a65536").End(xlUp).Row改成row1 = Range("b65536").End(xlUp).Row

然后复制以下代码到你电脑上试试(最后一句也改了一点):

Sub 新增客户()
'
' 新增客户 Macro
'
' 快捷键: Ctrl+a
'
    row1 = Range("b65536").End(xlUp).Row
    Range("A9:Z20").Copy Range("a" & row1 + 1)
    Range("A" & row1 + 1 & ":A" & row1 + 12) = Range("a" & row1 - 11) + 1
      
End Sub

追问

以上是需要复制的内容截图。

这是运行你补充修改后的命令行,反馈的内容。

追答

你销售那个是在哪列?按你图上数的是在L列吧,那第一句改成row1 = Range("L65536").End(xlUp).Row

温馨提示:答案为网友推荐,仅供参考
相似回答