我有一個與Visual Basic的問題,我想生成一個csv只有3列,這將是BMR,我有一個代碼在這裏,但它不僅生成3列,但整個工作表,你能幫我嗎?保存3作爲CSV的工作表的列(與VBA)
Sub GravaTXT()
Dim pasta As Workbook
Dim abaPlan As Worksheet
Dim b As Range
Dim m As Range
Dim r As Range
Dim name As String
name = Range("R13").Value
Set b = ActiveCell.EntireColumn("B")
Set m = ActiveCell.EntireColumn("M")
Set r = ActiveCell.EntireColumn("R")
Set abaPlan = ThisWorkbook.Worksheets("Orcamento")
Set pasta = Application.Workbooks.Add
abaPlan.Copy Before:=pasta.Worksheets(pasta.Worksheets.Count)
Application.DisplayAlerts = False
pasta.SaveAs Filename:="C:\Users\alcir.scarmin\Desktop\" & name & ".csv", FileFormat:=xlCSV
Application.DisplayAlerts = True
pasta.Close SaveChanges:=False
End Sub
編輯
我做了一個小的修改(的@Pehs回答)要能正常運行,但我離開的方式,現在只需要行「20」怎麼會我做OffSet?我嘗試了幾種方法,但沒有奏效。 (我是巴西人,我使用谷歌翻譯,巴西人不喜歡自己幫忙)謝謝。
Sub GravaTXT()
Dim abaPlan As Worksheet
Set abaPlan = ThisWorkbook.Worksheets("Orcamento")
Dim name As String
name = abaPlan.Range("R13").Value
Dim pasta As Workbook
Set pasta = Application.Workbooks.Add
abaPlan.Range("B20,M20,R20").Copy pasta.Worksheets(1).Range("A1")
pasta.Worksheets(1).name = abaPlan.name
Application.DisplayAlerts = False
pasta.SaveAs Filename:="C:\Users\alcir.scarmin\Desktop\" & name & ".csv", FileFormat:=xlCSV
Application.DisplayAlerts = True
pasta.Close SaveChanges:=False
End Sub
您正在將整個工作表複製到新的工作簿。這並不令人驚訝,它作爲整個表單出來。如果您想要某些列,請創建一個空白工作表並複製這些列。 – GSerg