【发布时间】:2014-07-22 02:15:07
【问题描述】:
当前代码:
Private Sub cmdsave_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("payin")
'find first empty row in database
iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
'copy the data to the database
With ws
.Cells(iRow, 1).Value = Me.txtlbp.Value
.Cells(iRow, 2).Value = Me.txtdollar.Value
.Cells(iRow, 3).Value = Me.txtsyp.Value
End With
'clear the data
Me.txtlbp.Value = ""
Me.txtdollar.Value = ""
Me.txtsyp.Value = ""
ActiveWorkbook.Save
Dim savedate
savedate = Date
Dim savetime
savetime = Time
Dim formattime As String
formattime = Format(savetime, "hh.MM.ss")
Dim formatdate As String
formatdate = Format(savedate, "DD-MM-YYYY")
Application.DisplayAlerts = False
If Len(Dir("D:\cashbackup\english", vbDirectory)) = 0 Then
MkDir "D:\cashbackup\english"
End If
Dim backupfolder As String
backupfolder = "D:\cashbackup\english\"
ActiveWorkbook.SaveCopyAs Filename:=backupfolder & "payin" & formatdate & " " & formattime & " " & ActiveWorkbook.Name
Application.DisplayAlerts = False
txtlbp.SetFocus
End Sub
当前代码将整个文件的副本保存到目录“D:\cashbackup\english”,这会占用大量磁盘空间(每次保存单击大约 3.73 MB),而只保存工作表: payin、payout 和 balance 作为值,没有之前在 excel 项目文件的 excel 单元格中创建的公式,将节省大量硬盘空间(每次保存不超过 20 KB)
我的需要:
我希望代码保存一个仅包含特定工作表的新工作簿:payin、payout 和 balance 作为目录中的值:“D:\cashbackup\english”,具有相同的文件命名,我的意思是工作表中没有用户表单BOX,不带宏
提前谢谢你。
【问题讨论】: