Code VBA định dạng dữ liệu cột F và G là Text và canh giữa.

Liên hệ QC

DMQ

Thành viên dốt
Tham gia
21/3/12
Bài viết
713
Được thích
54
Giới tính
Nam
Chào các anh chị !!!!!
Em có code lấy dữ liệu, nhưng khi dữ liệu đập vào cột F và G thì không định dạng Text nên dùng Vlookup không ra.
Mà dữ liệu đập vào có cả Text và Number, mong các anh chị giúp đỡ.
 
như If iSnumeric(mảng F:G ) = True Then Mảng(F:G) = cStr( mảng F:G)
 
Upvote 0
như If iSnumeric(mảng F:G ) = True Then Mảng(F:G) = cStr( mảng F:G)
Do không chịu gửi file nên cũng không viết code, chỉ gợi ý thôi:
- Tạo một mảng vừa với vùng dữ liệu tại cột F và cột G.
- Khai báo cho mảng với định dạng mong muốn.
- Lấy dữ liệu tại cột F và cột G đưa vào mảng rồi dán trả lại chỗ cũ là xong.
- Phần canh giữa thì đơn giản nên tự tìm hiểu.
 
Upvote 0
Cám ơn anh @Hoàng Tuấn 868 đã trả lơi, vì file là dữ liệu cty, nên em đang cố chép giả định.
Mong anh thông cảm.
 
Upvote 0
Cám ơn anh @Hoàng Tuấn 868 !!!
File đây anh. Mong anh chỉnh code cho cột F và Cột G là Text, vì dữ liệu gốc có cả số và Text. và canh giữa nha anh.
 

File đính kèm

  • Add data.xlsb
    36.9 KB · Đọc: 2
  • FileNguon.xlsx
    31.5 KB · Đọc: 4
Upvote 0

File đính kèm

  • Add data.xlsb
    37.9 KB · Đọc: 3
Upvote 0
Cám ơn anh @Hoàng Tuấn 868 nhiều !!!
Nhưng sao code Border tới dòng 211, và dòng 211 có chữ #NA vậy anh??
 
Upvote 0
Dữ liệu tới dòng 75 thôi anh, mà Border tới dòng 211, và dòng 211 có chữ #NA, mà sao trên thanh công cụ Home, nó khong hiện là Text mà hiên General anh (cột F và G)
 
Upvote 0
Upvote 0
là do fileNguon có công thức tới dòng 211, đã xóa công thức, nhưng dòng cuối vẫn có chữ #NA, mong anh giúp coi lại file nguồnloigg.png
Tất nhiên dữ liệu là Text, tại thấy nó kỳ kỳ hỏi anh vậy
 
Upvote 0
Cám ơn anh @Hoàng Tuấn 868 nhiều.
Do em giả lập file không giống, mà anh ơi cột I và J là số, mong anh chỉnh cho thành định dạng #,##0.00.
khi gán vào file đích.
Mong anh @Hoàng Tuấn 868 giúp.loiPPPP.png
 
Upvote 0
Anh @Hoàng Tuấn 868 ơi, em muốn chỉ lấy dữ liệu khi cột C của file nguồn có ngày, còn không có ngày thì không lấy, dạng như
If mn(q, 3) <>" " then
Thì chỉnh code làm sao ạ.
 
Upvote 0
Em thêm chổ này không được anh @Hoàng Tuấn 868
Mã:
        For j = 1 To fd.Sheets.Count
            For p = 1 To .Sheets.Count
                If fd.Sheets(j).Name = .Sheets(p).Name Then  'Nêu ten file nguon giong ten file dich thi lay du lieu
                    Set sd = fd.Sheets(j): lrd = sd.Cells(Rows.Count, 1).End(xlUp).Row
                    Set sn = openfile.Sheets(p): lrn = sn.Cells(Rows.Count, 1).End(xlUp).Row
                    mn = sn.Range("A6:P" & lrn): sd.Range("A" & lrd + 1).Resize(lrn - 5, 16) = mn
                    mnp = sn.Range("F6:G" & lrn)
                    ReDim mnp1(1 To UBound(mnp, 1), 1 To 2)
                        For q1 = 1 To 2
                            For q = 1 To UBound(mnp, 1)
                            If mn(q, 3) <> "" Then                 ' them
                                mnp1(q, q1) = mnp(q, q1)
                              End If                                        ' them
                            Next q
                        Next q1
                       
                    sd.Range("F5").Resize(q - 1, 2) = mnp1
                    sd.Range("A" & lrd + 1).Resize(lrn - 5, 16).Borders.LineStyle = True
                    lrd = sd.Cells(Rows.Count, 1).End(xlUp).Row
                    sd.Range("I5:J" & lrd).NumberFormat = "#,##0.00"
                j = j + 1
                End If
             
            Next p
        Next j
    End With
 
Upvote 0
Web KT

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

Back
Top Bottom