2013-02-19 44 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

相關問題