EXCEL设置一个定位保存的按钮。

上面这个是销售开单的界面。如图所示、我想设置一个宏按钮,可以把里面的记录保存至另一个工作表上,以作为销售记录。 如下图所示。 我想请教下什么录制宏或编写定位保存的宏代码。

第1个回答  2013-03-30
同时按Alt和F11进入宏界面,点菜单的插入,模块,粘贴如下代码:
Sub test()
Dim i As Integer
Range("B4:F17").Copy Sheets("Sheet2").Range("C9999").End(xlUp).Offset(1, 0)
For i = 1 To Range("B99").End(xlUp).Row - 3
Sheets("Sheet2").Range("A9999").End(xlUp).Offset(1, 0) = Range("B2")
Sheets("Sheet2").Range("B9999").End(xlUp).Offset(1, 0) = Range("F2")
Next i
End Sub

把里面所有的Sheet2都替换为你”销售记录“实际的工作表名称。回到Excel,右键点那个按钮,指定宏为test即可。
第2个回答  2013-03-29
假定目录已经存在,是"D:\files",文件名在A1 单元格。
使用工作表事件(不是宏!)

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ChDir "D:\files"
ActiveWorkbook.SaveAs Filename:="D:\files\" & [A1] & ".xls", FileFormat:=xlNormal
ActiveWindow.Close
End Sub
使用以上代码,只有关闭时,才另存。

以下代码,只要保存就自动以某一单元格内的内容命名并自动保存在指定的文件夹中

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ChDir "D:\files"
ActiveWorkbook.SaveAs Filename:="D:\files\" & [A1] & ".xls", FileFormat:=xlNormal
Cancel = True
End Sub本回答被网友采纳
第3个回答  2013-03-29
没有看到你的图呢
你只要把单元格对应保存到单元格即可

sub test ()
dim i&
with sheet2
i=range("A65536").end(xlup).row+1
.cells(i,1)=range("A1")
.cells(i,2)=range("D2")
end with
end sub