vitinhvnbmt
Thành viên hoạt động



- Tham gia
- 30/5/09
- Bài viết
- 108
- Được thích
- 7



Cái này chắc nhờ mấy anh viết VBA cho bạn rồi, CT làm không được!!!như đã nêu ra ở tiêu đề bài viết, tôi muốn chuyển dữ liệu công thức ở cột E sang dữ liệu dạng text hoặc số ở cột F một cách tự động nhưng không biết làm thế nào mong ace trong gpe giúp đỡ.
(không dùng copy --> paste value nhá)
như đã nêu ra ở tiêu đề bài viết, tôi muốn chuyển dữ liệu công thức ở cột E sang dữ liệu dạng text hoặc số ở cột F một cách tự động nhưng không biết làm thế nào mong ace trong gpe giúp đỡ.
(không dùng copy --> paste value nhá)



Không rõ kết quả ở cột E và F dựa trên điều kiện như nào?
E4 =SUM(B44)
E5=TODAY()
Cột F thì trống trơn.
Vậy giờ làm gì?
đơn giản là mình muốn có dữ liệu text, number đơn thuần ở cột F thôi
ở cột E nó đang là công thức (đặt chuột vào ô E3, E4, E5 thì sẽ thấy rõ ở trên formula bar)
nếu bạn không muốn copy và past value thì bạn có thể dùng cách cực nhọc hơnđơn giản là mình muốn có dữ liệu text, number đơn thuần ở cột F thôi
ở cột E nó đang là công thức (đặt chuột vào ô E3, E4, E5 thì sẽ thấy rõ ở trên formula bar)

như đã nêu ra ở tiêu đề bài viết, tôi muốn chuyển dữ liệu công thức ở cột E sang dữ liệu dạng text hoặc số ở cột F một cách tự động nhưng không biết làm thế nào mong ace trong gpe giúp đỡ.
(không dùng copy --> paste value nhá)
Public arr
Private Sub Worksheet_Calculate()
Dim n As Long
Application.EnableEvents = False
If Not IsArray(arr) Then arr = Range("E3:E1000").Value
For n = 1 To UBound(arr, 1)
If Cells(n, "E").Value <> arr(n, 1) Then
Cells(n, "F").Value = Cells(n, "E").Value
Cells(n, "F").NumberFormat = Cells(n, "E").NumberFormat
arr(n, 1) = Cells(n, "E").Value
End If
Next
Application.EnableEvents = True
End Sub



Bạn có thể diễn đạt ban đầu ở cột E và F là gì/ nhập vào như nào? sau khi tác động (click chạy sub hay sự kiện tác động vào cell nào đó) thì cho kết quả là value ở cột E và F.
p/s: Bạn đọc lại các bài mình viết xem có rõ ràng yêu cầu gì hông?






nếu bạn không muốn copy và past value thì bạn có thể dùng cách cực nhọc hơn
ô F4 nhập công thức =E4 không bấm Enter mà bấm phím F9 tương tự cho các ô khác![]()
![]()
![]()






Dùng sự kiện Worksheet_Calculate để giải quyết
1> Chèn 1 Module với code:
2> Chèn code sự kiện cho Sheet1Mã:Public arr
thí nghiêm xem sao! Hên thì trúngMã:Private Sub Worksheet_Calculate() Dim n As Long Application.EnableEvents = False If Not IsArray(arr) Then arr = Range("E3:E1000").Value For n = 1 To UBound(arr, 1) If Cells(n, "E").Value <> arr(n, 1) Then Cells(n, "F").Value = Cells(n, "E").Value Cells(n, "F").NumberFormat = Cells(n, "E").NumberFormat arr(n, 1) = Cells(n, "E").Value End If Next Application.EnableEvents = True End Sub


