2017-01-02 120 views
-1

我有修改一些数据从一个单元格复制到另一个使用下面的VBA代码XLSX文件。如何运行一个批处理文件VBA代码?

我那么这个XLSX文件转换为csv格式。 (我在做这个没关系)

由于这个XLSX文件与新的文件,我需要找到一种方式来运行批处理文件,我可以安排我的VBA代码每天更换。

我的代码

Option Explicit 

Sub copy_Cell_A4() 

    Dim RowLocation As Long 'can hold over 32000 if over this many rows 
    Dim ws As Worksheet 

    Application.ScreenUpdating = False 

    For Each ws In Worksheets 
     RowLocation = ws.Range("A" & Rows.Count).End(xlUp).Row 
     ws.Range("A4").Copy ws.Range("J6:J" & RowLocation) 
     ws.Range("A2").Copy ws.Range("K6:K" & RowLocation) 
     ws.Range("E2").Copy ws.Range("L6:L" & RowLocation) 
    Next ws 

    Application.CutCopyMode = False 
    Application.ScreenUpdating = True 
    Application.ThisWorkbook.Close SaveChanges:=True 

End Sub 
+1

你需要把你的代码在另一个Excel文件或VBScript。 – 2017-01-02 01:29:26

回答

1

您可以修改您的代码位和存储相同的.vbs脚本,这将是一个独立的脚本文件,因此可以独立使用。

参考Excel文件这样的:

Option Explicit 
Dim xlApp, xlBook 
Set xlApp = CreateObject("Excel.Application") 
Set xlBook = xlApp.Workbooks.Open("C:\Users\user1\Desktop\samplefile.xlsx, 0, True) 

希望这会有所帮助。

0

你可以使用VBScript来在您的工作簿默默运行宏。

在下面的代码,只需更换下列参数:

  1. "C:\YourFolderPath\" - 与您的文件夹路径,在那里你把你的Excel与它的代码文件。

  2. "SO_VBScript.xlsm" - 修改您的Excel文件,在其中保留“copy_Cell_A4”Sub代码。

  3. "copy_Cell_A4" - 这是您的帖子中Sub的名称。

VBScript代码

Option Explicit 

Dim xlApp 
Dim xlBook 
Set xlApp = CreateObject("Excel.Application") 

Set xlBook = xlApp.Workbooks.Open("C:\YourFolderPath\SO_VBScript.xlsm", 0, True) 
xlApp.Run "copy_Cell_A4" 
xlApp.DisplayAlerts = False 
xlBook.Save 
xlBook.Close 
xlApp.Quit 

Set xlBook = Nothing 
Set xlApp = Nothing 

WScript.Echo "Finished" 
WScript.Quit 
+0

@TontoDiablo你试图运行在VBScript上述CDE? –