2017-08-09 42 views
0

这可能对大多数人来说过于简单。我刚开始使用VBA来创建和更新Excel工作簿。我在网上找到一些代码来打开和更新现有的工作簿和工作表。就像我说的,我是全新的。这段代码甚至有意义吗?我只需要知道如何打开现有工作簿,我发现在我们的任何帮助environment.Thanks不工作的所有例子,我可以得到使用2个工作表打开并更新现有工作簿

Dim wbSource, xlApp, srcWorksheet 

'initialize 
Set xlApp = CreateObject("Excel.Application") 

'open source and target files 
Set wbSource = lApp.Workbooks.Open("X:\GCIXCycleCompare_test_auto.xlsx") 
set srcWorksheet = wbSource.Worksheets("NewCycle") 
srcWorksheet.sheets("NewCycle").Activate 

srcWorksheet.Rows("1:1").Delete 
+0

不知道这里是否有拼写错误,但是您希望'设置wbSource = xlApp ...'而不仅仅是'lApp ...'。另外,你正在执行'Set srcWorksheet = ...',它将它设置为woksheet。下一行你只需要'srcWorksheet.Activate',再次调用工作表可能会导致错误。 – BruceWayne

回答

0

如果您在Excel VBA中,这ISN”你完全想要什么。此代码是为外部应用程序(用VB6编写的)编写的,用于远程打开Excel,然后对Excel的副本进行操作。如果你已经在Excel/VBA中,你显然不需要那样做。

在VBA,等效代码将是这样的:

Public Sub MyCode() 
    Dim wb as Workbook 
    Dim ws as Worksheet 

    Set wb = Application.Workbooks.Open("X:\GCIXCycleCompare_test_auto.xlsx") 
    Set ws = wb.Worksheets("NewCycle") 

    ws.Rows(1).Delete 
End Sub 

如果(从内VBA ......或在Excel中运行的宏通过点击F5)运行这段代码应该开拓测试文件关闭X:驱动器,然后删除它的第一行。

+0

实际上,我试图远程访问Excel电子表格并更新特定工作表(“NewCycle”)上的现有数据 –

+0

但您是否想从运行VBA的副本中打开Excel的单独副本? –

+0

就像我说的。这对我来说都是新的。我正在学习。这是情况。我们有一个Excel电子表格坐在一个服务器上,到目前为止,这个服务器已经被手动更新。我正在写一个批处理作业,提交给一个处理器,该处理器找到excel表格,打开它,更新它,关闭它并结束。这就是我所面临的基本情况。我感谢您的帮助。我不知道您是否以这种方式访问​​了Excel电子表格。 –

相关问题