Top doanh nghiệp đã đăng ký cho nhân viên
Bạn sẽ học được gì?
Khoá học này sẽ có:
Video
11h 45m giờ học
Article
0 bài viết chuyên môn
Material
7 tài liệu đính kèm
Exam questions
4 đề thi ghi nhớ kiến thức
Nội dung khoá học
5 Chương . 111 bài giảng . 11h 45m giờ học
Mở rộng tất cả các phầnMô tả khoá học
Trong khóa VBAG01, các bạn đã được làm quen với các kiến thức cơ bản của VBA như Code, Module và ứng dụng vào các công việc tự động hóa quy trình trên Excel hằng ngày. Trong khóa VBAG02 này, Gitiho sẽ giới thiệu tới các bạn các chức năng chuyên sâu của VBA và Excel như kiến thức về Mảng, cách sử dụng truy vấn SQL hay cách sử dụng nhiều công cụ nâng cao khác trong thư viện của Microsoft. Với các kỹ năng này, bạn sẽ trở thành những Chuyên gia Excel thực thụ, với kỹ năng lập trình, tự động hóa và xử lý mọi công việc trên Excel.
Gitiho luôn cam kết hiệu quả với học viên, khóa học online thực hành, áp dụng ngay vào để nâng cao năng suất làm việc. Gitiho cam kết hoàn tiền trong 365 ngày nếu khóa học không hiệu quả.
Đánh giá của học viên
4.25/5
4 Đánh giá và nhận xét
75%
0%
0%
25%
0%
Thạnh Nguyễn
Nguyen thi huyen trang
Duc Anh Nguyen
IT_9
Giảng viên:
4.4 điểm đánh giá
793 đánh giá
292,470 học viên
100 khóa học
Hỏi đáp khóa học
Thảo luận về bài học
739 thảo luận
Hoàng Bá Tâm 27 Sep 2023
Sub chaySQLFunction()
Dim SQLQuery As String, arr As Variant, dc As Long
dc = Timdongcuoi(Sheet5, "A")
If (dc >= 2) Then Sheet5.Range("A3:ADO" & dc).ClearContents
SQLQuery = " Select * From [datahv$] where [datahv$].[DIEN]= '" & Sheet5.Range("D1").Value & " ' and [datahv$].[NGAYVAO] between " & CDbl(Sheet5.Range("F1").Value) & " and " & CDbl(Sheet5.Range("F2").Value) & ""
'SQLQuery = "select * From [datahv$] WHERE [datahv$].[DIEN]= '" & Sheet5.Range("D1").Value & "' AND [datahv$].[NGAYVAO] >= " & CDbl(Sheet5.Range("F1").Value) & " AND [datahv$].[NGAYVAO]<= " & CDbl(Sheet5.Range("F2").Value) & ""
'SQLQuery = "select * From [datahv$] WHERE AND [datahv$].[NGAYVAO] >= " & CDbl(Sheet5.Range("F1").Value) & " AND [datahv$].[NGAYVAO]<= " & CDbl(Sheet5.Range("F2").Value) & ""
'select * From DATA1 WHERE DATA1.[MA_DT] = '" & Sheet6.Range("B1").Value & "' and DATA1.NGAY>= " & CDbl(Sheet6.Range("D1").Value) & " and DATA1.NGAY<= " & CDbl(Sheet6.Range("D2").Value)
If IsArray(arr) = False Then
Sheet5.Range("A4").Value = arr
Else
Sheet5.Range("A4").Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
End If
End Sub
Tuấn Ba [Chuyên gia] 28 Sep 2023
Ban đẩy file lên nhé.
Hoàng Bá Tâm 17 Sep 2023
Hoàng Bá Tâm 17 Sep 2023
Sub chaySQLFunction()
Dim SQLQuery As String, Arr As Variant, dc As Long
dc = Timdongcuoi(Sheet5, "A")
If (dc >= 2) Then Sheet5.Range("A3:ADO" & dc).ClearContents
SQLQuery = "select * from data where [DIEN]=' " & Sheet5.Range("C1").Value & " '"
Arr = QuerySQL(SQLQuery, "", True)
If IsArray(Arr) = False Then
Sheet5.Range("A3").Value = Arr
Else
Sheet5.Range("A3").Resize(UBound(Arr, 1), UBound(Arr, 2)).Value = Arr
End If
End SubFunction QuerySQL(SQLQuyery As String, Optional Spart As String = "", Optional Hr As Boolean = False)
Dim Cnn As Object, lrs As Object, Part As String
Set Cnn = CreateObject("ADODB.Connection")
Set lrs = CreateObject("ADODB.Recordset")
If Len(Spart) = 0 Then
Part = ThisWorkbook.FullName
Else
Part = Spart
End If
Cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Part & ";Extended Properties=""Excel 8.0;HDR=YES"";"
Cnn.Open
Dim Arr As Variant
lrs.Open SQLQuyery, Cnn
Arr = lrs.Getrows
Dim Row As Long, col As Long, i As Long, j As Long, kq As Variant, Rs As Integer
If Hr = True Then
Rs = 1
Else
Rs = 0
End If
Row = UBound(Arr, 2) + Rs
col = UBound(Arr, 1)
ReDim kq(Row + 1 + Rs, col + 1 + Rs)
For i = 0 To Row
For j = 0 To col
If (i = 0 And Hr = True) Then
kq(0, j) = lrs.Fields(j).Name
Else
kq(i, j) = Arr(j, i - Rs)
End If
Next j
Next i
QuerySQL = kq
lrs.Close: Cnn.Close
Erase Arr: Erase kq
End Function
NHỜ THẦY SỮ DÙM ĐOẠN CODE DÙM E, LÀM GIỐNG THẦY
KHI ĐỔI DIEN: TN; NĐ, CC5 NÓ NÓ THAY DOI NHA THÀY
Hoàng Bá Tâm 12 Sep 2023
Hoàng Bá Tâm 12 Sep 2023
https://docs.google.com/spreadsheets/d/15-9PH76tyUgZj7zDGeGlWL26nM_BaW2z2IFDnX2-jiY/edit?usp=sharing
e gừi file nhờ thầy xem dum
Phạm Xuân Thành 11 Sep 2023
Kính gửi quý giáo viên
Trong bài giảng số 77 thì tôi thấy giáo sử dụng tên bảng là DATA khi sử dụng cú pháp SELECT * FROM DATA. Tuy nhiên, trong trường hợp này do tên Bảng trùng với tên Sheet("Data") nên tôi không hiểu rõ là lệnh SQL tham chiếu đến Sheet hay đến bảng.
Chính vì vậy, tôi đã chỉnh tên bảng DATA thành DATA_TAB và sử dụng cú pháp SELECT * FROM DATA_TAB thì khi chạy lệnh chương trình báo lỗi Sai cú pháp SQL
Do vậy, tôi gửi file đường link đính kèm để nhờ quý giáo viên hướng dẫn giúp trong trường hợp này nếu tôi vẫn muốn sử dụng tên bảng là DATA_TAB thì cú pháp SQL như thế nào sẽ đúng.
Xin cám ơn
https://docs.google.com/spreadsheets/d/1TFFMW4WI3_Tdp0dysuG7XUIdQwSZCpwF/edit?usp=sharing&ouid=116104600344984527315&rtpof=true&sd=true
Tuấn Ba [Chuyên gia] 12 Sep 2023
Chào bạn sql không hỗ trợ đặt tên động nên bạn đổi thành tên tĩnh là được nhé.
nếu sử dụng name range: SELECT * FROM DATA_TAB gọi theo sheets SELECT * FROM [DATA$]
Phạm Xuân Thành 10 Sep 2023
Kính gửi quý trung tâm Gitiho
Trong bài 51 (chương 3: Phần 2 Kết hợp mảng, Function để tạo Function cho SQL trên Excel) thì giáo viên dùng vòng lặp để chuyển kết quả từ mảng Arr sang mảng kq. Mục đích là chuyển cột thành dòng giữa 2 mảng.
Tôi thắc mắc là tại sao không dùng được lệnh Application.WorksheetFunction.Transpose(mang) trong trường hợp này như cú pháp bên dưới:
Sub GetData51()
Dim Cnn As Object, lrs As Object, SQLQuery As String, dc As Long, icol As Long
Dim Arr As Variant
dc = Sheet1.Range("A" & Sheet1.Rows.Count).End(xlUp).Row
If dc >= 2 Then Sheet1.Range("A2:ADO" & dc).ClearContents
Set Cnn = CreateObject("ADODB.Connection")
Set lrs = CreateObject("ADODB.Recordset")
Cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=0"";"
Cnn.Open
SQLQuery = Sheet1.Range("B1").Value
lrs.Open SQLQuery, Cnn
Arr = lrs.GetRows
Sheet1.Range("A3").Resize(UBound(Arr, 2)+1, UBound(Arr, 1)+1).Value = Application.WorksheetFunction.Transpose(Arr)
lrs.Close: Cnn.Close
End Sub
Rất mong quý trung tâm hướng dẫn thêm
Tuấn Ba [Chuyên gia] 10 Sep 2023
Chào bạn bạn đẩy file lên giúp gitiho nhé.
Giá ưu đãi chỉ còn 1 ngày
499,000đ
999,000đĐăng ký cho doanh nghiệp
Giúp nhân viên của bạn truy cập không giới hạn 450 khoá học, mọi lúc, mọi nơi