



Thử vầy coi saoem có bài này
nội dung muốn lấy 4 ký tự đầu tiên của cột D vào cột E sau đó copy cột E vào cột D và xóa cột E đi
cám ơn
Sub abc()
With Range([D3], [D65536].End(3))
.Offset(, 1).FormulaR1C1 = "=left(RC[-1],4)"
.Offset(, 1).Value = .Offset(, 1).Value
.Value = ""
End With
End Sub
Sub abcd()
Dim data(), i, rng As Range
Set rng = Range([D3], [D65536].End(3))
data = rng.Value: rng.ClearContents
For i = 1 To UBound(data)
data(i, 1) = Left(data(i, 1), 4)
Next
rng.Offset(, 1) = data
End Sub
Nếu chỉ là lấy 4 ký tự đầu tiên trên cột D thì cần gì đến cột E. Code thế này chẳng hạn:em có bài này
nội dung muốn lấy 4 ký tự đầu tiên của cột D vào cột E sau đó copy cột E vào cột D và xóa cột E đi
cám ơn
code nay thi đúng yêu cầu nhưng mà chậm quá mấy code trên kia thì nhanh hơn , nhưng lại hiểu sai vấn đề 1 tíNếu chỉ là lấy 4 ký tự đầu tiên trên cột D thì cần gì đến cột E. Code thế này chẳng hạn:
[GPECODE=vb]Sub Test()
Dim Cll As Range
For Each Cll In Sheets("Sheet1").[D310]
Cll = Left(Cll, 4)
Next
End Sub[/GPECODE]



Góp vui thêm với bạnem có bài này
nội dung muốn lấy 4 ký tự đầu tiên của cột D vào cột E sau đó copy cột E vào cột D và xóa cột E đi
cám ơn
Sub VD()
Dim x As Range
For Each x In Range("D310")
x.Value = Left(x, 4)
Next
End Sub