我有一个包含 4 个工作表的工作簿。第一个工作表被填充,然后其他 3 个工作表通过公式从第一个工作表中的数据填充。我必须将这 3 个工作表导出到 csv 以便将它们上传到网站进行数据导入。
我创建了一个表单控制按钮,将其放在每个工作表上,以便将工作表导出到 csv。我没有创建浮动按钮,而是将按钮放在第一行并冻结第一行,以便按钮保持在顶部。
导出 csv 时,它会将第一行导出为空白行,这会导致我上传到网站时出现错误,所以我想知道是否有办法让这个表单控制按钮宏在导出到 csv 时排除第一行。
这是我的 3 个按钮的 VBA 代码:
Option Explicit
Public Sub ELINSaveAsCSV()
Dim wbkExport As Workbook
Dim shtToExport As Worksheet
Set shtToExport = ThisWorkbook.Worksheets("ELIN")
Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
Application.DisplayAlerts = False
wbkExport.SaveAs Filename:="C:\RedSky\ELIN.csv", FileFormat:=xlCSV
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False
End Sub
Public Sub ERLSaveAsCSV()
Dim wbkExport As Workbook
Dim shtToExport As Worksheet
Set shtToExport = ThisWorkbook.Worksheets("ERL")
Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
Application.DisplayAlerts = False
wbkExport.SaveAs Filename:="C:\RedSky\ERL.csv", FileFormat:=xlCSV
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False
End Sub
Sub UsersSaveAsCSV()
Dim wbkExport As Workbook
Dim shtToExport As Worksheet
Set shtToExport = ThisWorkbook.Worksheets("Users")
Set wbkExport = Application.Workbooks.Add
shtToExport.Copy Before:=wbkExport.Worksheets(wbkExport.Worksheets.Count)
Application.DisplayAlerts = False
wbkExport.SaveAs Filename:="C:\RedSky\Users.csv", FileFormat:=xlCSV
Application.DisplayAlerts = True
wbkExport.Close SaveChanges:=False
End Sub
答案1
在将文件保存为 csv 之前尝试添加以下内容。此代码应选择整个第一行并将其从工作表中删除。
wbkExport.Worksheets.Item(1).Range("A1").EntireRow.Delete