langkhachquaduong
Thành viên chính thức
- Tham gia
- 23/7/19
- Bài viết
- 50
- Được thích
- 8
SQL này em thấy cũng hay nhưng chưa đụng đến .Làm báo cáo lấy dữ liệu cực kỳ nhanh.Các Bạn cố giắng mà học cách điền kết quả ra Sheet kiểu Office 365 đi sẻ rất hay đấy ... Ngay cả khi Bạn xài Office 365 mà một số hàm Bill không hổ trợ thì viết lấy mà xài cho khỏe VD như: xài ADO lấy dữ liệu file Access Or Excel thì viết ADO bình thường như những hàm khác xong truyền SQL vào gõ trên Cells cái cộp là xong .... Minh họa như hình sau ( làm biếng úp Video lắm )
Nếu kẹt nữa thì Atools cũng là 1 giải pháp tốt cho Bạn
View attachment 246257
ADO là COM của Windows, đâu phải hệ thống nào cũng xài được.Các Bạn cố giắng mà học cách điền kết quả ra Sheet kiểu Office 365 đi sẻ rất hay đấy ... Ngay cả khi Bạn xài Office 365 mà một số hàm Bill không hổ trợ thì viết lấy mà xài cho khỏe VD như: xài ADO lấy dữ liệu file Access Or Excel thì viết ADO bình thường như những hàm khác xong truyền SQL vào gõ trên Cells cái cộp là xong .... Minh họa như hình sau ( làm biếng úp Video lắm )
...
Biết mà nếu nhớ ko lầm thì Bạn có nói 1 lần trên GPE rồi mà ở thớt khácADO là COM của Windows, đâu phải hệ thống nào cũng xài được.
Mà đã xài tới 365 thì chả cần Sí-cồ Sí-kiếc gì cả. Truy vấn qua Power Query khoẻ và hợp tiêu chuẩn hơn nhiều.
"Application.Caller"Xài 365 nói làm gì nữa.Nó tích sẵn luôn rồi bỏ tiền ra mua thôi.
Mình đang tự viết hàm giống với unique nhưng đến đoạn đỗ ra range thì chưa biết phải làm gì
Bài đã được tự động gộp:
Mình đã text thử ok đó.
Bài đã được tự động gộp:
Bác nhớ từ khóa tên gì không em muốn kham khảo.
If TypeName(Application.Caller) = "Range" ThenBạn kiểm tra thử xem,
Bỏ đoạn này vào ThisWorkbook module:
Mã:Option Explicit Public RangesToExpand As New Collection Private Sub Workbook_SheetCalculate(ByVal Sh As Object) Dim oneCell As Range Dim strFormula Application.EnableEvents = False For Each oneCell In RangesToExpand With oneCell strFormula = .Cells(1, 1).FormulaArray .CurrentRegion.ClearContents .FormulaArray = strFormula RangesToExpand.Remove .Address(, , , True) End With Next oneCell Application.EnableEvents = True End Sub
Bỏ đoạn này vào Module có tên "FUNCUNIQUE" hoặc một module mới.
Mã:Function UNIQUES_COL(rng As Range) As Variant() Dim list As New Collection Dim Ulist() As Variant Dim Value, i As Long On Error Resume Next For Each Value In rng list.Add CStr(Value), CStr(Value) Next On Error GoTo 0 ReDim Ulist(list.Count - 1, 0) For i = 0 To list.Count - 1 Ulist(i, 0) = list(i + 1) Next If TypeName(Application.Caller) = "Range" Then If Application.EnableEvents Then With Application.Caller If .Rows.Count <> i Or .Columns.Count <> 1 Then If ThisWorkbook.RangesToExpand Is Nothing Then Set ThisWorkbook.RangesToExpand = New Collection End If With .Resize(i, 1) ThisWorkbook.RangesToExpand.Add item:=.Cells, Key:=.Address(, , , True) End With End If End With End If End If UNIQUES_COL = Ulist End Function
Gõ vào F1:
Mã:=UNIQUES_COL($A$1:$A$13)
Chốc chốc lại thấy có anh gì lại úp quả vi đi ô rất là hoành trán nhưng không thấy mặt mũi cốt két thế nào? Bạn thử hỏi cách làm của anh ý xem.a
Bài đã được tự động gộp:
If TypeName(Application.Caller) = "Range" Then
If Application.EnableEvents Then
With Application.Caller
If .Rows.Count <> i Or .Columns.Count <> 1 Then
If ThisWorkbook.RangesToExpand Is Nothing Then
Set ThisWorkbook.RangesToExpand = New Collection
End If
With .Resize(i, 1)
ThisWorkbook.RangesToExpand.Add item:=.Cells, Key:=.Address(, , , True)
End With
End If
End With
End If
End If
Mình tìm mọi cách để hiểu đoạn code trên mà chưa được. Mong bạn giải thích giúp mình. Mình cám ơn
Một bài toán nhiều phương án giải khác nhau đều sẽ có ưu nhược điểm riêng. Đối với bạn nó bình thường nhưng đối với mình thì nó cực kỳ hữu ích. Mình rất mong sự giải đáp từ bạn.Chốc chốc lại thấy có anh gì lại úp quả vi đi ô rất là hoành trán nhưng không thấy mặt mũi cốt két thế nào? Bạn thử hỏi cách làm của anh ý xem.
Cách làm này của tôi có gì cao điêu đâu, anh ý cũng chỉ ra nhược điểm rồi mà.
Bạn cứ bình tĩnh chờ đợi thêm các phương pháp như trong video của các anh ý đã, biết đâu được đến đó bạn sẽ thấy những cái đó hữu ích hơn rất nhiều.Một bài toán nhiều phương án giải khác nhau đều sẽ có ưu nhược điểm riêng. Đối với bạn nó bình thường nhưng đối với mình thì nó cực kỳ hữu ích. Mình rất mong sự giải đáp từ bạn.
Thôi đành ngậm ngùi vậy. Một chuyện tình dang dở.Bạn cứ bình tĩnh chờ đợi thêm các phương pháp như trong video của các anh ý đã, biết đâu được đến đó bạn sẽ thấy những cái đó hữu ích hơn rất nhiều.
Mình cũng đan chờ đợi những cái đó giống như cảm giác của bạn vậy
Tôi thấy có gì đáng buồn cười đâu.đọc Comment của bạn không nhịn được cười
xem thử vi deo của 1 bạn dấu tên xem có nghiệm ra được gì không
Hihi Bạn không buồn cười nhưng tôi đọc cái câu này "Thôi đành ngậm ngùi vậy. Một chuyện tình dang dở. " tôi thấy nó tiếu lăm, nó hài hài nên tôi mắt cười thôiTôi thấy có gì đáng buồn cười đâu.
Bạn ý không hiểu không biết vận dụng thì bạn ý hỏi thôi, hỏi không được thì bạn ý buồn thôi chứ có gì mà buồn cười.
Tôi thì không đủ khả năng để làm được như các video hay hình ảnh hoành tráng đó mà chỉ có thể tìm hiểu trên mạng rồi tùy biến lại theo nhu cầu người hỏi thôi, nhưng có vị cao siêu nhìn thấy nó tầm thường quá nên chê bơi nọ kia, nên tôi không dám to mồm nữa.
Đành im lặng mà xem các siêu sao đó biểu diễn thôi.
Chứ có gì đáng cười đâu.
Cái này nó cũng co dãn được tẹoThôi đành ngậm ngùi vậy. Một chuyện tình dang dở.
Cái này bạn có thể ứng dụng nó viết ra đầy thứ như ai đấyCái này nó cũng co dãn được tẹo