Thay thế đổi tên file trong excel bằng VBA (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

Harry90

Thành viên mới
Tham gia
9/8/19
Bài viết
34
Được thích
-13
Xin chỉ giáo VBA copy tên của file excel A và paste thay thế cho tên file excel B ( thực hiện thao tác trên file C vì file A và B đang đóng)
Rất mong anh chị chỉ giáo giúp em ạ
em cảm ơn ạ
 
code lượm nhặt bạn nghiên cứu thêm về FileSystemObject nhé

1. chạy Code lấy danh file trong folder.
Bạn để đường dẫn folder này ở ô B1

Mã:
Sub GETFILENAME()
Dim a, fo, fi As String
Dim i As Integer
Dim fso As Object

Set fso = VBA.CreateObject("Scripting.FileSystemObject")
a = ActiveWorkbook.Name
If Not fso.FolderExists(Workbooks(a).Sheets(1).Range("B1").Value) Then
MsgBox "Folder Error"
Else
fo = Workbooks(a).Sheets(1).Range("B1").Value
fi = Dir(fo & "\" & "*.*")
i = 1
Workbooks(a).Sheets(1).Range("C2:D1048576").ClearContents
Do While fi <> ""
i = i + 1
Workbooks(a).Sheets(1).Cells(i, 3).Value = fi
fi = Dir
Loop
End If
MsgBox "LAY DANH SACH FILE XONG!"
End Sub

2. Sau khi chạy code sẽ liệt kê tên file ở cột C.
bạn điền tên file cần sửa tương ứng dòng ở C tại cột D.

3. chạy code sửa tên file
bạn có thể xóa những dòng mà tên file ko cần sửa tên.

Mã:
Sub DoiTenFileName()

Dim fso As Object
Dim OldName As String, NewName As String
Dim a, fo, fi, fin As String
Dim i As Integer
Dim ws As Worksheet


Set fso = CreateObject("Scripting.FileSystemObject")
a = ActiveWorkbook.Name
If Not fso.FolderExists(Workbooks(a).Sheets(1).Range("B1").Value) Then
MsgBox "Folder Error"
Else
fo = Workbooks(a).Sheets(1).Range("B1").Value

i = 1
Do
i = i + 1
fi = Workbooks(a).Sheets(1).Cells(i, 3).Value
fin = Workbooks(a).Sheets(1).Cells(i, 4).Value

If fi = "" Then Exit Do Else

If fin = "" Then
Else


OldName = fo & "\" & fi
NewName = fo & "\" & fin

    If fso.FileExists(OldName) Then fso.MoveFile OldName, NewName

End If

Loop
End If
Set fso = Nothing

MsgBox "DOI TEN FILE XONG!"
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom