Cần giúp code VBA thay đổi tên của cột duy nhất với hàng loạt file excel

Liên hệ QC

nguyenanhdung8111982

Thành viên hoạt động
Tham gia
1/11/19
Bài viết
120
Được thích
33
Giới tính
Nam
Ví dụ trong file excel ở cột V tôi có đường dẫn như dưới tôi chỉ cần vô đổi DTL15 thành TL15. thay vì mở từng file repleace thì mất thời gian. Có code VBA nào đổi hàng loạt tất cả file không ạ. Mong mọi người giúp. Cám ơn!!!
\\192.168.5.12\Survey_SoNha_Q3_2019_4\QuangVinh\20200103_18_HCC_PVC_PHD_HCM\Image_SoNha\20200103_18_034_HCC_H493_DTL15_01
File ví dụ đính kèm:
 

File đính kèm

  • 20200103_18_034_HCC_H493_DTL15_01.xls
    139.5 KB · Đọc: 13
  • 20200103_18_035_HCC_H493_DTL15_02.xls
    131 KB · Đọc: 4
  • 20200103_18_036_HCC_HS483_DTL15_01.xls
    105 KB · Đọc: 4
  • 20200103_18_037_HCC_HS483_DTL15_02.xls
    102.5 KB · Đọc: 4
Ví dụ trong file excel ở cột V tôi có đường dẫn như dưới tôi chỉ cần vô đổi DTL15 thành TL15. thay vì mở từng file repleace thì mất thời gian. Có code VBA nào đổi hàng loạt tất cả file không ạ. Mong mọi người giúp. Cám ơn!!!
\\192.168.5.12\Survey_SoNha_Q3_2019_4\QuangVinh\20200103_18_HCC_PVC_PHD_HCM\Image_SoNha\20200103_18_034_HCC_H493_DTL15_01
File ví dụ đính kèm:
Có nhé.
 
Upvote 0
Ví dụ trong file excel ở cột V tôi có đường dẫn như dưới tôi chỉ cần vô đổi DTL15 thành TL15. thay vì mở từng file repleace thì mất thời gian. Có code VBA nào đổi hàng loạt tất cả file không ạ. Mong mọi người giúp. Cám ơn!!!
\\192.168.5.12\Survey_SoNha_Q3_2019_4\QuangVinh\20200103_18_HCC_PVC_PHD_HCM\Image_SoNha\20200103_18_034_HCC_H493_DTL15_01
File ví dụ đính kèm:
Có 4, thậm chí 40, hay 400 file, thì thời gian đợi diễn đàn thì tự thay đã xong lâu rồi.
 
Upvote 0
Upvote 0
Ví dụ trong file excel ở cột V tôi có đường dẫn như dưới tôi chỉ cần vô đổi DTL15 thành TL15. thay vì mở từng file repleace thì mất thời gian. Có code VBA nào đổi hàng loạt tất cả file không ạ. Mong mọi người giúp. Cám ơn!!!
\\192.168.5.12\Survey_SoNha_Q3_2019_4\QuangVinh\20200103_18_HCC_PVC_PHD_HCM\Image_SoNha\20200103_18_034_HCC_H493_DTL15_01
File ví dụ đính kèm:
Bác xem file đính kèm nhé.
 

File đính kèm

  • 20200103_18_034_HCC_H493_DTL15_01.xlsm
    41.6 KB · Đọc: 25
Upvote 0
Code chạy khi file dính công thức update link có cách nào dis update links khi chạy không bạn.
Thử thêm cái này vào đầu và cuối module coi ạ
Mã:
Application.DisplayAlerts = False
Application.AskToUpdateLinks = False
'.....
Application.AskToUpdateLinks = True
Application.DisplayAlerts = True
 
Upvote 0
Thử thêm cái này vào đầu và cuối module coi ạ
Mã:
Application.DisplayAlerts = False
Application.AskToUpdateLinks = False
'.....
Application.AskToUpdateLinks = True
Application.DisplayAlerts = True
Anh Bùi Quang Thuận cho em hỏi này xíu. Code đổi cột V khá ok nhưng khi em đổi sang cột B hoặc cột D thì chạy nó bị lỗi
ví dụ repleace: [Category.xls]Category'! thành [Category.xls]category_full_3_types'!
cột B là cột công thức:
=VLOOKUP(NUMBERVALUE(TRIM(LEFT(C2,4))),'\\192.168.5.12\Survey_SoNha_Q3_2019_3\MinhCanh\20191207_14_QBinhTan_PBTDA_PBTDB_HCM\[Category.xls]Category'!$E$1:$H$1094,4,0)

Mã:
Option Explicit

Sub change_character()
    Dim wb_new As Workbook
    Dim lr As Long
    Dim i As Long, j As Long
    Dim path As String, fpath As String
    Dim arr As Variant
    Dim char_old As String, char_new As String
    Application.DisplayAlerts = False
    Application.AskToUpdateLinks = False
    path = ThisWorkbook.path
    arr = GetFileNames(path)
    char_old = InputBox("Enter char finding:")
    char_new = InputBox("Enter replace char:")
    For i = 1 To UBound(arr) - 1
        For Each wb_new In Workbooks
            If wb_new.Name = arr(i) Then
                lr = Workbooks(wb_new.Name).Sheets(1).Range("B" & Rows.Count).End(xlUp).Row
                For j = 2 To lr
                    Range("B" & j) = Replace(Range("B" & j), char_old, char_new)
                Next j
            Else
                fpath = path & "\" & arr(i)
                Set wb_new = Workbooks.Open(fpath)
                lr = Workbooks(wb_new.Name).Sheets(1).Range("B" & Rows.Count).End(xlUp).Row
                For j = 2 To lr
                    Range("B" & j) = Replace(Range("B" & j), char_old, char_new)
                Next j
                wb_new.Close True
            End If
        Next wb_new
    Next i
    MsgBox "Finised."
    Application.AskToUpdateLinks = True
    Application.DisplayAlerts = True
End Sub

Function GetFileNames(ByVal FolderPath As String) As Variant
Dim Result As Variant
Dim i As Integer
Dim MyFile As Object
Dim MyFSO As Object
Dim MyFolder As Object
Dim MyFiles As Object
Set MyFSO = CreateObject("Scripting.FileSystemObject")
Set MyFolder = MyFSO.GetFolder(FolderPath)
Set MyFiles = MyFolder.Files
ReDim Result(1 To MyFiles.Count)
i = 1
For Each MyFile In MyFiles
Result(i) = MyFile.Name
i = i + 1
Next MyFile
GetFileNames = Result
End Function
 
Upvote 0
Web KT

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

Back
Top Bottom