huyhoangjo
Thành viên mới
- Tham gia
- 8/9/20
- Bài viết
- 12
- Được thích
- 1
Sub TINHGIATHANH()
Dim rngI As String, rngJ As String, rng As String
Application.EnableEvents = 0
If MsgBoxTimer("B" & ChrW(7840) & "N CÓ MU" & ChrW(7888) & "N C" & ChrW(7852) & "P NH" & ChrW(7852) & "T?", vbOKCancel + vbInformation, "C" & ChrW(7852) & "P NH" & ChrW(7852) & "T") = vbCancel Then End
With Sheet1
DC = .Range("B" & Rows.Count).End(xlUp).Row
'------------------
rngI = .Range("I6:I" & DC).Address
rngJ = .Range("J6:J" & DC).Address
rng = rngI & "+" & rngJ
.Range("I6:I" & DC).Value = Evaluate(rng)
'------------------
rngJ = .Range("F6:F" & DC).Address
rng = rngI & "+" & rngJ
.Range("H6:H" & DC).Value = Evaluate(rng)
'----------------------
.Range("j6:j" & DC).ClearContents
.Range("L6:L" & DC).ClearContents
End With
Application.EnableEvents = 1
End Sub
cảm ơn a rất nhiều lun do em mới tập tành code nên thực sự gà mờ,nên nhiều cái không hiểuBạn dùng for...next mà duyệt từng dòng trên bảng tính và paste từng dòng như thế, thì theo thời gian sẽ chậm là đúng rồi
Có nhiều cách:
Cách 1) Nhiều người ở GPE hay dùng: Dùng vòng lặp, chép giá trị vùng vào mảng, tính toán, sau đó chép ngược lại lên sheet
Cách 2) Không dùng vòng lặp: nối chuỗi 2 cột với dấu cộng, sau đó dùng hàm evaluate() để lấy kết quả:
PHP:Sub TINHGIATHANH() Dim rngI As String, rngJ As String, rng As String Application.EnableEvents = 0 If MsgBoxTimer("B" & ChrW(7840) & "N CÓ MU" & ChrW(7888) & "N C" & ChrW(7852) & "P NH" & ChrW(7852) & "T?", vbOKCancel + vbInformation, "C" & ChrW(7852) & "P NH" & ChrW(7852) & "T") = vbCancel Then End With Sheet1 DC = .Range("B" & Rows.Count).End(xlUp).Row '------------------ rngI = .Range("I6:I" & DC).Address rngJ = .Range("J6:J" & DC).Address rng = rngI & "+" & rngJ .Range("I6:I" & DC).Value = Evaluate(rng) '------------------ rngJ = .Range("F6:F" & DC).Address rng = rngI & "+" & rngJ .Range("H6:H" & DC).Value = Evaluate(rng) '---------------------- .Range("j6:j" & DC).ClearContents .Range("L6:L" & DC).ClearContents End With Application.EnableEvents = 1 End Sub
Người viết code này chắc cũng thuộc người am hiểu VBA. Nhờ tác giả sửa lại cho bạncảm ơn a rất nhiều lun do em mới tập tành code nên thực sự gà mờ,nên nhiều cái không hiểu