Nhờ viết Code trim 2 đầu một vùng nhưng không mất công thức (1 người xem)

Liên hệ QC

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

Dauthivan

Thành viên tiêu biểu
Tham gia
15/8/08
Bài viết
565
Được thích
327
Nhờ mọi người dùm em làm thế nào xóa khoảng trắng trong file tựa như lệnh Trim, nhưng làm sao không ảnh hưởng gì đến công thức của file.

Nếu Code làm sao mà chuyển cho tất cả các ô có dữ liệu trên Sheet thì càng tốt. Vì em phải làm cho các file khác nhau (số lượng dòng và cột các file đó khác nhau)

Em xin cảm ơn.
 

File đính kèm

Nhờ mọi người dùm em làm thế nào xóa khoảng trắng trong file tựa như lệnh Trim, nhưng làm sao không ảnh hưởng gì đến công thức của file.

Nếu Code làm sao mà chuyển cho tất cả các ô có dữ liệu trên Sheet thì càng tốt. Vì em phải làm cho các file khác nhau (số lượng dòng và cột các file đó khác nhau)

Em xin cảm ơn.

Vầy chắc được:
Mã:
Sub TrimAll()
  Dim rCel As Range, wks As Worksheet
  Dim tmp, n As Long
  On Error Resume Next
  For Each wks In ThisWorkbook.Worksheets
    For Each rCel In wks.UsedRange
      If Not rCel.HasFormula Then
        tmp = rCel.Value
        If tmp <> Trim(tmp) Then
          n = n + 1
          rCel.Value = Trim(tmp)
        End If
      End If
    Next
  Next
  If n Then MsgBox "Da cat khoang trang thua tai " & n & "cells"
End Sub
 
Upvote 0
Cải tiến lại để tăng tốc
Mã:
Sub TrimAll()
  Dim rCel As Range, wks As Worksheet, Arr
  Dim tmp, n As Long, lR As Long, lC As Long
  On Error Resume Next
  For Each wks In ThisWorkbook.Worksheets
    Arr = wks.UsedRange.Formula
    For lR = 1 To UBound(Arr, 1)
      For lC = 1 To UBound(Arr, 2)
        tmp = Arr(lR, lC)
        If Left(tmp, 1) <> "=" Then
          If tmp <> Trim(tmp) Then
            n = n + 1
            Arr(lR, lC) = Trim(tmp)
          End If
        End If
      Next
    Next
    wks.UsedRange.Formula = Arr
  Next
  If n Then MsgBox "Da cat khoang trang thua tai " & n & " cells"
End Sub
 
Upvote 0

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

Back
Top Bottom