-
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
-
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