0

ユーザーフォームとコードを含むワークブックが 1 つあります。このマクロに基づいて、データを別のワークブックにフェッチしています。最初のExcelから、必要なデータを取得した後、2番目のワークブックをフォーマットしたいと思います。

以下は私のコードです:

 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 のフォーマットです。助けてください。

4

1 に答える 1

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このメソッドを使用するためにorを使用する必要さえないことに気付いた場合;) orに関してこれ.Activateを読みたいと思うかもしれません.Select.Activate

于 2013-02-19T07:51:57.030 に答える