Tổng hợp dữ liệu,chuyển đổi chiều dọc thành chiều ngang. (1 người xem)

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

Miền Cát Trắng

Thành viên hoạt động
Tham gia
18/5/13
Bài viết
171
Được thích
37
Xin chào Thầy,Cô cùng các bạn!
Em có một vấn đề như sau:
- Mong muốn tổng hợp các dữ liệu từ các sheet con có tên : M1,M2,..M10,...vào sheet tổng hợp có tên "TongHop".
- Tại sheet tổng hợp dữ liệu thay đổi từ chiều dọc sang chiều ngang.
Em đã minh họa kết quả của 1 vài dữ liệu mẫu như file đính kèm ạ.


Rất mong nhận được sự giúp đỡ của mọi người!
Chân thành cảm ơn.
 

File đính kèm

Bài posrt đã lâu, em xin phếp được nhắc lại để nhận được sự giúp đỡ ạ.
Mọi người xem có chỗ nào không hiểu em sẽ giải thích thêm ạ.
Rất mong nhận được sự giúp đỡ!
Chân thành cảm ơn.

Fải gần 1 giờ mới hiểu được bạn cần gì trong file!

& cũng bằng í thời gian . . . . .

....
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Fải gần 1 giờ mới hiểu được bạn cần gì trong file!

& cũng bằng í thời gian . . . . .

....
Em xin cảm ơn Thầy đã cố gắng dành thời gian giúp đỡ, mới xem qua qua em thấy kết quả đúng với mong muốn rồi ạ.
Trong file có 1 chỗ em chưa hiểu là các số 1 được thêm vào trong cột E ở các Sheet con có tác dụng gì vậy thưa Thầy, nếu thêm thì thêm theo qui luật nào ạ.
Trong quá trình vận dụng nếu gặp vấn đề gì thì lại mong nhận được sự giúp đỡ từ Thầy và nọi người người ạ.
Kính chúc Thầy cùng mọi người ngày mới nhiều niềm vui!
 
Upvote 0
Trong file có 1 chỗ em chưa hiểu là các số 1 được thêm vào trong cột E ở các Sheet con có tác dụng gì vậy thưa Thầy, nếu thêm thì thêm theo qui luật nào ạ.

Chúc mọi người ngày mới nhiều niềm vui!

Đó là do trong quá trình tạo macro cho chương trình có lúc nhầm lẫn gì đó thôi;

Bạn thử bỏ đi & chắc vẫn được mà.

Bạn lấy macro này hoàn chỉnh & diêm dúa hơn nè:

PHP:
Option Explicit
Sub TongHop()
 Dim J As Long, Rws As Long, W As Byte, Dg As Integer
 Dim ShName As String, fAdd As String
 Dim Sh As Worksheet, Rng As Range, sRng As Range, Rg0 As Range
 
 Sheets("TongHop").Select:                      Rws = [E65500].End(xlUp).Row
 [f3].Resize(Rws, 120).Clear
 Application.ScreenUpdating = False
 For J = 3 To Rws Step 4
    For W = 1 To 6
        ShName = "M" & Choose(W, "1", "10", "11", "16", "17", "18", "GPE.COM")
        Set Sh = ThisWorkbook.Worksheets(ShName)
        Set Rng = Sh.Range(Sh.[G5], Sh.[G999].End(xlUp))
        Set sRng = Rng.Find(Cells(J, "D").Value, , xlFormulas, xlWhole)
        If Not sRng Is Nothing Then
            fAdd = sRng.Address
            Do
                With Cells(J, "E").Offset(, sRng.Row - 6)
                    .Orientation = 90
                    .Value = sRng.Offset(, 2).Value
                    For Dg = 0 To 94
                        If Dg > 0 And sRng.Offset(Dg).Value <> "" Then Exit For
                        .Offset(1, Dg).Value = Sh.Cells(sRng.Row + Dg, "R").Value
                    Next Dg
                    .Offset(2) = Mid(ShName, 2, 2)
                    .Interior.ColorIndex = 34 + (Dg \ 9)
                End With
                Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> fAdd
        End If
    Next W
 Next J
 Application.ScreenUpdating = True
End Sub
 
Upvote 0
Đó là do trong quá trình tạo macro cho chương trình có lúc nhầm lẫn gì đó thôi;

Bạn thử bỏ đi & chắc vẫn được mà.

Bạn lấy macro này hoàn chỉnh & diêm dúa hơn nè:

PHP:
Option Explicit
Sub TongHop()
 Dim J As Long, Rws As Long, W As Byte, Dg As Integer
 Dim ShName As String, fAdd As String
 Dim Sh As Worksheet, Rng As Range, sRng As Range, Rg0 As Range
 
 Sheets("TongHop").Select:                      Rws = [E65500].End(xlUp).Row
 [f3].Resize(Rws, 120).Clear
 Application.ScreenUpdating = False
 For J = 3 To Rws Step 4
    For W = 1 To 6
        ShName = "M" & Choose(W, "1", "10", "11", "16", "17", "18", "GPE.COM")
        Set Sh = ThisWorkbook.Worksheets(ShName)
        Set Rng = Sh.Range(Sh.[G5], Sh.[G999].End(xlUp))
        Set sRng = Rng.Find(Cells(J, "D").Value, , xlFormulas, xlWhole)
        If Not sRng Is Nothing Then
            fAdd = sRng.Address
            Do
                With Cells(J, "E").Offset(, sRng.Row - 6)
                    .Orientation = 90
                    .Value = sRng.Offset(, 2).Value
                    For Dg = 0 To 94
                        If Dg > 0 And sRng.Offset(Dg).Value <> "" Then Exit For
                        .Offset(1, Dg).Value = Sh.Cells(sRng.Row + Dg, "R").Value
                    Next Dg
                    .Offset(2) = Mid(ShName, 2, 2)
                    .Interior.ColorIndex = 34 + (Dg \ 9)
                End With
                Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> fAdd
        End If
    Next W
 Next J
 Application.ScreenUpdating = True
End Sub
Xin Cảm ơn Thầy rất nhiều, em đã thử thấy code chạy bình thường.Có vấn đề em sẽ thông tin lại cho Thầy ạ.
Xin hỏi Thầy thêm 1 vấn đề nữa nếu trong trường hợp em có khoảng hơn 100 cụ thể là 120 sheets con đi ạ.
Thì đoạn code này sửa như thế nào ạ:
Mã:
[COLOR=#0000BB][FONT=monospace]ShName [/FONT][/COLOR][COLOR=#007700][FONT=monospace]= [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"M" [/FONT][/COLOR][COLOR=#007700][FONT=monospace]& [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]Choose[/FONT][/COLOR][COLOR=#007700][FONT=monospace]([/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]W[/FONT][/COLOR][COLOR=#007700][FONT=monospace], [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"1"[/FONT][/COLOR][COLOR=#007700][FONT=monospace], [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"10"[/FONT][/COLOR][COLOR=#007700][FONT=monospace], [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"11"[/FONT][/COLOR][COLOR=#007700][FONT=monospace], [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"16"[/FONT][/COLOR][COLOR=#007700][FONT=monospace], [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"17"[/FONT][/COLOR][COLOR=#007700][FONT=monospace], [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"18"[/FONT][/COLOR][COLOR=#007700][FONT=monospace], [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"GPE.COM"[/FONT][/COLOR][COLOR=#007700][FONT=monospace])[/FONT][/COLOR]
hay là cứ thế viết thêm bằng tay vào là được ạ, code dài quá thì liệu chạy có lỗi gì không ạ?
Ý của em là tại sheets TongHop em định đưa 1 list danh sách các Sheets con từ Ô A1:A120 và code mình sẽ lấy tên các sheet con từ list danh sách này được không ạ?
---------
Ngoài lề xin hỏi có phải Thầy và Thầy ChanhTQ@ có phải 2 Thầy là một không ạ, bởi vì cách viết bài của 2 Thầy giống nhau quá,, cả Thầy SA nữa ạ.
 
Upvote 0
Trong trường hợp 120 trang tính con thì dùng hàm SWITCH() trong VBA, nếu hàm CHOOSE() nó chê bạn & bỏ đi;

--=0 --=0 --=0
 
Upvote 0
Trong trường hợp 120 trang tính con thì dùng hàm SWITCH() trong VBA, nếu hàm CHOOSE() nó chê bạn & bỏ đi;

--=0 --=0 --=0
Hihi, vậy là rõ rồi vừa nhắc đến Thầy, Thầy xuất hiện liền ... :"' , Cảm ơn Thầy ạ!
Em chưa hiểu gì về VBA,Thầy có thể cho em xin đoạn code minh họa được không ạ?
Có phải thế này không Thầy:
Mã:
[COLOR=#0000BB]ShName [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"M" [/COLOR][COLOR=#007700]& [/COLOR][COLOR=#0000ff]S[FONT=Verdana]witch[/FONT][/COLOR][COLOR=#007700][FONT=Verdana]([/FONT][/COLOR][COLOR=#0000BB][FONT=Verdana]W[/FONT][/COLOR][COLOR=#007700][FONT=Verdana], [/FONT][/COLOR][COLOR=#DD0000][FONT=Verdana]"1"[/FONT][/COLOR][COLOR=#007700][FONT=Verdana], [/FONT][/COLOR][COLOR=#DD0000][FONT=Verdana]"10"[/FONT][/COLOR][COLOR=#007700][FONT=Verdana], [/FONT][/COLOR][COLOR=#DD0000][FONT=Verdana]"11"[/FONT][/COLOR][COLOR=#007700][FONT=Verdana], [/FONT][/COLOR][COLOR=#DD0000][FONT=Verdana]"16"[/FONT][/COLOR][COLOR=#007700][FONT=Verdana], [/FONT][/COLOR][COLOR=#DD0000][FONT=Verdana]"17"[/FONT][/COLOR][COLOR=#007700][FONT=Verdana], [/FONT][/COLOR][COLOR=#DD0000][FONT=Verdana]"18"[/FONT][/COLOR][COLOR=#007700][FONT=Verdana], [/FONT][/COLOR][COLOR=#ff0000][FONT=Verdana]...[/FONT][/COLOR][COLOR=#007700][FONT=Verdana],[/FONT][/COLOR][COLOR=#ff0000][FONT=Verdana]"120"[/FONT][/COLOR][COLOR=#007700][FONT=Verdana],[/FONT][/COLOR][COLOR=#DD0000][FONT=Verdana]"GPE.COM"[/FONT][/COLOR][COLOR=#007700][FONT=Verdana])[/FONT][/COLOR]
W trong là ý nghĩa gì vậy Thầy?
 
Upvote 0
à, W là thế này :
Mã:
[COLOR=#007700][FONT=monospace][I]For [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]W [/I][/FONT][/COLOR][COLOR=#007700][FONT=monospace][I]= [/I][/FONT][/COLOR][COLOR=#0000BB][FONT=monospace][I]1 To 6[/I][/FONT][/COLOR]
Em không để ý code!
 
Upvote 0
Hàm Choose dùng tới vài trăm số cũng còn được.
Hàm Switch gần như if-then-else (*). Vì vậy trong trường hợp này khá dài.

Trong trường hợp của bạn, dùng một trong 5 cách sau đều được cả

ShName = "M" & Choose(w, "1", "10", "11", "16", "17", "18", "GPE.COM")
ShName = "M" & Array("0", "1", "10", "11", "16", "17", "18", "GPE.COM")(w)
ShName = "M" & Split("0,1,10,11,16,17,18,GPE.COM", ",")(w)
ShName = "M" & Application.Index(Split("1,10,11,16,17,18,GPE.COM", ","), w)
ShName = "M" & Application.Index(Array("1", "10", "11", "16", "17", "18", "GPE.COM"), w)

(để ý trong cách 1 và 2, tôi có độn thêm số 0 trước dãy số, bởi vì hai hàm array và split trả về mảng với chỉ số bắt đầu là 0. Cách 4 và 5 cũng dùng hàm array và split, nhưng hàm index lấy theo thứ tự của phần tử chứ không theo chỉ số.

(*) Giữa Switch và if-then-else có một sự khác biệt, đó là if-then-else xét từ trên xuống dưới, đến lúc true thì nhảy vào tính, và bỏ qua các phần else-if còn lại. Switch là một hàm cho nên nếu tất cả các tham số đều được tính trước khi đưa vào hàm.
 
Lần chỉnh sửa cuối:
Upvote 0
Với CSDL đồ sộ như vậy thì macro đang không chạy nổi.

Giờ mình khuyên bạn làm các việc như sau:

(1) Thực ra 56 trang tính dữ liệu đó ta chỉ cần mỗi trang tính 3 cột dữ liệu mà thôi;
Các cột dự liệu còn lại ta có thể xóa bỏ trước khi chạy macro;

Để làm việc này bạn cần thực hiện các bước:

a./ Xóa trộn các ô trên các trang tính;
b./ Xóa dữ liệu, chỉ để lại 3 cột cần thiết ([G, I, R] mà thôi
c./ Xóa hết các CF ở các ô đi; Điều này không làm đẹp bao nhiêu, nhưng làm chậm xử lí đáng kể.

+-+-+-+ +-+-+-+ +-+-+-+

Tóm lại công việc của bạn là:

Sao lưu mới 1 tập tin;
Thực hiện các bước trên với tập tin mới sao
Sau đó chạy thử macro xem có được không?

Xin lưu í với bạn về CSDL: Nơi chứa dữ liệu thô không nên diêm dúa (trộn ô, tô màu qúa nhiều hay thực hiện CF khi chưa thật cần thiết); Những điều này chỉ thích hợp với các trang dạng 'báo cáo' (như trang 'TongHop' của bạn mà thôi)
 
Upvote 0
Giờ mình khuyên bạn làm các việc như sau:

(1) Thực ra 56 trang tính dữ liệu đó ta chỉ cần mỗi trang tính 3 cột dữ liệu mà thôi;
Các cột dự liệu còn lại ta có thể xóa bỏ trước khi chạy macro;

Để làm việc này bạn cần thực hiện các bước:

a./ Xóa trộn các ô trên các trang tính;
b./ Xóa dữ liệu, chỉ để lại 3 cột cần thiết ([G, I, R] mà thôi
c./ Xóa hết các CF ở các ô đi; Điều này không làm đẹp bao nhiêu, nhưng làm chậm xử lí đáng kể.

+-+-+-+ +-+-+-+ +-+-+-+

Tóm lại công việc của bạn là:

Sao lưu mới 1 tập tin;
Thực hiện các bước trên với tập tin mới sao
Sau đó chạy thử macro xem có được không?

Xin lưu í với bạn về CSDL: Nơi chứa dữ liệu thô không nên diêm dúa (trộn ô, tô màu qúa nhiều hay thực hiện CF khi chưa thật cần thiết); Những điều này chỉ thích hợp với các trang dạng 'báo cáo' (như trang 'TongHop' của bạn mà thôi)
Dạ vâng,
Em sẽ thử ạ, có vấn đề gì em sẽ thông tin tiếp đến Thầy ạ.
xin cảm ơn Thầy đã chỉ dẫn ạ.
 
Upvote 0
Để thực hiện các bước đó, bạn thử cho chạy macto này:
PHP:
Option Explicit
Sub FormatSheets()
 Dim Sh As Worksheet
 For Each Sh In ThisWorkbook.Worksheets
    If Left(Sh.Name, 1) = "M" Then
        Sh.Cells.Interior.ColorIndex = 0
        Sh.Rows("101:119").Delete
        Sh.Columns("T:AT").Delete
        Sh.Columns("B:F").ClearContents
        Sh.Columns("H:H").ClearContents
        Sh.Range("J3:L3").UnMerge
        Sh.Range("I5:J6").UnMerge
        Sh.Columns("J:Q").ClearContents
    End If
 Next Sh
End Sub

Trước khi chạy nó, bạn nên ghi lại file của bạn năng bao nhiêu kí & sau khi chạy, file còn lại bao nhiêu kí!

Với máy cà tàng của mình, sau khi chạy macro này thì đã giảm được từ 300gy xuống dưới 200gy. với 20 trang tính họ 'M'
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Để thực hiện các bước đó, bạn thử cho chạy macto này:
PHP:
Option Explicit
Sub FormatSheets()
 Dim Sh As Worksheet
 For Each Sh In ThisWorkbook.Worksheets
    If Left(Sh.Name, 1) = "M" Then
        Sh.Cells.Interior.ColorIndex = 0
        Sh.Rows("101:119").Delete
        Sh.Columns("T:AT").Delete
        Sh.Columns("B:F").ClearContents
        Sh.Columns("H:H").ClearContents
        Sh.Range("J3:L3").UnMerge
        Sh.Range("I5:J6").UnMerge
        Sh.Columns("J:Q").ClearContents
    End If
 Next Sh
End Sub

Trước khi chạy nó, bạn nên ghi lại file của bạn năng bao nhiêu kí & sau khi chạy, file còn lại bao nhiêu kí!

Với máy cà tàng của mình, sau khi chạy macro này thì đã giảm được từ 300gy xuống dưới 200gy. với 20 trang tính họ 'M'
Hi, Dạ vâng. Em cảm ơn Thầy nhiều ạ.
Có vấn đề gì em sẽ thông tin đến Thầy tiếp ạ.
 
Upvote 0
Chắc là được rồi đây, tiêu tốn mất khoảng 10 gy

PHP:
Option Explicit
Sub ThongKe()
 Sheets("TongHop").Select
 TongHop 1
 TongHop 2
 TongHop 3
End Sub

Mã:
Sub TongHop(Num As Byte)
 Dim J As Long, Rws As Long, W As Byte, Dg As Integer, Tmr As Double
 Dim ShName As String, fAdd As String
 Dim Sh As Worksheet, Rng As Range, sRng As Range, Rg0 As Range
 On Error GoTo LoiCT
 
 Rws = [E65500].End(xlUp).Row
 If Num < 2 Then [f3].Resize(Rws, 120).ClearContents
 [f3].Resize(Rws, 120).Interior.ColorIndex = 0
 Application.ScreenUpdating = False:            Tmr = Timer()
 For J = 3 To Rws Step 4
    For W = 1 To 19
        If Num = 1 Then
            ShName = "M" & Choose(W, "1", "10", "11", "16", "17", "18", "26", "31", "33", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44")
        ElseIf Num = 2 Then
            ShName = "M" & Choose(W, "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "62", "63", "64", "65", "67")
        ElseIf Num = 3 Then
            ShName = "M" & Choose(W, "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "45", "66", "")
        End If
4        If ShName = "M" Then Exit Sub
5        Set Sh = ThisWorkbook.Worksheets(ShName)
6        Set Rng = Sh.Range(Sh.[G5], Sh.[G9999].End(xlUp))
        If Cells(J, "D").Value <> "" Then
            Set sRng = Rng.Find(Cells(J, "D").Value, , xlFormulas, xlWhole)
            If Not sRng Is Nothing Then
                fAdd = sRng.Address
                Do
                    With Cells(J, "E").Offset(, sRng.Row - 6)
                        .Orientation = 90
                        .Value = sRng.Offset(, 2).Value
                        For Dg = 0 To 94
                            If Dg > 0 And sRng.Offset(Dg).Value <> "" Then Exit For
                            .Offset(1, Dg).Value = Sh.Cells(sRng.Row + Dg, "R").Value
                        Next Dg
                        .Offset(2) = Mid(ShName, 2, 2)
'                        .Interior.ColorIndex = 34 + (Dg \ 9)'
                    End With
                    Set sRng = Rng.FindNext(sRng)
                Loop While Not sRng Is Nothing And sRng.Address <> fAdd
            End If
        End If
    Next W
 Next J
 Application.ScreenUpdating = True
 Cells(Num, "A").Value = Timer() - Tmr
Err_:               Exit Sub
LoiCT:
    MsgBox ShName, , Erl
    Resume Err_
End Sub
 
Upvote 0
PHP:
Option Explicit
Sub ThongKe()
 Sheets("TongHop").Select
 TongHop 1
 TongHop 2
 TongHop 3
End Sub

Mã:
Sub TongHop(Num As Byte)
 Dim J As Long, Rws As Long, W As Byte, Dg As Integer, Tmr As Double
 Dim ShName As String, fAdd As String
 Dim Sh As Worksheet, Rng As Range, sRng As Range, Rg0 As Range
 On Error GoTo LoiCT
 
 Rws = [E65500].End(xlUp).Row
 If Num < 2 Then [f3].Resize(Rws, 120).ClearContents
 [f3].Resize(Rws, 120).Interior.ColorIndex = 0
 Application.ScreenUpdating = False:            Tmr = Timer()
 For J = 3 To Rws Step 4
    For W = 1 To 19
        If Num = 1 Then
            ShName = "M" & Choose(W, "1", "10", "11", "16", "17", "18", "26", "31", "33", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44")
        ElseIf Num = 2 Then
            ShName = "M" & Choose(W, "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "62", "63", "64", "65", "67")
        ElseIf Num = 3 Then
            ShName = "M" & Choose(W, "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "45", "66", "")
        End If
4        If ShName = "M" Then Exit Sub
5        Set Sh = ThisWorkbook.Worksheets(ShName)
6        Set Rng = Sh.Range(Sh.[G5], Sh.[G9999].End(xlUp))
        If Cells(J, "D").Value <> "" Then
            Set sRng = Rng.Find(Cells(J, "D").Value, , xlFormulas, xlWhole)
            If Not sRng Is Nothing Then
                fAdd = sRng.Address
                Do
                    With Cells(J, "E").Offset(, sRng.Row - 6)
                        .Orientation = 90
                        .Value = sRng.Offset(, 2).Value
                        For Dg = 0 To 94
                            If Dg > 0 And sRng.Offset(Dg).Value <> "" Then Exit For
                            .Offset(1, Dg).Value = Sh.Cells(sRng.Row + Dg, "R").Value
                        Next Dg
                        .Offset(2) = Mid(ShName, 2, 2)
'                        .Interior.ColorIndex = 34 + (Dg \ 9)'
                    End With
                    Set sRng = Rng.FindNext(sRng)
                Loop While Not sRng Is Nothing And sRng.Address <> fAdd
            End If
        End If
    Next W
 Next J
 Application.ScreenUpdating = True
 Cells(Num, "A").Value = Timer() - Tmr
Err_:               Exit Sub
LoiCT:
    MsgBox ShName, , Erl
    Resume Err_
End Sub
Hix,Em xin cảm ơn Thầy nhiều nhiều..
Em đã thử,kết quả rất tốt .. code thật độc đáo và tuyệt cú mèo, Thầy ạ.
Kính chúc Thầy bước sang một mùa Đông thật ấm áp và ngập tràn niềm vui!
 
Upvote 0
Thực ra kết quả đem lại được là do macro ở bài #14 đó bạn

Em đã thử,kết quả rất tốt .. code thật độc đáo và tuyệt cú mèo, Thầy ạ.
Kính chúc Thầy bước sang một mùa Đông thật ấm áp và ngập tràn niềm vui!

Tuy nhiên macro chưa loại trừ các ô bị bạn hay ai đó định dạng CF;

Nếu các ô này được chuyển về dạng bình thường thì tốc độ sẽ được cải thiện thêm chút đĩnh.

Macro đó đã đưa chúng ta từ 'đứng hình' sang trạng thái 10 gy là sự kiện trọng đại với bạn & tôi.

2ua chuyện này mình thấy bạn cần có kiến thức thêm về tạo & cấu trúc 1 CSDL thêm nữa; Chuyện này chỉ có lợi trong vận hành CSDL kiểu của bạn!


Chúc mọi người có tuần làm việc hiệu 2uả!

 
Upvote 0
Tuy nhiên macro chưa loại trừ các ô bị bạn hay ai đó định dạng CF;

Nếu các ô này được chuyển về dạng bình thường thì tốc độ sẽ được cải thiện thêm chút đĩnh.

Macro đó đã đưa chúng ta từ 'đứng hình' sang trạng thái 10 gy là sự kiện trọng đại với bạn & tôi.

2ua chuyện này mình thấy bạn cần có kiến thức thêm về tạo & cấu trúc 1 CSDL thêm nữa; Chuyện này chỉ có lợi trong vận hành CSDL kiểu của bạn!


Chúc mọi người có tuần làm việc hiệu 2uả!

Xin cảm ơn những góp ý của Thầy ạ nhưng thật sự với cái file em gửi cho Thầy em không còn cách nào khác để bố trí đẹp và dễ nhìn hơn.
Thầy là người có kiến thức và kinh nghiệm, nếu tiện mong Thầy giúp đỡ thêm về bố trí dữ liệu cho file em gửi ạ.
Xin cảm ơn Thầy thật nhiều!
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom