Nguyễn Thị Thanh Giang
Nguyễn Thị Thanh Giang
Thảo luận 26 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 730 lượt xem


Thảo luận 26 câu trả lời
Lượt xem 730 lượt xem
Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 15:10 - Oct 23, 2020

Chào Thầy, Nhờ Thầy hướng dẫn: Gộp dữ liệu phần 2 sao làm bị báo lỗi màu vàng, nhờ Thầy chỉ ra lỗi sai, Cám ơn

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 15:10 - Oct 23, 2020


Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 16:10 - Oct 23, 2020

Chào bạn chưa có biến dongcuoiwb4 bạn cần khai báo nó trước

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 08:10 - Oct 24, 2020


Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 08:10 - Oct 24, 2020

Mình sửa rồi, nhưng gặp phải lỗi này. Nhờ Thầy hướng dẫn. Cám ơn Thầy

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 09:10 - Oct 24, 2020


Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 09:10 - Oct 24, 2020

Chào bạn ở đây bạn có hai biến dongcuoi_wb4

Bạn dim hai lần DongCuoi_Wb4

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 11:10 - Oct 24, 2020


Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 11:10 - Oct 24, 2020
Đã thêm rồi mà làm không được Thầy ơi, nhờ Thầy hướng dẫn. Cám ơn Thầy
Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 11:10 - Oct 24, 2020

Option Explicit

Sub Luu_DuLieu()

'Thu muc chon file

    With Application.FileDialog(msoFileDialogFilePicker)

        .AllowMultiSelect = True    'cho phep chon nhieu file

        .Show                             'Hien cua so chon file

    Dim i As Integer

        For i = 1 To .SelectedItems.Count

        'Xet file duoc chon

            Dim wb_KQ As Workbook   'Bien workbook ket qua (Bang luong tong hop)

            Dim wb_1 As Workbook     'Bien workbook duoc chon tu thu muc (Tung file bang luong chi tiet)

                Set wb_KQ = ThisWorkbook

                Set wb_1 = Workbooks.Open(.SelectedItems(i))

            'B1: xac dinh dong cuoi bang tong hop (Bang luong tong hop)

            Dim DongCuoi_KQ As Long

            DongCuoi_KQ = wb_KQ.Sheets("Data_TienLuong").Range("A" & Rows.Count).End(xlUp).Row

            'B2: xac dinh dong dau va dong cuoi bang chi tiet (Tung file bang luong chi tiet)

            Dim DongDau_CT As Long

                DongDau_CT = 8

            Dim DongCuoi_CT As Long

                DongCuoi_CT = wb_1.Sheets(1).Range("F" & Rows.Count).End(xlUp).Row

            'B3: xac dinh khoang cach

            Dim KhoangCach As Long

            KhoangCach = DongCuoi_CT - DongDau_CT + 1

            'B4: luu

            wb_KQ.Sheets("Data_TienLuong").Range("A" & DongCuoi_KQ + 1 & ":BM" & DongCuoi_KQ + KhoangCach).Value = _

                wb_1.Sheets(1).Range("A" & DongDau_CT & ":BM" & DongCuoi_CT).Value

            'B5: Dong file noi dung

            wb_1.Close SaveChanges:=False

        Next i

    End With

End Sub

bạn xem code nhé.

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 09:10 - Oct 26, 2020

Thầy ơi, Em đang thực hành phần 2, làm được 2 book, còn book 3 không được. Còn Thầy hướng dẩn là dạng Tổng quát

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 15:10 - Oct 26, 2020

Chào bạn code mình đẩy lên là dạng tổng quát đó, bạn có thể đẩy file code của bạn lên được không?

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 16:10 - Oct 26, 2020

https://drive.google.com/file/d/1fmTs...

Nhờ Thầy chỉ ra lỗi sai ở bài thực hành phần 2. cám ơn Thầy

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 15:10 - Oct 29, 2020

Nhờ Thầy hướng dẫn giúp ạ

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 07:10 - Oct 30, 2020

Chào bạn Với code của bạn bạn cần chỉ ra dòng cuối là dòng nào của book nào? bạn lên sử dụng code trên của mình ghi dữ liệu vào vùng cần bằng cách sử dụng vòng lặp nhê.

Option Explicit

Sub Luu_DuLieu()

'Thu muc chon file

    With Application.FileDialog(msoFileDialogFilePicker)

        .AllowMultiSelect = True    'cho phep chon nhieu file

        .Show                             'Hien cua so chon file

    Dim i As Integer

        For i = 1 To .SelectedItems.Count

        'Xet file duoc chon

            Dim wb_KQ As Workbook   'Bien workbook ket qua (Bang luong tong hop)

            Dim wb_1 As Workbook     'Bien workbook duoc chon tu thu muc (Tung file bang luong chi tiet)

                Set wb_KQ = ThisWorkbook

                Set wb_1 = Workbooks.Open(.SelectedItems(i))

            'B1: xac dinh dong cuoi bang tong hop (Bang luong tong hop)

            Dim DongCuoi_KQ As Long

            DongCuoi_KQ = wb_KQ.Sheets("TH").Range("A" & Rows.Count).End(xlUp).Row

            'B2: xac dinh dong dau va dong cuoi bang chi tiet (Tung file bang luong chi tiet)

            Dim DongDau_CT As Long

                DongDau_CT = 8

            Dim DongCuoi_CT As Long

                DongCuoi_CT = wb_1.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row

            'B3: xac dinh khoang cach

            Dim KhoangCach As Long

            KhoangCach = DongCuoi_CT - DongDau_CT + 1

            'B4: luu

            wb_KQ.Sheets("TH").Range("A" & DongCuoi_KQ + 1 & ":BM" & DongCuoi_KQ + KhoangCach).Value = wb_1.Sheets(1).Range("A" & DongDau_CT & ":BM" & DongCuoi_CT).Value

            'B5: Dong file noi dung

            wb_1.Close SaveChanges:=False

        Next i

    End With

End Sub

Bạn thay đổi vùng lấy theo code nhé.

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 09:02 - Feb 25, 2021

Chào Thầy

Nhờ Thầy xem qua kết quả trước và sau khi gộp dữ liệu bằng VBA khi học bài  “Gộp dữ liệu ” của chương 8, bài 8.

Kết quả ban đầu : Không bị lỗi gì cả, tuy nhiên không giống Format như bản gốc một số trường hợp /cột , hệ thống excel tự format là kiểu số ( bản gốc là kiểu chuỗi mà ký tự là số)

5 dòng đầu tiên : Làm thủ công , đúng với định dạng của nơi cho.

5 dòng cuối cùng là kết quả chạy tự động theo lệnh macro VBA

Tạm thời có 2 lỗi : Format kiểu ngày bị ngắn lại 2 ký tự ? và số chứng từ (voucher no) bị mất 3 ký tự là 000 so với bản gốc của nơi cho.

Hỏi : Làm sao khắc phục định dạng này ?

Học viên cảm ơn Thầy nhiều ạ.



Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 10:02 - Feb 25, 2021

Chào bạn khi gộp dữ liệu xong phần chỉnh định dạng bạn cần dùng code chỉnh nhé.

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 10:02 - Feb 25, 2021

Dạng code sau

Sub gopdulieu
 // code gôp
// code dinh dạng
end sub
Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 11:02 - Feb 25, 2021

Thank you Thầy @Tuấn Ba : HV chỉ định dạng được kiểu ngày theo custom = "DD-MM-YYYY" thì Okay;

Nhưng Cột "Chứng từ" bị thiếu hụt 3 ký tự trước "000" Thầy ơi - Dù kết quả là kiểu chuỗi rồi.

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 12:02 - Feb 25, 2021

Chào bạn bạn có thể format bao nhiêu ký tự nhé.

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 12:02 - Feb 25, 2021

All Right. I did very well. Many thanks again.

Text(1234,"0000000") Okay

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 13:02 - Feb 25, 2021

Cảm ơn bạn đã tin tưởng và đồng hành cùng gitiho, chúc bạn học tốt cùng gitiho.

Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 16:02 - Feb 25, 2021

Chào Thầy

Khi lọc các cột :

1)     Lọc loại cell trống , tức khác Blank thì Okay như “<>”

2)     Lọc loại bỏ cell có giá trị zero thì dùng từ khóa, ký hiệu gì ạ ? Trong hình đang bị lỗi.

Cảm ơn Thầy.



Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 16:02 - Feb 25, 2021
Chào bạn bạn recond macro sẽ ra được phần này nhé.
Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 17:02 - Feb 25, 2021

Thầy ơi ! File của HV đang lọc bởi người dùng chọn : Data > AutoFilter . mà muốn lọc khác zero thì ra code như thế này, và số liệu mỗi lần mỗi khác nha, nên ..... lệnh này không khả thi ạ . Vì mỗi lần hệ thống phải .... Lookup một số khác và chỉ k chọn zero thôi. CODE TRÊN LÀ HẰNG SỐ SẼ KHÔNG HIỂU NẾU NHƯ LẦN SAU CÓ SỐ KHÁC Ạ.

PLEASE HEP ME.

Sub Macro1()

'

' Macro1 Macro

'

'

    Rows("1:1").Select

    Selection.AutoFilter

    Range("E1").Select

    ActiveSheet.Range("$A$1:$X$599").AutoFilter Field:=5, Criteria1:=Array("1", _

        "1,041", "1,199", "1,344", "1,463", "1,598", "10", "100", "106", "107", "108", "11", "110" _

        , "112", "115", "118", "119", "12", "121", "124", "125", "13", "136", "139", "14", "141", _

        "144", "148", "15", "150", "152", "155", "156", "158", "16", "160", "166", "17", "172", _

        "179", "18", "19", "191", "195", "197", "2", "2,285", "2,335", "2,557", "20", "200", "21", _

        "210", "22", "225", "23", "231", "233", "24", "25", "251", "26", "266", "268", "27", "28", _

        "29", "298", "299", "3", "3,023", "3,226", "30", "300", "305", "31", "32", "33", "339", "34" _

        , "340", "35", "36", "37", "370", "38", "387", "390", "4", "40", "400", "413", "42", "420", _

        "424", "43", "440", "445", "446", "447", "45", "461", "47", "48", "488", "49", "494", "5", _

        "50", "502", "51", "53", "533", "55", "56", "57", "57,574", "575", "578", "58", "584", "587" _

        , "6", "60", "606", "619", "62", "65", "668", "68", "69", "697", "7", "70", "72", "720", "75", _

        "79", "8", "80", "807", "81", "816", "817", "82", "821", "849", "85", "88", "880", "89", "9", _

        "96", "99"), Operator:=xlFilterValues

End Sub


Vỗ tay vỗ tay
Nguyễn Thị Thanh Giang 17:02 - Feb 25, 2021

Chào bạn phần này bạn có thể sử dụng vòng lặp kết hợp với if nhé dạng như sau

for i = 1 to n
 if(range("?"&i)) <>0 then
  range("?"&i) = ....
end if
next i
Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông