我有一个导出已保存发票的电子表格。出口运作完美。但是,我想只导出前一周的数据。工作簿中的最后一个单元格中包含最后一个保存日期。我想在列中搜索以查找过去7天内的上次保存日期,并创建一个仅包含该数据的导出csv文件。
这是我到目前为止所拥有的。
Sub CopyToCSV()
Dim MyPath As String
Dim MyFileName As String
Dim Region As Variant
Application.ScreenUpdating = False
Sheets("Invoice").Activate
Region = Range("E5").Value
Sheets("Stored Invoices").Activate
MyPath = Application.ActiveWorkbook.Path
MyFileName = "Region" & Region & "-" & Format(Date, "ddmmyy")
'Makes sure the path name ends with "\":
MyPath = MyPath & "\"
'Makes sure the filename ends with ".csv"
MyFileName = MyFileName & ".csv"
'Copies the sheet to a new workbook:
Sheets("Stored Invoices").Copy
'The new workbook becomes Activeworkbook:
With ActiveWorkbook
'Saves the new workbook to given folder / filename:
'MyPath &
.SaveAs Filename:=MyPath & MyFileName, FileFormat:=xlCSV, CreateBackup:=False
'Closes the file
.Close False
End With
End Sub
任何帮助将不胜感激!
贝基
答案 0 :(得分:0)
假设数据是有序的:
循环显示包含日期的列中的每个单元格,并评估所述日期。让它循环,直到它遇到当前数据之前超过7天的日期。在循环中有一个计数器,它计算它循环的行数。然后,它只是Range("A1", Cells(countedrows, Numcolumns)).copy DestinationRange
假设数据在a1中开始,因此范围将从A1下降到最后一列中的最后一个计数行,然后将其移动到新的Sheet / book,并保存< / p>
有逻辑,用新代码编辑你的帖子,如果你遇到困难就发表评论
HTH