Dùng VBA thực hiện chèn thêm cột vào file excel và thực hiện trên nhiều file cùng một lúc.

Liên hệ QC

TN_Nguyen

Thành viên mới
Tham gia
15/4/22
Bài viết
12
Được thích
0
Chào cả nhà!
Mình cần thực hiện việc chèn thêm 2 cột vào biểu mẫu có sẵn trước đó (file sp1 đến sp5) với 2 cột được chèn đều chứa công thức (như file mẫu đính kèm).
Nhờ mọi người trên group giúp mình đoạn VBA để thực hiện chèn cột cùng lúc trên nhiều file thay vì phải mở từng file lên và chèn bằng tay.
Mình xin cảm ơn cả nhà.
 

File đính kèm

  • File mẫu.rar
    53.6 KB · Đọc: 14
Lần chỉnh sửa cuối:
Chào cả nhà!
Mình cần thực hiện việc chèn thêm 2 cột vào biểu mẫu có sẵn trước đó (file sp1 đến sp5) với 2 cột được chèn đều chứa công thức (như file mẫu đính kèm).
Nhờ mọi người trên group giúp mình đoạn VBA để thực hiện chèn cột cùng lúc trên nhiều file thay vì phải mở từng file lên và chèn bằng tay.
Mình xin cảm ơn cả nhà.
Thử xem file mẫu.Nhấn vào mặt cười để chay code.
Đường dẫn của tôi có thể khác của bạn. Hãy điền đường dẫn đúng vào Ô M1/Sh File mẫu. Và không xóa ô này
Lưu ý tên các Sh trong Workbook\Folder Sản phẩm đã được đổi thành KetQuaDo.
Khuyên bạn: không nên đặt tên file/Folder/Sheet bằng tên tiếng việt có dấu nếu muốn dùng Code VBA.
 

File đính kèm

  • File mẫu.rar
    53 KB · Đọc: 12
Upvote 0
Mình đã mở File mẫu nhưng không thấy chỗ để chạy code, hình như file được lưu dưới dạng *.xlsx không chạy được code đó bạn.1654692240460.pnga1.png
 
Upvote 0
Chào cả nhà!
Mình cần thực hiện việc chèn thêm 2 cột vào biểu mẫu có sẵn trước đó (file sp1 đến sp5) với 2 cột được chèn đều chứa công thức (như file mẫu đính kèm).
Nhờ mọi người trên group giúp mình đoạn VBA để thực hiện chèn cột cùng lúc trên nhiều file thay vì phải mở từng file lên và chèn bằng tay.
Mình xin cảm ơn cả nhà.
Dùng thử code này xem sao.
Mã:
Option Explicit

Sub GPE()
Dim Item, Sh As Worksheet, Wb As Workbook
With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True
        .Filters.Add "Excel File", "*.xls*", 1
        If Not .Show = -1 Then
            MsgBox "Ban chua chon File", vbInformation, "Thông báo"
            Exit Sub
        End If
    'On Error Resume Next
    For Each Item In .SelectedItems
        Set Wb = Workbooks.Open(Item)
        Wb.Activate
        With Wb
            Set Sh = .Sheets(1)
            FormatCell Sh
            .Save
            .Close
            Set Sh = Nothing
        End With
    Next Item
    Set Wb = Nothing
    MsgBox "Da thuc hien xong", vbExclamation, "---GPE---"
End With
End Sub
Sub FormatCell(Sh As Worksheet)
    With Sh
        .Range("K4:K17").Copy
        .Range("L4:L17").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        .Columns("L:L").ColumnWidth = 28.14
        .Range("L5:L17").HorizontalAlignment = xlLeft
        .Range("L4").Value2 = "Ghi chú"
        With .Range("L4").Font
            .Color = -16776961
            .TintAndShade = 0
        End With
        .Range("L5").FormulaR1C1 = "=R3C8"
        .Range("L5").AutoFill Destination:=.Range("L5:L17"), Type:=xlFillDefault
        With .Range("L5:L17").Font
            .Color = -16727809
            .TintAndShade = 0
            .Bold = True
        End With
        .Columns("C:C").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
        .Columns("C:C").ColumnWidth = 13.14
        .Range("C4").Value2 = "S" & ChrW(7889) & " lô"
        .Range("C5").FormulaR1C1 = "=R1C9"
        .Range("C5").AutoFill Destination:=.Range("C5:C17"), Type:=xlFillDefault
        With .Range("C5:C17").Font
            .ThemeColor = xlThemeColorAccent1
            .TintAndShade = 0
        End With
        With .Range("C4").Font
            .Color = -16776961
            .TintAndShade = 0
        End With
    End With
End Sub
 
Upvote 0
Cảm ơn HUONGHCKTgiaiphap đã hỗ trợ mình.
Với đoạn code của giaiphap như trên mình đã thực hiện được cách chèn cột như yêu cầu rồi nhé!
 
Upvote 0
Web KT

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

Back
Top Bottom