2015-07-09 17 views
0

我試圖自動化一個過程,我們收到一份包含多個公司結算信息的報告,目前我們將此報告粘貼到Excel文檔中並過濾到每個單獨的公司的單個工作表。複製,粘貼值,另存爲「文件路徑」僅適用於值大於1的工作表

我們有一個宏複製,粘貼到一個新的工作表的值並保存該文件。問題是,該宏爲Excel文件中的每個工作表保存一個文件我想調整宏,以便它只保存那個月有帳單信息的文件。

因此,我們沒有保存下來的新工作表,也沒有爲客戶收費。

目前宏爲每個客戶工作表設置如下。

如: 'BGNBINS

Sheets("BGNBINS").Select 
Cells.Select 
Selection.Copy 
Workbooks.Add 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 
    SkipBlanks:=False, Transpose:=False 
Cells.Select 
Cells.EntireColumn.AutoFit 
Application.CutCopyMode = False 
ActiveWindow.DisplayGridlines = False 

'Save the new workbook and close it 

ActiveWorkbook.SaveAs Filename:= _ 
    "G:\ACCTG RV\Breena's Admin & JDE\Weighbridge Reports (Breena)\3rd Party Tonnes\Customers 3rd Party\06.2015\BGNBINS 0615 WTS.xlsx" _ 
    , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
ActiveWorkbook.Close 

' CONSOLW

Sheets("CONSOLW").Select 
Cells.Select 
Selection.Copy 
Workbooks.Add 

'Paste special values and formats 

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 
    SkipBlanks:=False, Transpose:=False 

'resize to fit gridlines 
    Cells.Select 
Cells.EntireColumn.AutoFit 
ActiveWindow.DisplayGridlines = False 

Range("A1").Select 
Application.CutCopyMode = False 

'save and close file in specified drive and name 

ActiveWorkbook.SaveAs Filename:= _ 
    "G:\ACCTG RV\Breena's Admin & JDE\Weighbridge Reports (Breena)\3rd Party Tonnes\Customers 3rd Party\06.2015\CONSOLW 0615 WTS.xlsx" _ 
    , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
ActiveWorkbook.Close 
+0

歡迎來到Stack Overflow。你的問題是什麼,你到目前爲止嘗試過什麼? – Jane

+0

謝謝我只嘗試過上面提到的編碼,我想知道一個代碼,它只複製和粘貼具有大於1的值的工作表,用於計費到新工作表並保存。 每個工作表選項卡中都有一個單元格引用來計算總計費值,因此可以引用VBA編碼中的單元格編號? –

+0

請勿對MS Office/VBA使用[**宏標籤](http://stackoverflow.com/tags/macros/info)。 –

回答

0

對不起你是一個有點模糊如何紙張的作品,但這是你所追求的?

If ActiveSheet.Range("a1") > 0 Then 
     'Save the new workbook and close it 
     ActiveWorkbook.SaveAs Filename:="File Path", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
     ActiveWorkbook.Close 
End If 
+0

嗨安德魯,非常感謝你的評論和對模糊性的抱歉,大約有50個工作表選項卡,每個選項卡都有自己唯一的客戶代碼作爲工作表名稱。該宏目前設置爲重複相同的代碼,但工作表名稱是唯一的,文件名是「工作表名稱MM/YY」的名稱。 –

+0

我需要一個宏,它將所有工作表複製到a1> 0,粘貼值並保存爲..「工作表名稱和」mm/YY「。 –

+0

好的,今晚我會爲你看看 – AndrewT

相關問題