2013-02-19 79 views
0

我有一个工作簿,其中有一些用户窗体和代码。现在基于这个宏,我将数据提取到另一个工作簿中。现在从第一个excel我想在获得所需数据后格式化第二个工作簿。想要格式化一个工作簿,但我在另一个工作簿中弄坏了宏

下面是我的代码:

Set abc = objWorkbook1.Sheets(report_shtnm) 
    abc.Activate 
    With Sheet2.Range(Cells(4, 1), Cells(rw_reps_sht, cl_reps_sht)) 
    .Borders.Weight = xlThin 
    .WrapText = True 
    End With 

的问题是它的格式具有宏的Excel。请帮忙。

+0

您是否遇到了传递数据的问题?我们可以相应地分解WB1和WB2中的代码吗? – aksappy 2013-02-19 07:23:58

回答

1

最好的办法是正确声明你的对象,然后简单地与他们一起看看这个例子

Option Explicit 

Sub Sample() 
    Dim wb1 As Workbook, wb2 As Workbook 
    Dim ws1 As Worksheet, ws2 As Worksheet 

    '~~> This workbook which has the macro 
    Set wb1 = ThisWorkbook 
    Set ws1 = wb1.Sheets("Sheet") 

    '~~> The other workbook 
    Set wb2 = Workbooks.Open("C:\Sample.xlsx") 
    Set ws2 = wb2.Sheets("Sheet1") 

    '~~> Work with sheet1 in the workbook which has the macro 
    With ws1 
     ' 
     '~~> Your code here 
     ' 
    End With 

    '~~> Work with sheet1 in the second workbook 
    With ws2 
     ' 
     '~~> Your code here 
     ' 
    End With 
End Sub 

如果您发现使用这种方法甚至不需要你使用.Select.Activate ;)您可能还想要阅读this关于.Select.Activate

相关问题