Em xin nhờ giúp sửa code ạ (1 người xem)

Liên hệ QC

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

dosontung86

Thành viên chính thức
Tham gia
22/11/12
Bài viết
60
Được thích
2
Em có code này, nhưng khi chạy code thì nó bị thay đổi kích thước dòng và cột.
XIn nhờ các sư huynh sửa giúp em để nó giữ nguyên kích thước với ạ.
Thêm nữa là có thể sửa code giúp em để nó chạy tự động sang sheet skt mà không cần phải ấn chạy code ko ạ?
E chân thành cảm ơn ạ
Mã:
Public Sub THAYTHE()Dim MDuLieu, MThayThe, d As Long, r As Long, c As Long
MDuLieu = Sheet2.UsedRange.Value
MThayThe = Sheet6.UsedRange.Value


For d = 2 To UBound(MThayThe)
For c = 1 To UBound(MDuLieu, 2)
For r = 1 To UBound(MDuLieu)
If InStr(1, MDuLieu(r, c), MThayThe(d, 1), 1) > 0 Then
MDuLieu(r, c) = Replace(MDuLieu(r, c), MThayThe(d, 1), MThayThe(d, 2))
End If
Next r
Next c
Next d


Sheet3.Range("A1").Resize(UBound(MDuLieu), UBound(MDuLieu, 2)).Value = MDuLieu
Sheet2.UsedRange.Copy
Selection.PasteSpecial Paste:=(xlPasteFormats)
Application.CutCopyMode = False
Sheet3.UsedRange.Columns.AutoFit
End Sub
File em đính kèm bên dưới ạ
 

File đính kèm

Lần chỉnh sửa cuối:
Em có code này, nhưng khi chạy code thì nó bị thay đổi kích thước dòng và cột.
XIn nhờ các sư huynh sửa giúp em để nó giữ nguyên kích thước với ạ.
E chân thành cảm ơn ạ
Mã:
Public Sub THAYTHE()Dim MDuLieu, MThayThe, d As Long, r As Long, c As Long
MDuLieu = Sheet2.UsedRange.Value
MThayThe = Sheet6.UsedRange.Value


For d = 2 To UBound(MThayThe)
For c = 1 To UBound(MDuLieu, 2)
For r = 1 To UBound(MDuLieu)
If InStr(1, MDuLieu(r, c), MThayThe(d, 1), 1) > 0 Then
MDuLieu(r, c) = Replace(MDuLieu(r, c), MThayThe(d, 1), MThayThe(d, 2))
End If
Next r
Next c
Next d



Sheet3.Range("A1").Resize(UBound(MDuLieu), UBound(MDuLieu, 2)).Value = MDuLieu
Sheet2.UsedRange.Copy
Selection.PasteSpecial Paste:=(xlPasteFormats)
Application.CutCopyMode = False
Sheet3.UsedRange.Columns.AutoFit
End Sub
Để có nhanh câu trả lời nhất,tốt nhất bạn gửi file đính kèm nên. Không có file, mọi người chả biết thế nào mà lần
Bạn thử kiểm tra câu lệnh Columns.Autofit xem
 
Upvote 0
Em có code này, nhưng khi chạy code thì nó bị thay đổi kích thước dòng và cột.
XIn nhờ các sư huynh sửa giúp em để nó giữ nguyên kích thước với ạ.
Thêm nữa là có thể sửa code giúp em để nó chạy tự động sang sheet skt mà không cần phải ấn chạy code ko ạ?
E chân thành cảm ơn ạ
Mã:
Public Sub THAYTHE()Dim MDuLieu, MThayThe, d As Long, r As Long, c As Long
MDuLieu = Sheet2.UsedRange.Value
MThayThe = Sheet6.UsedRange.Value


For d = 2 To UBound(MThayThe)
For c = 1 To UBound(MDuLieu, 2)
For r = 1 To UBound(MDuLieu)
If InStr(1, MDuLieu(r, c), MThayThe(d, 1), 1) > 0 Then
MDuLieu(r, c) = Replace(MDuLieu(r, c), MThayThe(d, 1), MThayThe(d, 2))
End If
Next r
Next c
Next d


Sheet3.Range("A1").Resize(UBound(MDuLieu), UBound(MDuLieu, 2)).Value = MDuLieu
Sheet2.UsedRange.Copy
Selection.PasteSpecial Paste:=(xlPasteFormats)
Application.CutCopyMode = False
[COLOR=#ff0000]Sheet3.UsedRange.Columns.AutoFit[/COLOR]
End Sub
File em đính kèm bên dưới ạ

Xóa dòng code màu đỏ thử xem
 
Upvote 0
Aaaaa, Được rồi ạ. Em cảm ơn anh chị nhiều ạ.

Nhưng để nó tự động thay thế sang sheet khác mà ko cần chạy code thì làm như nào ạ?
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom