• Active sheet cuối của Excel bằng VBA Access
  • Active sheet cuối của Excel bằng VBA Access

    vodainhan > 14-03-17, 05:04 PM

    Mình cần code VBA Access để mở 1 file Excel, active sheet cuối cùng. Nghiên cứu hoài chưa ra. Nhờ cao thủ trợ giúp cho!
  • RE: Active sheet cuối của Excel bằng VBA Access

    tranthanhan1962 > 14-03-17, 06:58 PM

    Code active Work book và work sheet

    Mã:
    Sub Activate_Workbook()
    'Activate Workbook
    Workbooks("Tên_Workbook.xls").Activate  
    'Activate Worksheet
    Workbooks("Tên_Workbook.xls").Sheets("Tên_Worksheet").Activate
    End Sub

    Các sheet trong worksheet bình đẳng với nhau về vị trí (các sheet có thể thay đổi vị trí thoải mái). Vì vậy, khi gọi Worksheet phải có tên cụ thể nên trước khi close Workbook bạn đặt trước tên sheet cuối là "Sheet cuối" nếu muốn active sheet đó.
  • RE: Active sheet cuối của Excel bằng VBA Access

    ongke0711 > 14-03-17, 07:56 PM

    Đi tới sheet cuối cùng:
    Sheets(Sheets.Count).Select
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 15-03-17, 10:47 AM

    Đang sử dụng Access 2010. Từ Access sử dụng các cách kia không được. File Excel đặt tên theo số thứ tự (tên sheet giúp tham gia tính toán tự động nên không đặt theo chuỗi)

                                                      Đoạn Code chưa hoàn chỉnh:
    Private Sub ActiveSheetCuoi_Click()
    Dim appExcel As Object
    Set appExcel = CreateObject("Excel.Application")
    'Open Workbook
    appExcel.Workbooks.Open "D:\TenFile.xlsx"
    appExcel.Visible = True
    appExcel.Sheets(Sheets.Count).Select               'lỗi ở khúc này.
    End Sub
  • RE: Active sheet cuối của Excel bằng VBA Access

    hieuvn > 15-03-17, 12:02 PM

    vodainhan Đã viết:Đang sử dụng Access 2010. Từ Access sử dụng các cách kia không được. File Excel đặt tên theo số thứ tự (tên sheet giúp tham gia tính toán tự động nên không đặt theo chuỗi)

                                                      Đoạn Code chưa hoàn chỉnh:
    Private Sub ActiveSheetCuoi_Click()
    Dim appExcel As Object
    Set appExcel = CreateObject("Excel.Application")
    'Open Workbook
    appExcel.Workbooks.Open "D:\TenFile.xlsx"
    appExcel.Visible = True
    appExcel.Sheets(Sheets.Count).Select               'lỗi ở khúc này.
    End Sub
    =================================================
    bạn sửa lại như sau:

    Mã:
    Dim appExcel As Object
    Dim wb As Object

    Set appExcel = CreateObject("Excel.Application")
    'Open Workbook
    Set wb = appExcel.Workbooks.Open("D:\TenFile.xlsx")
    Dim i As Integer
    i = wb.sheets.Count

    wb.Worksheets(i).Activate
    appExcel.Visible = True
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 15-03-17, 02:36 PM

    Cám ơn Hieuvn. Code hoạt động tốt ròi.
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 16-03-17, 09:05 AM

    Mở rộng thêm: Không rõ Access có tự động xử lý được 1 đối tượng đồ họa trong Excel không (ví dụ tự chọn 1 shapes có sẵn trong bảng tính rồi xóa đi)?
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 16-03-17, 11:38 AM

    Đã mò ra rồi: 

    ...tiếp nối đoạn code trước

    appExcel.ActiveSheet.Shapes("Rectangle1").Select

    appExcel.ActiveSheet.Shapes("Rectangle1").Cut

    014 014 014 014 014
  • RE: Active sheet cuối của Excel bằng VBA Access

    vodainhan > 29-04-17, 08:58 PM

    Mudule này hoạt động tốt (nhập-xuất-tồn) trong file *.mdb. (kể cả khi sử dụng access 2003, 2010)
    Nhưng save as sang file *.accdb thì đoạn code trên bị lỗi. (lỗi dòng hoso.edit). sửa sang hoso.editmode cũng không được. Chưa biết sửa thế nào. Nhờ cao thủ trợ giúp.

    Function congdon()
    Dim csdl As Database, hoso As Recordset, tl As Double
    Set csdl = DBEngine.Workspaces(0).Databases(0)
    Set hoso = csdl.OpenRecordset("T_THEKHO_NXT", DB_OPEN_TABLE)
    tl = 0
    hoso.MoveFirst
    Do Until hoso.EOF
    tl = tl + hoso!nhap - hoso!xuat
    hoso.Edit
    hoso!ton = tl
    hoso.Update
    hoso.MoveNext
    Loop
    hoso.Close
    End Function
  • RE: Active sheet cuối của Excel bằng VBA Access

    MTNQ > 30-04-17, 11:47 AM

    Bạn nên khai báo tường minh: 
    Trích dẫn:Dim hoso As DAO.Recordset