Lấy Dữ Liệu Từ Access Vào Excel Bằng VBA

Giải Pháp Excel
  • Trang chủ Có gì mới Hoạt động gần nhất Tác giả
  • Diễn đàn Tìm bài viết mới Tìm theo chuyên mục
  • Video New Video về Excel Video về tin học khác Tin tức về tin học chung
  • Thông tin mới Featured content Tìm bài mới Tài Nguyên Mới Hoạt động gần nhất
  • Tài nguyên Đánh giá mới nhất Tìm tài nguyên
  • Facebook
  • Đóng góp
Đăng nhập Đăng Ký Có gì mới? Tìm kiếm

Tìm kiếm

Mọi nơi Đề tài Diễn đàn này Đề tài này Chỉ tìm trong tiêu đề Note Bởi: Tìm kiếm Tìm nâng cao…
  • Tìm bài viết mới
  • Tìm theo chuyên mục
Menu Đăng nhập Đăng Ký Install the app Install How to install the app on iOS

Follow along with the video below to see how to install our site as a web app on your home screen.

Note: This feature may not be available in some browsers.

  • Khách ơi! GPE thông tin đến bạn ấn phẩm "lập trình VBA trong Excel": - Phần cơ bản - Phần Nâng Cao - VBA trong Excel - Cải thiện và tăng tốc
  • Trang chủ
  • Diễn đàn
  • Excel và Kỹ Thuật
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. Lấy dữ liệu từ access vào excel bằng VBA (1 người xem)
  • Thread starter Thread starter nguyenhoang_gpe
  • Ngày gửi Ngày gửi 28/10/17
Liên hệ QC

Người dùng đang xem chủ đề này

Đang trực tuyến: 2 (Thành viên: 0, Khách: 2) N

nguyenhoang_gpe

Thành viên mới
Tham gia 22/3/12 Bài viết 18 Được thích 0 Em có file này muốn nhờ các bác viết code để lấy dữ liệu từ access điền vào file excel. Chi tiết em ghi trong file đính kèm. Cám ơn các bác!

File đính kèm

  • hoi gpe.rar hoi gpe.rar 184.1 KB · Đọc: 141
Kiều Mạnh

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia 9/6/12 Bài viết 5,538 Được thích 4,135 Giới tính Nam
nguyenhoang_gpe đã viết: Em có file này muốn nhờ các bác viết code để lấy dữ liệu từ access điền vào file excel. Chi tiết em ghi trong file đính kèm. Cám ơn các bác! Nhấp chuột vào đây để mở rộng...
Nếu Lấy nguyên 1 TableName lên Sheet thì đơn giản lắm ... Bạn có Thể sử dụng ADO Or DAO để lấy lên Sheet ... Mình xài cả 2 cái như nhau ...trong trường hợp này Mình Viết DAO cho Bạn vì theo mình áp dụng cho Access code nó sẻ đơn giản nhất 1/ Mình viết tặng Bạn Một cái Hàm DAO đơn giản nhất sau này bạn sẻ sử dụng nó cho nhiều trường hợp khác ... vv 2/ Code lấy dữ liệu từ 1 TableName lên từ đó tham khảo mà viết thêm Mã: Sao chép. Public Function MyDAO(ByVal AccPath As String) Dim Db As Object, Ws As Object Rem Neu Office 2003 - 2007 Use 36 Or 2010 To 2016 Use 120 Set Db = CreateObject("DAO.DBEngine.120") Set Ws = Db.Workspaces(0) Set MyDAO = Ws.OpenDatabase(AccPath) End Function Public Sub GetDataBase() Dim Db As Object Dim Rs As Object Dim AccPath As String AccPath = ThisWorkbook.Path & "\dam2.mdb" Set Db = MyDAO(AccPath) Set Rs = Db.OpenRecordset("Beam Forces") Range("A10").CopyFromRecordset Rs End Sub Lần chỉnh sửa cuối: 28/10/17 Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng.
nguyenhoang_gpe đã viết: Em có file này muốn nhờ các bác viết code để lấy dữ liệu từ access điền vào file excel. Chi tiết em ghi trong file đính kèm. Cám ơn các bác! Nhấp chuột vào đây để mở rộng...
Dùng code sau nhé: Mã: Sao chép. Sub LayDLAccess_HLMT() Dim cn As Object Set cn = CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\dam2.mdb" Sheet7.Range("A10").CopyFromRecordset cn.Execute("Select Story,Beam,CaseCombo,Station,P,V2,V3,T,M2,M3 From [Beam Forces]") Sheet7.Range("Z10").CopyFromRecordset cn.Execute("SELECT Story, Label, UniqueName, Type, Length, AnalysisSect, DesignSect, MaxStaSpcg, MinNumSta FROM [Frame Assignments - Summary]") End Sub N

nguyenhoang_gpe

Thành viên mới
Tham gia 22/3/12 Bài viết 18 Được thích 0 Rất cám ơn bác kieu manh, em mới tìm hiểu vba, code nên còn lơ mơ lắm, Em muốn lấy giữ liệu kiểu như chọn đường dẫn đến file access (code em để ở sheet 1), còn trong bảng Beam force em không lấy cột "UniqeName , Element, Elemstation, Location" ( không phải lấy hết dữ liệu bảng). Cám ơn bác Kiều Mạnh

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia 9/6/12 Bài viết 5,538 Được thích 4,135 Giới tính Nam
Hai Lúa Miền Tây đã viết: Dùng code sau nhé: Mã: Sao chép. Sub LayDLAccess_HLMT() Dim cn As Object Set cn = CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\dam2.mdb" Sheet7.Range("A10").CopyFromRecordset cn.Execute("Select Story,Beam,CaseCombo,Station,P,V2,V3,T,M2,M3 From [Beam Forces]") Sheet7.Range("Z10").CopyFromRecordset cn.Execute("SELECT Story, Label, UniqueName, Type, Length, AnalysisSect, DesignSect, MaxStaSpcg, MinNumSta FROM [Frame Assignments - Summary]") End Sub Nhấp chuột vào đây để mở rộng...
Đến bây giờ Mạnh thấy code viết thuần ADO đầu vẫn U lên vài cục .... Mạnh đang suy nghĩ giữa copy Nguyên 1 cục từ Table lên và SELECT nó khác nhau cơ bản chỗ Nào Nhỉ .... Tiện đây Bạn chỉ cho Mạnh học thêm một chút Theo Mạnh nếu không tùy chọn Các Cột [Mạnh tạm keo Vậy cho dễ nhớ] thì copy nguyên cục lên có phải gọn hơn không ... nếu Mạnh nói sai Bỏ qua câu này :D Xin cảm ơn Lần chỉnh sửa cuối: 28/10/17 N

nguyenhoang_gpe

Thành viên mới
Tham gia 22/3/12 Bài viết 18 Được thích 0
Hai Lúa Miền Tây đã viết: Dùng code sau nhé: Mã: Sao chép. Sub LayDLAccess_HLMT() Dim cn As Object Set cn = CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\dam2.mdb" Sheet7.Range("A10").CopyFromRecordset cn.Execute("Select Story,Beam,CaseCombo,Station,P,V2,V3,T,M2,M3 From [Beam Forces]") Sheet7.Range("Z10").CopyFromRecordset cn.Execute("SELECT Story, Label, UniqueName, Type, Length, AnalysisSect, DesignSect, MaxStaSpcg, MinNumSta FROM [Frame Assignments - Summary]") End Sub Nhấp chuột vào đây để mở rộng...
Cám ơn bác nhiều, bác chỉnh giúp em cái đường dẫn file access là mình tự chọn kiểu như OPEN ấy đc không ạ Kiều Mạnh

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia 9/6/12 Bài viết 5,538 Được thích 4,135 Giới tính Nam
hpkhuong đã viết: Nhìn là thấy khác liền chứ nhỉ. 1. Bác vào nhà người ta: bác dọn luôn cả nhà -> Bác tham quá 2. Người ta vào nhà bác: thôi lựa (select) vài cái có giá trị (dựa vào tiêu đề cột) lấy vài món -> ít tham hơn bác tí ....:D Nhấp chuột vào đây để mở rộng...
Ý là nếu ko lựa chọn cột thì bê nguyên con cho nó gọn đó mà """:::":\ V

VetMini

Đang đi tìm hòn đá
Tham gia 21/12/12 Bài viết 17,867 Được thích 24,790 Nghề nghiệp Thầy bói bài ta
kieu manh đã viết: Mạnh đang suy nghĩ giữa copy Nguyên 1 cục từ Table lên và SELECT nó khác nhau cơ bản chỗ Nào Nhỉ .... Tiện đây Chuyên gia chỉ cho Mạnh học thêm một chút Nhấp chuột vào đây để mở rộng...
Mình quen nhau quá rồi, bỏ tiếng chuyên gia đi bạn. Đối với Access thì khác nhau rất ít. Tôi nghĩ Access chứa dữ liệu theo kiểu isam, dòng nào ra dòng nấy, trước sau gì cũng đọc hết dữ liệu một dòng mới đến dòng kế. Đối với CSDL khác thì có thể khác nhau nhiều hơn vì mấy cái bự như SQL Server, Oracle có thể chứa dữ liệu ở nhiều chỗ. Đọc ít dữ liệu trong dòng hơn có thể nhanh hơn. ADO còn vấn đề chuyển đổi dạng dữ liệu nữa. Ví dụ dữ liệu DateTime trong CSDL phải chuẩn hoá lại để Excel hiểu. Thêm vấn đề nếu dữ liệu lấy qua mạng thì lấy dư có nghĩa là phí băng thông -> chậm hơn 1 chút. (Đối với toi thì ba cái "chậm" này không quan trọng lắm, nhưng tôi nhớ khong lầm thì bạn rất trọng tốc độ) Kiều Mạnh

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia 9/6/12 Bài viết 5,538 Được thích 4,135 Giới tính Nam
VetMini đã viết: Mình quen nhau quá rồi, bỏ tiếng chuyên gia đi bạn. Đối với Access thì khác nhau rất ít. Tôi nghĩ Access chứa dữ liệu theo kiểu isam, dòng nào ra dòng nấy, trước sau gì cũng đọc hết dữ liệu một dòng mới đến dòng kế. Đối với CSDL khác thì có thể khác nhau nhiều hơn vì mấy cái bự như SQL Server, Oracle có thể chứa dữ liệu ở nhiều chỗ. Đọc ít dữ liệu trong dòng hơn có thể nhanh hơn. ADO còn vấn đề chuyển đổi dạng dữ liệu nữa. Ví dụ dữ liệu DateTime trong CSDL phải chuẩn hoá lại để Excel hiểu. Thêm vấn đề nếu dữ liệu lấy qua mạng thì lấy dư có nghĩa là phí băng thông -> chậm hơn 1 chút. (Đối với toi thì ba cái "chậm" này không quan trọng lắm, nhưng tôi nhớ khong lầm thì bạn rất trọng tốc độ) Nhấp chuột vào đây để mở rộng...
Cảm ơn Bạn đã nhắc nhở ... Quen nhau quá mà nên vui 1 tẹo đó thôi :D N

nguyenhoang_gpe

Thành viên mới
Tham gia 22/3/12 Bài viết 18 Được thích 0 cám ơn tất cả các bác, em đã đạt đc mục đích, thân ái ! N

nguyenhoang_gpe

Thành viên mới
Tham gia 22/3/12 Bài viết 18 Được thích 0
Hai Lúa Miền Tây đã viết: Dùng code sau nhé: Mã: Sao chép. Sub LayDLAccess_HLMT() Dim cn As Object Set cn = CreateObject("ADODB.Connection") cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\dam2.mdb" Sheet7.Range("A10").CopyFromRecordset cn.Execute("Select Story,Beam,CaseCombo,Station,P,V2,V3,T,M2,M3 From [Beam Forces]") Sheet7.Range("Z10").CopyFromRecordset cn.Execute("SELECT Story, Label, UniqueName, Type, Length, AnalysisSect, DesignSect, MaxStaSpcg, MinNumSta FROM [Frame Assignments - Summary]") End Sub Nhấp chuột vào đây để mở rộng...
Bác 2LMT giúp em với. code của bác hoạt động trên máy bàn của em thì ổn rồi nhưng sang máy laptop của em thì báo lỗi '3706' mặc dù cả 2 máy đều chạy of 2010 và win 10 N

nguyenhoang_gpe

Thành viên mới
Tham gia 22/3/12 Bài viết 18 Được thích 0
hpkhuong đã viết: Bạn thay dòng: Mã: Sao chép. AccPath = ThisWorkbook.Path & "\dam2.mdb" Thành Mã: Sao chép. AccPath = Application.GetOpenFilename("TEXT FILES(*.mdb),*.mdb") Nhấp chuột vào đây để mở rộng...
cám ơn bác ! N

nguyenhoang_gpe

Thành viên mới
Tham gia 22/3/12 Bài viết 18 Được thích 0
kieu manh đã viết: Nếu Lấy nguyên 1 TableName lên Sheet thì đơn giản lắm ... Bạn có Thể sử dụng ADO Or DAO để lấy lên Sheet ... Mình xài cả 2 cái như nhau ...trong trường hợp này Mình Viết DAO cho Bạn vì theo mình áp dụng cho Access code nó sẻ đơn giản nhất 1/ Mình viết tặng Bạn Một cái Hàm DAO đơn giản nhất sau này bạn sẻ sử dụng nó cho nhiều trường hợp khác ... vv 2/ Code lấy dữ liệu từ 1 TableName lên từ đó tham khảo mà viết thêm Mã: Sao chép. Public Function MyDAO(ByVal AccPath As String) Dim Db As Object, Ws As Object Rem Neu Office 2003 - 2007 Use 36 Or 2010 To 2016 Use 120 Set Db = CreateObject("DAO.DBEngine.120") Set Ws = Db.Workspaces(0) Set MyDAO = Ws.OpenDatabase(AccPath) End Function Public Sub GetDataBase() Dim Db As Object Dim Rs As Object Dim AccPath As String AccPath = ThisWorkbook.Path & "\dam2.mdb" Set Db = MyDAO(AccPath) Set Rs = Db.OpenRecordset("Beam Forces") Range("A10").CopyFromRecordset Rs End Sub Nhấp chuột vào đây để mở rộng...
cám ơn bác D

duytmd

Thành viên chính thức
Tham gia 28/7/10 Bài viết 81 Được thích 2
hpkhuong đã viết: Bạn thay dòng: Mã: Sao chép. AccPath = ThisWorkbook.Path & "\dam2.mdb" Thành Mã: Sao chép. AccPath = Application.GetOpenFilename("TEXT FILES(*.mdb),*.mdb") Nhấp chuột vào đây để mở rộng...
Nếu file "dam2.mdb" nằm ổ đĩa C thì code sẽ như thế nào vậy a? P

ppc0312

whom?
Tham gia 2/4/08 Bài viết 623 Được thích 319
duytmd đã viết: Nếu file "dam2.mdb" nằm ổ đĩa C thì code sẽ như thế nào vậy a? Nhấp chuột vào đây để mở rộng...
thì AccPath = "C:\dam2.mdb" D

duytmd

Thành viên chính thức
Tham gia 28/7/10 Bài viết 81 Được thích 2
ppc0312 đã viết: thì AccPath = "C:\dam2.mdb" Nhấp chuột vào đây để mở rộng...
Đường dẫn của e như này: DbConDG.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\DonGia.mdb" hiện tại 2 file nằm cùng folder thì nó nhận. nhưng file DonGia nằm ổ C thì nó không nhận. P

ppc0312

whom?
Tham gia 2/4/08 Bài viết 623 Được thích 319
duytmd đã viết: Đường dẫn của e như này: DbConDG.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\DonGia.mdb" hiện tại 2 file nằm cùng folder thì nó nhận. nhưng file DonGia nằm ổ C thì nó không nhận. Nhấp chuột vào đây để mở rộng...
thì đơn giản thay cả đoạn này ThisWorkbook.Path & "\DonGia.mdb" thành "C:\DonGia.mdb" D

duytmd

Thành viên chính thức
Tham gia 28/7/10 Bài viết 81 Được thích 2
ppc0312 đã viết: thì đơn giản thay cả đoạn này ThisWorkbook.Path & "\DonGia.mdb" thành "C:\DonGia.mdb" Nhấp chuột vào đây để mở rộng...
e thay mà nó báo lỗi. compile error: syntax error Private Sub UserForm_Activate() Sheets("DTCT").Select TopRow = Cells.Find("DuToanChiTiet").Row BotRow = Cells.Find("KetThucDuToan").Row If DbConDG Is Nothing Then Set DbConDG = CreateObject("ADODB.Connection") DbConDG.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source="C:\DonGia.mdb" End If Set RsDmcv = CreateObject("ADODB.RecordSet") RsDmcv.Open "SELECT * FROM [DonGia]", DbConDG, adOpenKeyset, adLockPessimistic UpdataToListBox cThem = "Th" & ChrW(234) & "m" cLuu = "L" & ChrW(432) & "u" cSua = "S" & ChrW(7917) & "a" CmdThem.Caption = cThem CmdSua.Caption = cSua OnOffTxt False End Sub Bài đã được tự động gộp: 18/3/20
ppc0312 đã viết: thì đơn giản thay cả đoạn này ThisWorkbook.Path & "\DonGia.mdb" thành "C:\DonGia.mdb" Nhấp chuột vào đây để mở rộng...
OK rồi a ơi. Lần chỉnh sửa cuối: 18/3/20 D

donvinhhp

Thành viên mới
Tham gia 30/5/08 Bài viết 12 Được thích 0
Kiều Mạnh đã viết: Nếu Lấy nguyên 1 TableName lên Sheet thì đơn giản lắm ... Bạn có Thể sử dụng ADO Or DAO để lấy lên Sheet ... Mình xài cả 2 cái như nhau ...trong trường hợp này Mình Viết DAO cho Bạn vì theo mình áp dụng cho Access code nó sẻ đơn giản nhất 1/ Mình viết tặng Bạn Một cái Hàm DAO đơn giản nhất sau này bạn sẻ sử dụng nó cho nhiều trường hợp khác ... vv 2/ Code lấy dữ liệu từ 1 TableName lên từ đó tham khảo mà viết thêm Mã: Sao chép. Public Function MyDAO(ByVal AccPath As String) Dim Db As Object, Ws As Object Rem Neu Office 2003 - 2007 Use 36 Or 2010 To 2016 Use 120 Set Db = CreateObject("DAO.DBEngine.120") Set Ws = Db.Workspaces(0) Set MyDAO = Ws.OpenDatabase(AccPath) End Function Public Sub GetDataBase() Dim Db As Object Dim Rs As Object Dim AccPath As String AccPath = ThisWorkbook.Path & "\dam2.mdb" Set Db = MyDAO(AccPath) Set Rs = Db.OpenRecordset("Beam Forces") Range("A10").CopyFromRecordset Rs End Sub Nhấp chuột vào đây để mở rộng...
E chào bác! E cũng đang gặp trường hợp giống bạn đang thắc mắc, e có làm theo hướng dẫn của bác, thì việc lấy dữ liệu từ File Access vào Excel đã thực hiện được, nhưng có 1 chút vấn đề, đó là bảng dữ liệu bên Access khi e đưa sang Excel thì toàn bộ các bảng đều mất đi phần đầu danh mục trên cùng, mong bác giúp e với, thực sự e ko biết gì về VBA, e chỉ mò mẫm theo hướng dẫn của các bác trên này để tự làm. E chân thành cảm ơn! Đây là đoạn code e tự chế, bác xem giúp e xem e sai ở đâu ạ?
Public Function MyDAO(ByVal AccPath As String) Dim Db As Object, Ws As Object Rem Neu Office 2003 - 2007 Use 36 Or 2010 To 2016 Use 120 Set Db = CreateObject("DAO.DBEngine.36") Set Ws = Db.Workspaces(0) Set MyDAO = Ws.OpenDatabase(AccPath) End Function Public Sub GetDataBase() Dim Db As Object Dim Rs As Object Dim Rp As Object Dim Rq As Object Dim AccPath As String AccPath = Application.GetOpenFilename("TEXT FILES(*.mdb),*.mdb") Set Db = MyDAO(AccPath) Set Rs = Db.OpenRecordset("Frame Sections") Sheets("Frame Sections").Select Columns("A:V").Select Selection.Delete Range("A1").Select Range("A1").CopyFromRecordset Rs Set Rp = Db.OpenRecordset("Frame Assignments - Summary") Sheets("Frame Assignments- Summary").Select Columns("A:V").Select Selection.Delete Range("A1").Select Range("A1").CopyFromRecordset Rp Set Rq = Db.OpenRecordset("Column Forces") Sheets("Column Forces").Select Columns("A:V").Select Selection.Delete Range("A1").Select Range("A1").CopyFromRecordset Rq Sheets("ThepCot").Select Range("A1").Select End Sub Nhấp chuột vào đây để mở rộng...
E có đính kèm ảnh, phần tiêu đề trên cùng mất hết! Lưu ý là khi e dùng chức năng import external data của excel vào thì phần tiêu đề dòng trên cùng còn nguyên chứ ko bị mất!

File đính kèm

  • Minh hoa.jpg Minh hoa.jpg 172.2 KB · Đọc: 18
  • TN2.rar TN2.rar 11.8 KB · Đọc: 17
Lần chỉnh sửa cuối: 26/5/21 Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng.
donvinhhp đã viết: E chào bác! E cũng đang gặp trường hợp giống bạn đang thắc mắc, e có làm theo hướng dẫn của bác, thì việc lấy dữ liệu từ File Access vào Excel đã thực hiện được, nhưng có 1 chút vấn đề, đó là bảng dữ liệu bên Access khi e đưa sang Excel thì toàn bộ các bảng đều mất đi phần đầu danh mục trên cùng, mong bác giúp e với, thực sự e ko biết gì về VBA, e chỉ mò mẫm theo hướng dẫn của các bác trên này để tự làm. E chân thành cảm ơn! Đây là đoạn code e tự chế, bác xem giúp e xem e sai ở đâu ạ? E có đính kèm ảnh, phần tiêu đề trên cùng mất hết! Lưu ý là khi e dùng chức năng import external data của excel vào thì phần tiêu đề dòng trên cùng còn nguyên chứ ko bị mất! Nhấp chuột vào đây để mở rộng...
Bạn phải đổ dữ liệu bắt đầu vào Cell A2, Từ Cell A1 bạn phải thêm 1 động tác nữa là lấy tiêu đề cột của bảng ghi lên đó. D

donvinhhp

Thành viên mới
Tham gia 30/5/08 Bài viết 12 Được thích 0
Hai Lúa Miền Tây đã viết: Bạn phải đổ dữ liệu bắt đầu vào Cell A2, Từ Cell A1 bạn phải thêm 1 động tác nữa là lấy tiêu đề cột của bảng ghi lên đó. Nhấp chuột vào đây để mở rộng...
E đã thay A1 thành A2, thì dữ liệu copy chuyển xuống 1 dòng được rồi ạ, e ko biết code để copy tiêu đề bên trên, bác giúp e đoạn code đó với, e cảm ơn! Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng.
donvinhhp đã viết: E đã thay A1 thành A2, thì dữ liệu copy chuyển xuống 1 dòng được rồi ạ, e ko biết code để copy tiêu đề bên trên, bác giúp e đoạn code đó với, e cảm ơn! Nhấp chuột vào đây để mở rộng...
Chỉ cần tạo 1 biến mở Recordset là đủ. Tôi tạm chỉnh code của bạn như sau: Mã: Sao chép. Public Sub GetDataBase() Dim Db As Object Dim Rs As Object Dim AccPath As String Dim i As Integer AccPath = Application.GetOpenFilename("TEXT FILES(*.mdb),*.mdb") Set Db = MyDAO(AccPath) Set Rs = Db.OpenRecordset("Frame Sections") With Sheets("Frame Sections") .Columns("A:V").Delete For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next .Range("A2").CopyFromRecordset Rs End With Rs.Close Set Rs = Db.OpenRecordset("Frame Assignments - Summary") With Sheets("Frame Assignments- Summary") .Columns("A:V").Delete For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next .Range("A2").CopyFromRecordset Rs End With Rs.Close Set Rs = Db.OpenRecordset("Column Forces") With Sheets("Column Forces") .Columns("A:V").Delete For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next .Range("A2").CopyFromRecordset Rs End With Sheets("ThepCot").Select Range("A1").Select End Sub D

donvinhhp

Thành viên mới
Tham gia 30/5/08 Bài viết 12 Được thích 0
Hai Lúa Miền Tây đã viết: Chỉ cần tạo 1 biến mở Recordset là đủ. Tôi tạm chỉnh code của bạn như sau: Nhấp chuột vào đây để mở rộng...
E đã test và thấy đoạn code bác thêm vào hoạt động tốt, toàn bộ phần tiêu đề giờ đã xuất hiện, e đang cố đọc code để hiểu nguyên đoạn code này là để chừa lại dòng trên cùng nhập tên đúng ko bác:
For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next Nhấp chuột vào đây để mở rộng...
E chân thành cảm ơn bác nhé! Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng.
donvinhhp đã viết: E đã test và thấy đoạn code bác thêm vào hoạt động tốt, toàn bộ phần tiêu đề giờ đã xuất hiện, e đang cố đọc code để hiểu nguyên đoạn code này là để chừa lại dòng trên cùng nhập tên đúng ko bác: E chân thành cảm ơn bác nhé! Nhấp chuột vào đây để mở rộng...
Nôm na là khi đổ dữ liệu từ Recordset xuống sheet thì mặc định nó không có tiêu đề cột. Muốn có tiêu đề cột thì bạn phải đọc cái tiêu đề cột trong bảng và ghi xuống sheet. Những dòng code trên có ý nghĩa như thế. D

donvinhhp

Thành viên mới
Tham gia 30/5/08 Bài viết 12 Được thích 0
Hai Lúa Miền Tây đã viết: Nôm na là khi đổ dữ liệu từ Recordset xuống sheet thì mặc định nó không có tiêu đề cột. Muốn có tiêu đề cột thì bạn phải đọc cái tiêu đề cột trong bảng và ghi xuống sheet. Những dòng code trên có ý nghĩa như thế. Nhấp chuột vào đây để mở rộng...
Hic, có chút vấn đề bác ơi, giờ thì vấn đề nhập dữ liệu từ Access sang Excel ok rùi, nhưng khi e nhấn lệnh nhập dữ liệu xong, thì toàn bộ những công thức ở các sheet khác, mà e lấy số liệu từ sheet vừa nhập dữ liệu xong ý bị mất địa chỉ ô toàn bộ, kiểu như hình e gửi kèm ý ạ! Bác giúp e với! E cảm ơn!

File đính kèm

  • Minh hoa 1.jpg Minh hoa 1.jpg 5.8 KB · Đọc: 5
  • File loi.rar File loi.rar 246.9 KB · Đọc: 5
Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng.
donvinhhp đã viết: Hic, có chút vấn đề bác ơi, giờ thì vấn đề nhập dữ liệu từ Access sang Excel ok rùi, nhưng khi e nhấn lệnh nhập dữ liệu xong, thì toàn bộ những công thức ở các sheet khác, mà e lấy số liệu từ sheet vừa nhập dữ liệu xong ý bị mất địa chỉ ô toàn bộ, kiểu như hình e gửi kèm ý ạ! Bác giúp e với! E cảm ơn! Nhấp chuột vào đây để mở rộng...
Tôi nghĩ bạn đã xóa cả cột A->V nên gặp vấn đề là đúng rồi mà Đoạn sau: Mã: Sao chép. Columns("A:V").Delete D

donvinhhp

Thành viên mới
Tham gia 30/5/08 Bài viết 12 Được thích 0
Hai Lúa Miền Tây đã viết: Tôi nghĩ bạn đã xóa cả cột A->V nên gặp vấn đề là đúng rồi mà Đoạn sau: Mã: Sao chép. Columns("A:V").Delete [/QUOTE] Nhấp chuột vào đây để mở rộng...
E ko hiểu lắm, e chỉ nghĩ đơn giản là, File này e dùng chung cho nhiều số liệu khác nhau nhập từ 1 file access, nên mỗi lần nhập số liệu mới thì phải xóa số liệu cũ đi, e cứ nghĩ là nó ko ảnh hưởng đến các sheet công thức bên cạnh ??? vậy có cách nào giữ được công thức các sheet khác ko ạ? Bài đã được tự động gộp: 27/5/21
Hai Lúa Miền Tây đã viết: Tôi nghĩ bạn đã xóa cả cột A->V nên gặp vấn đề là đúng rồi mà Đoạn sau: Mã: Sao chép. Columns("A:V").Delete Nhấp chuột vào đây để mở rộng...
E vừa xóa dòng đó đi và chạy lại, may quá ko bị lỗi gì ạ! Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng.
donvinhhp đã viết: E ko hiểu lắm, e chỉ nghĩ đơn giản là, File này e dùng chung cho nhiều số liệu khác nhau nhập từ 1 file access, nên mỗi lần nhập số liệu mới thì phải xóa số liệu cũ đi, e cứ nghĩ là nó ko ảnh hưởng đến các sheet công thức bên cạnh ??? vậy có cách nào giữ được công thức các sheet khác ko ạ? Bài đã được tự động gộp: 27/5/21 E vừa xóa dòng đó đi và chạy lại, may quá ko bị lỗi gì ạ! Nhấp chuột vào đây để mở rộng...
Bạn thử sửa: Mã: Sao chép. .Columns("A:V").clearcontents D

donvinhhp

Thành viên mới
Tham gia 30/5/08 Bài viết 12 Được thích 0
Hai Lúa Miền Tây đã viết: Tôi nghĩ bạn đã xóa cả cột A->V nên gặp vấn đề là đúng rồi mà Đoạn sau: Mã: Sao chép. Columns("A:V").Delete Nhấp chuột vào đây để mở rộng...
Nhân đây, bác giúp e chút vấn đề này nữa nhé! File excel e gửi bên trên, có sheet(BxH), sheet này là e nhặt số liệu từ các sheet vừa nhập dữ liệu ban đầu, bác viết giúp e đoạn code sao chép hàng loạt dòng xuống tương ứng với số dòng của bên sheet(Column forces) ý ạ, nghĩa là bên sheet(Column forces) có bao nhiêu dòng thì bên sheet(BxH) tự động copy xuống từng đó dòng ý ạ! E xin chân thành cảm ơn bác! Bài đã được tự động gộp: 27/5/21
Hai Lúa Miền Tây đã viết: Bạn thử sửa: Mã: Sao chép. .Columns("A:V").clearcontents Nhấp chuột vào đây để mở rộng...
E sửa theo thế thì thì ok luôn rồi ạ! E cảm ơn bác! Bài đã được tự động gộp: 27/5/21
Hai Lúa Miền Tây đã viết: Bạn thử sửa: Mã: Sao chép. .Columns("A:V").clearcontents Nhấp chuột vào đây để mở rộng...
Đây là đoạn code trước e cóp nhặt và chế ra, nhưng là giới hạn số dòng copy, e ko biết cách để nó tự phát hiện xem sheet(column force) bao nhiêu dòng thì nó tự kéo xuống bấy nhiêu dòng ý ạ, bác sửa giúp e với!
Sub ThepCotM22() Sheets("ThepCot").Select Range("A11").Select ActiveCell.Formula = "='Column Forces'!A2" Range("B11").Select ActiveCell.Formula = "='Column Forces'!B2" Range("C11").Select ActiveCell.Formula = "='Column Forces'!D2" Range("D11").Select ActiveCell.Formula = "=abs('Column Forces'!J2)" Range("E11").Select ActiveCell.Formula = "=abs('Column Forces'!F2)" Range("F11").Select ActiveCell.Formula = "=VLOOKUP(H11,BxH!A:F,6,0)" Range("I11").Select ActiveCell.Formula = "=VLOOKUP(H11,BxH!A:F,2,0)" Range("J11").Select ActiveCell.Formula = "=VLOOKUP(H11,BxH!A:F,3,0)" Range("A11:AP11").Select Selection.AutoFill Destination:=Range("A11:AP37"), Type:=xlFillCopy Range("A11:AP37").Select Range("A11").Select End Sub Nhấp chuột vào đây để mở rộng...
Lần chỉnh sửa cuối: 27/5/21 Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng.
donvinhhp đã viết: Nhân đây, bác giúp e chút vấn đề này nữa nhé! File excel e gửi bên trên, có sheet(BxH), sheet này là e nhặt số liệu từ các sheet vừa nhập dữ liệu ban đầu, bác viết giúp e đoạn code sao chép hàng loạt dòng xuống tương ứng với số dòng của bên sheet(Column forces) ý ạ, nghĩa là bên sheet(Column forces) có bao nhiêu dòng thì bên sheet(BxH) tự động copy xuống từng đó dòng ý ạ! E xin chân thành cảm ơn bác! Bài đã được tự động gộp: 27/5/21 E sửa theo thế thì thì ok luôn rồi ạ! E cảm ơn bác! Bài đã được tự động gộp: 27/5/21 Đây là đoạn code trước e cóp nhặt và chế ra, nhưng là giới hạn số dòng copy, e ko biết cách để nó tự phát hiện xem sheet(column force) bao nhiêu dòng thì nó tự kéo xuống bấy nhiêu dòng ý ạ, bác sửa giúp e với! Nhấp chuột vào đây để mở rộng...
Rich (BB code): Sao chép. Selection.AutoFill Destination:=Range("A11:AP37"), Type:=xlFillCopy Bạn thay số tôi tô đỏ bằng số tương ứng của bạn nhé. Hiện tại nó chỉ fill xuống đến dòng 37 D

donvinhhp

Thành viên mới
Tham gia 30/5/08 Bài viết 12 Được thích 0
Hai Lúa Miền Tây đã viết: Rich (BB code): Sao chép. Selection.AutoFill Destination:=Range("A11:AP37"), Type:=xlFillCopy Bạn thay số tôi tô đỏ bằng số tương ứng của bạn nhé. Hiện tại nó chỉ fill xuống đến dòng 37 Nhấp chuột vào đây để mở rộng...
Dạ, ý e là sheet(Column Force) có thể có nhiều hơn số hàng đó (hiện giờ file e đang làm là có từng ấy hàng ạ), nghĩa là số hàng là ko biết trước, trường hợp sheet(Column Force) có tầm 123 hàng (chẳng hạn), thì việc để cho code tự phát hiện có bao nhiêu hàng để nó tự động copy xuống hàng cuối cùng của sheet(Column Force) liệu có khả thi ko ạ? E cảm ơn! Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng.
donvinhhp đã viết: Dạ, ý e là sheet(Column Force) có thể có nhiều hơn số hàng đó (hiện giờ file e đang làm là có từng ấy hàng ạ), nghĩa là số hàng là ko biết trước, trường hợp sheet(Column Force) có tầm 123 hàng (chẳng hạn), thì việc để cho code tự phát hiện có bao nhiêu hàng để nó tự động copy xuống hàng cuối cùng của sheet(Column Force) liệu có khả thi ko ạ? E cảm ơn! Nhấp chuột vào đây để mở rộng...
Bạn phải xác định được số dòng của sheet đó trước rồi tra nó vào. Có rất là nhiều cách nhưng tôi chỉ nói cách sau: Mã: Sao chép. Sub test() dim i as integer i=Sheets("Column Forces").Range("A1").SpecialCells(xlCellTypeLastCell).Row MsgBox i End Sub Tra biến i vào chỗ tôi tô đỏ ở bài trước nhé D

donvinhhp

Thành viên mới
Tham gia 30/5/08 Bài viết 12 Được thích 0
Hai Lúa Miền Tây đã viết: Bạn phải xác định được số dòng của sheet đó trước rồi tra nó vào. Có rất là nhiều cách nhưng tôi chỉ nói cách sau: Mã: Sao chép. Sub test() dim i as integer i=Sheets("Column Forces").Range("A1").SpecialCells(xlCellTypeLastCell).Row MsgBox i End Sub Tra biến i vào chỗ tôi tô đỏ ở bài trước nhé Nhấp chuột vào đây để mở rộng...
Dạ, nghĩa là muốn copy xuống, kiểu gì vẫn phải qua bước đếm xem Sheets("Column Forces") có bao nhiêu hàng đã ạ? Sau đó ứng với từng File cụ thể thì mình sẽ sửa code để máy tự động chạy xuống từng đó dòng ạ? E cảm ơn bác! Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng.
donvinhhp đã viết: Dạ, nghĩa là muốn copy xuống, kiểu gì vẫn phải qua bước đếm xem Sheets("Column Forces") có bao nhiêu hàng đã ạ? Sau đó ứng với từng File cụ thể thì mình sẽ sửa code để máy tự động chạy xuống từng đó dòng ạ? E cảm ơn bác! Nhấp chuột vào đây để mở rộng...
Đúng rồi bạn, mình phải xác định được số dòng tương ứng trước chứ. Bạn có thể xác định nó khi lấy dữ liệu Mã: Sao chép. Public Sub GetDataBase() Dim Db As Object Dim Rs As Object Dim AccPath As String Dim i As Integer Dim sodong As Integer AccPath = Application.GetOpenFilename("TEXT FILES(*.mdb),*.mdb") Set Db = MyDAO(AccPath) Set Rs = Db.OpenRecordset("Frame Sections") With Sheets("Frame Sections") .Columns("A:V").ClearContents For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next sodong = Rs.RecordCount + 1 MsgBox "So dong cua sheet [Frame Sections] la: " & sodong .Range("A2").CopyFromRecordset Rs End With Rs.Close Set Rs = Db.OpenRecordset("Frame Assignments - Summary") With Sheets("Frame Assignments- Summary") .Columns("A:V").ClearContents For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next sodong = Rs.RecordCount + 1 MsgBox "So dong cua sheet [Frame Assignments- Summary] la: " & sodong .Range("A2").CopyFromRecordset Rs End With Rs.Close Set Rs = Db.OpenRecordset("Column Forces") With Sheets("Column Forces") .Columns("A:V").ClearContents For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next sodong = Rs.RecordCount + 1 MsgBox "So dong cua sheet [Column Forces] la: " & sodong .Range("A2").CopyFromRecordset Rs End With Sheets("ThepCot").Select Range("A1").Select End Sub Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng. Rút gọn code trên lại một chút. Lưu ý tên bảng phải giống tên sheet nhé. Mã: Sao chép. Public Sub GetDataBase() Dim Db As Object, Rs As Object Dim AccPath As String, TenSheet As String Dim i As Integer, SoDong As Integer, iSht As Integer Dim arrTenSheet As Variant arrTenSheet = Array("Frame Sections", "Frame Assignments - Summary", "Column Forces") AccPath = Application.GetOpenFilename("TEXT FILES(*.mdb),*.mdb") Set Db = MyDAO(AccPath) For iSht = 0 To 2 TenSheet = arrTenSheet(iSht) Set Rs = Db.OpenRecordset(TenSheet) With Sheets(TenSheet) .Columns("A:V").ClearContents For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next SoDong = Rs.RecordCount + 1 MsgBox "So dong cua sheet " & TenSheet & " la: " & SoDong .Range("A2").CopyFromRecordset Rs End With Rs.Close Next Sheets("ThepCot").Select Range("A1").Select End Sub D

donvinhhp

Thành viên mới
Tham gia 30/5/08 Bài viết 12 Được thích 0
Hai Lúa Miền Tây đã viết: Đúng rồi bạn, mình phải xác định được số dòng tương ứng trước chứ. Bạn có thể xác định nó khi lấy dữ liệu Mã: Sao chép. Public Sub GetDataBase() Dim Db As Object Dim Rs As Object Dim AccPath As String Dim i As Integer Dim sodong As Integer AccPath = Application.GetOpenFilename("TEXT FILES(*.mdb),*.mdb") Set Db = MyDAO(AccPath) Set Rs = Db.OpenRecordset("Frame Sections") With Sheets("Frame Sections") .Columns("A:V").ClearContents For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next sodong = Rs.RecordCount + 1 MsgBox "So dong cua sheet [Frame Sections] la: " & sodong .Range("A2").CopyFromRecordset Rs End With Rs.Close Set Rs = Db.OpenRecordset("Frame Assignments - Summary") With Sheets("Frame Assignments- Summary") .Columns("A:V").ClearContents For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next sodong = Rs.RecordCount + 1 MsgBox "So dong cua sheet [Frame Assignments- Summary] la: " & sodong .Range("A2").CopyFromRecordset Rs End With Rs.Close Set Rs = Db.OpenRecordset("Column Forces") With Sheets("Column Forces") .Columns("A:V").ClearContents For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next sodong = Rs.RecordCount + 1 MsgBox "So dong cua sheet [Column Forces] la: " & sodong .Range("A2").CopyFromRecordset Rs End With Sheets("ThepCot").Select Range("A1").Select End Sub Nhấp chuột vào đây để mở rộng...
E cảm ơn bác nhiều! D

donvinhhp

Thành viên mới
Tham gia 30/5/08 Bài viết 12 Được thích 0
Hai Lúa Miền Tây đã viết: Rút gọn code trên lại một chút. Lưu ý tên bảng phải giống tên sheet nhé. Mã: Sao chép. Public Sub GetDataBase() Dim Db As Object, Rs As Object Dim AccPath As String, TenSheet As String Dim i As Integer, SoDong As Integer, iSht As Integer Dim arrTenSheet As Variant arrTenSheet = Array("Frame Sections", "Frame Assignments - Summary", "Column Forces") AccPath = Application.GetOpenFilename("TEXT FILES(*.mdb),*.mdb") Set Db = MyDAO(AccPath) For iSht = 0 To 2 TenSheet = arrTenSheet(iSht) Set Rs = Db.OpenRecordset(TenSheet) With Sheets(TenSheet) .Columns("A:V").ClearContents For i = 0 To Rs.Fields.Count - 1 .Cells(1, i + 1) = Rs.Fields(i).Name Next SoDong = Rs.RecordCount + 1 MsgBox "So dong cua sheet " & TenSheet & " la: " & SoDong .Range("A2").CopyFromRecordset Rs End With Rs.Close Next Sheets("ThepCot").Select Range("A1").Select End Sub Nhấp chuột vào đây để mở rộng...
E giờ mới để ý thấy bác giúp e rút gọn lại code! E vừa chạy thử, code báo cho số dòng, nhưng bị lỗi như trong ảnh ạ! Với lại bác ko cần sửa lỗi này nữa đâu ạ, trước khi chạy code e để ý số dòng cũng được! Có điều, e nhớ cũng lâu rồi, cách đây 3, 4 năm gì đó, có lần e xem trên mạng có đoạn code cho phép copy (thay cho thao tác bôi đen hàng trên (như bảng của e là bôi đen row(11:11), sau đó đặt chuột vào dấu cộng màu đen rồi kéo xuống, đến khi nào đến dòng cuối của sheet("Column Forces") thì dừng lại), kiểu như có code để tự động phát hiện ra dòng cuối của sheet("Column Forces") ý ạ! E có tìm trong File hồi xưa, có đoạn code thế này, bác xem giúp e ko biết có phải là nó ko?
Rows("11:11").Select Selection.Copy Range(Selection, Selection.End(xlDown)).Select ActiveSheet.Paste Application.CutCopyMode = False Nhấp chuột vào đây để mở rộng...
E xin chân thành cảm ơn sự nhiệt tình của bác!

File đính kèm

  • Loi1.jpg Loi1.jpg 72.8 KB · Đọc: 9
Hai Lúa Miền Tây

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT Administrator Tham gia 18/3/08 Bài viết 8,313 Được thích 15,880 Giới tính Nam Nghề nghiệp Làm ruộng.
donvinhhp đã viết: E giờ mới để ý thấy bác giúp e rút gọn lại code! E vừa chạy thử, code báo cho số dòng, nhưng bị lỗi như trong ảnh ạ! Với lại bác ko cần sửa lỗi này nữa đâu ạ, trước khi chạy code e để ý số dòng cũng được! Có điều, e nhớ cũng lâu rồi, cách đây 3, 4 năm gì đó, có lần e xem trên mạng có đoạn code cho phép copy (thay cho thao tác bôi đen hàng trên (như bảng của e là bôi đen row(11:11), sau đó đặt chuột vào dấu cộng màu đen rồi kéo xuống, đến khi nào đến dòng cuối của sheet("Column Forces") thì dừng lại), kiểu như có code để tự động phát hiện ra dòng cuối của sheet("Column Forces") ý ạ! E có tìm trong File hồi xưa, có đoạn code thế này, bác xem giúp e ko biết có phải là nó ko? E xin chân thành cảm ơn sự nhiệt tình của bác! Nhấp chuột vào đây để mở rộng...
Dùng xlDown bạn lưu ý là dữ liệu của bạn phải liên tục, không có ô nào bị trống nhé. 1622163867604.png Còn nếu không thì thêm 1 mảng tên sheet rồi duyệt chung với bảng tương ứng là được. N

nolis

Thành viên mới
Tham gia 21/11/11 Bài viết 1 Được thích 0 Nhờ các bác giúp đỡ . Em tạo một button trên file excel để mở một file access từ ỗ D. Em đã thử lệnh shell nhưng không được. Nhờ các bác cho em sub để mở file access đó ạ. Em cảm ơn Bạn phải đăng nhập hoặc đăng ký để trả lời bài viết tại đây.

Bài viết mới nhất

Q Nhờ các anh chị giúp cho công thức đếm số khách hàng theo File đính kèm (5 người xem)
  • QUANSUNG
  • Hôm nay lúc 10:15
  • Hướng dẫn sử dụng các hàm trong Excel
Trả lời 3 Đọc 33 18 phút trước DeTong D D Công thức tính thuế thu nhập cá nhân mới nhất theo mức 5 bậc (7 người xem)
  • Dinh Hong Nhung
  • 11/12/25
  • Hàm và công thức Excel
Trả lời 16 Đọc 1K 20 phút trước dungpham01 D hanhlx88 Nhờ các cao nhân chỉ giúp file excel quá nặng. không không biết nguyên nhân (3 người xem)
  • hanhlx88
  • Hôm nay lúc 13:02
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 0 Đọc 19 Hôm nay lúc 13:02 hanhlx88 hanhlx88 D Công thức tính thuế TNCN cho người lao động nước ngoài (6 người xem)
  • Dinh Hong Nhung
  • Hôm nay lúc 10:04
  • Hàm và công thức Excel
Trả lời 0 Đọc 34 Hôm nay lúc 10:04 Dinh Hong Nhung D SA_DQ Copilot bình luận các ván cờ vua từng ngày.
    • Thích
  • SA_DQ
  • 3/11/25
  • Chia sẻ
Trả lời 16 Đọc 748 Hôm nay lúc 06:02 SA_DQ SA_DQ L [Nhờ giúp đỡ] Tìm khoảng thời gian bị gối, hoặc trùng nhau (1 người xem)
  • Lá chanh
  • Thứ sáu lúc 00:53
  • Hàm và công thức Excel
Trả lời 8 Đọc 172 Hôm nay lúc 05:36 lamvankhoat1 L B Tính 1 đồng Doanh thu thuần mang về thì còn lại được bao nhiêu đồng EBITDA
  • Bobby52
  • Thứ bảy lúc 16:18
  • Hàm và công thức Excel
Trả lời 0 Đọc 67 Thứ bảy lúc 16:18 Bobby52 B D
  • Question Question
Tách dòng tự động theo điều kiện bằng VBA
    • Cười
  • duongnhuxuyen
  • 12/12/25
  • Lập Trình với Excel
Trả lời 18 Đọc 622 Thứ sáu lúc 14:23 duongnhuxuyen D PhanTuHuong Bán sách Excel nâng cao để ủng hộ đồng bào bão lũ năm 2025! (1 người xem)
    • Yêu thích
  • PhanTuHuong
  • 10/12/25
  • Câu lạc bộ hoạt động xã hội
Trả lời 6 Đọc 487 Thứ năm lúc 23:12 PhanTuHuong PhanTuHuong A Có cách nào điều chỉnh cho tên Sheet lớn ra
    • Cười
  • AnhThu-1976
  • Thứ tư lúc 16:37
  • Những vấn đề chung
Trả lời 8 Đọc 254 Thứ năm lúc 17:22 SA_DQ SA_DQ T Xin hỏi cách để lọc dữ liệu ngày tháng của nhiều sheet
  • TatLap
  • Thứ năm lúc 09:39
  • Lọc và sắp xếp dữ liệu
Trả lời 6 Đọc 155 Thứ năm lúc 13:35 TatLap T K xin file excel bảng đấu bóng đá
    • Yêu thích
  • kenshithanh
  • 1/4/15
  • Chơi Game với Excel
Trả lời 48 Đọc 30K Thứ tư lúc 18:18 SA_DQ SA_DQ PhanTuHuong Nếu diễn đàn GPE đóng cửa?
    • Thích
    • Yêu thích
  • PhanTuHuong
  • 14/12/25
  • Thư giãn
Trả lời 26 Đọc 1K Thứ tư lúc 17:29 TH280861 T PhanTuHuong Miền Tây mùa nước nổi
    • Thích
    • Ngạc nhiên
  • PhanTuHuong
  • 5/10/20
  • Thư giãn
Trả lời 31 Đọc 3K Thứ tư lúc 14:45 SA_DQ SA_DQ T Lọc dự liệu với hai điều kiện
  • tiny1010
  • 16/3/10
  • Cấu trúc dữ liệu Excel và việc Xử lý dữ liệu
Trả lời 20 Đọc 7K Thứ tư lúc 13:23 dungpham01 D ongke0711
  • Question Question
Tải hóa đơn điện tử (https://hoadondientu.gdt.gov.vn/) Excel Vba (2 người xem)
    • Thích
    • Yêu thích
    • Cảm ơn
  • ongke0711
  • 6/10/24
  • Lập Trình với Excel
4 5 6 Trả lời 584 Đọc 84K Thứ tư lúc 09:39 tuanktt3 T P Lỗi hàm VBA phải add-in sau mỗi lần mở file (1 người xem)
  • phamdinh.huy.aladin@gmail
  • 15/12/25
  • Hàm và công thức Excel
Trả lời 8 Đọc 375 Thứ tư lúc 08:07 phamdinh.huy.aladin@gmail P huevantran Xin chỉ giúp sự khác nhau giữa giá trị trong ô A3 và A4 là gì
  • huevantran
  • 22/12/25
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 7 Đọc 200 Thứ ba lúc 12:19 dungpham01 D K Các nút Buttom, Combobox, Textbox bị thay đổi kích thước ...
  • kaoehtkid
  • 15/12/25
  • Những vấn đề chung
Trả lời 15 Đọc 467 Thứ ba lúc 11:36 ongke0711 ongke0711 L nhờ hoàn thiện file dò xổ số
    • Cười
  • levovantoan
  • 19/12/25
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 8 Đọc 431 Thứ ba lúc 08:57 Gà Con yêu VBA Gà Con yêu VBA Xem thêm… Chia sẻ: Facebook X Bluesky LinkedIn Reddit Pinterest Tumblr WhatsApp Email Chia sẻ Link

Thành viên có số lượng bài viết cao nhất tháng

  • Maika8008 48
  • dungpham01 26
  • thanthanhan 24
  • ongke0711 23
  • ptm0412 19
  • Phan Thế Hiệp 17
  • eagle12 16
  • nguyenanhtruong2409 16
  • HUONGHCKT 12
  • pycckuu410 12
  • vic_it 11
  • Gà Con yêu VBA 11
  • nhhnam 10
  • dieppk.nb92 10
  • Vũ Hải Sơn 9
  • HeSanbi 9
  • le_vis 8
  • duongnhuxuyen 8
  • SA_DQ 8
  • bsbnhh 7

Thành viên có điểm tương tác cao nhất tháng

  • Phan Thế Hiệp 92
  • Maika8008 41
  • ptm0412 25
  • thanthanhan 20
  • ongke0711 20
  • HeSanbi 17
  • dungpham01 15
  • Cúc Hr 9
  • HUONGHCKT 9
  • eagle12 9
  • SA_DQ 9
  • pycckuu410 6
  • dieppk.nb92 6
  • Gà Con yêu VBA 6
  • Mr.hieudoanxd 5
  • befaint 5
  • Hoàng Tuấn 868 4
  • Phuocam 4
  • nguyenanhtruong2409 4
  • HieuCD 3

Thời gian đếm ngược.

000 Ngày 00 Giờ 00 phút 00 giây Thân mời tham dự sự kiện sinh nhật GPE 2025
  • Trang chủ
  • Diễn đàn
  • Excel và Kỹ Thuật
  • Website này sử dụng cookies. Tiếp tục sử dụng trang này, đồng nghĩa với việc bạn chấp nhận website sử dụng cookies. Chấp nhận Tìm hiểu thêm.…
Back Top Bottom

Từ khóa » Từ Access Vào Excel