Nhờ các bạn giúp mình vba chèn cột ạ

Liên hệ QC

nguoivn12

Thành viên mới
Tham gia
12/10/08
Bài viết
2
Được thích
0
Mình có một bảng như trong file đính kèm (Sheet Bảng Ban đầu). Mong các bạn giúp đỡ tạo VBA để mình chèn cột và tự merge các ô như sheet Bảng điều chỉnh.
Các cao nhân giúp đỡ giùm ạ.
Thank các bạn nhiều.
 

File đính kèm

Mình có một bảng như trong file đính kèm (Sheet Bảng Ban đầu). Mong các bạn giúp đỡ tạo VBA để mình chèn cột và tự merge các ô như sheet Bảng điều chỉnh.
Các cao nhân giúp đỡ giùm ạ.
Thank các bạn nhiều.
Bạn dùng chức năng Recode Macro và thực hiện các thao tác sẽ sinh ra được code.
 
Mình có một bảng như trong file đính kèm (Sheet Bảng Ban đầu). Mong các bạn giúp đỡ tạo VBA để mình chèn cột và tự merge các ô như sheet Bảng điều chỉnh.
Các cao nhân giúp đỡ giùm ạ.
Thank các bạn nhiều.
Góp ý cho bạn:
1/ Bạn nên nên đính kèm File với tiêu đề là thực tế (dữ liệu có thể giả định) và nêu cụ thể cái cần làm với dữ liệu đó. Chứ không nên đưa dữ liệu nữa vời (như bài 1), nhìn File thì có thể hiểu còn thiếu các cột số hóa đơn hoặc Phiếu xuất, nhập, thiếu cột ngày và chủng loại hàng hóa.
2/ Nếu đính kèm File thực tế thì có thể thiết kế lại 1 tí và sử dụng PivotTable là có kết quả mong muốn mà chẳng cần chèn cột gì cả.
 
Mình có một bảng như trong file đính kèm (Sheet Bảng Ban đầu). Mong các bạn giúp đỡ tạo VBA để mình chèn cột và tự merge các ô như sheet Bảng điều chỉnh.
Thank các bạn nhiều.
Thử:
PHP:
Sub abc()
    Dim j%, LC%, LC2%, cll
    LC = Sheets("Input").Cells(1, Columns.Count).End(xlToLeft).Column
    LC2 = Sheets("Output").Cells(1, Columns.Count).End(xlToLeft).Column
    For j = 1 To LC Step 1
        LC2 = Sheets("Output").Cells(1, Columns.Count).End(xlToLeft).Column
        Sheets("Input").Cells(5, j).Copy Sheets("Output").Cells(3, j * 3 - 2)
        Sheets("Input").Range("A2:C2").Copy Sheets("Output").Cells(4, j * 3 - 2)
    Next
    Range("A3:U3").SpecialCells(4).FormulaR1C1 = "=RC[-1]"
    Call abc2
    Columns(22).Resize(, 3).Delete
End Sub
Sub abc2()
    Dim c As Range
    On Error Resume Next
    Application.DisplayAlerts = False
1001:
    For Each c In Range("A3:U3")
        If c.Value = c.Offset(, 1).Value _
           And IsEmpty(c) = False Then
            Range(c, c.Offset(, 2)).Merge
            GoTo 1001
        End If
    Next
    Range("A3").CurrentRegion.Borders.Weight = xlThin
    Application.DisplayAlerts = True
End Sub
 

File đính kèm

Mình có một bảng như trong file đính kèm (Sheet Bảng Ban đầu). Mong các bạn giúp đỡ tạo VBA để mình chèn cột và tự merge các ô như sheet Bảng điều chỉnh.
Các cao nhân giúp đỡ giùm ạ.
Thank các bạn nhiều.
Có 7 cells thì cứ làm bằng tay đi, code chi cho mệt
Thậm chí làm bằng tay cũng nhanh. Tôi gõ "A1" vào cell A3, trộn A3:C3 lại, xong kéo fill A3 sang phải là xong
 
Web KT

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

Back
Top Bottom