Nhờ viết Code thay thao tác F2, Enter liên tục trong một cột (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
Giả sử em muốn chọn từ A4 đến A9, khi chạy Code nó thay ta thao tác bằng tay,tương tự như khi ta thu Macro sau:

PHP:
Sub Macro1()

    Range("A4").Select
    ActiveCell.FormulaR1C1 = "2"
    Range("A5").Select
    ActiveCell.FormulaR1C1 = "3"
    Range("A6").Select
    ActiveCell.FormulaR1C1 = "4"
    Range("A7").Select
    ActiveCell.FormulaR1C1 = ""
    Range("A8").Select
    ActiveCell.FormulaR1C1 = ""
    Range("A9").Select
End Sub

---
Trong thực tế khi dùng em có thể chọn vùng bất kỳ (bôi đen), ví dụ từ A1:A1000 chẳng hạn khi chạy Code nó sẽ tự động làm động tác: A4--> F2-->Enter -->A5-->F2-->Enter...đến A100-->F2-->Enter

Lâu ngày không ôn lại giờ công việc dùng đến em không biết viết vòng lặp, nhờ các anh/chị giúp cho.
 
Trong thực tế khi dùng em có thể chọn vùng bất kỳ (bôi đen), ví dụ từ A1:A1000 chẳng hạn khi chạy Code nó sẽ tự động làm động tác: A4--> F2-->Enter -->A5-->F2-->Enter...đến A100-->F2-->Enter

Lâu ngày không ôn lại giờ công việc dùng đến em không biết viết vòng lặp, nhờ các anh/chị giúp cho.

Vậy mục đích của thao tác này là để làm cái gì? Biến chuổi thành số chăng?
 
Upvote 0
Vậy mục đích của thao tác này là để làm cái gì? Biến chuổi thành số chăng?
Tiếp tục đi Thầy!
Có thể là như Thầy nghĩ vì nhiều lần em đã gặp tình trạng này rồi.
Ký tự nhập vào dạng văn bản nên cứ phải định sang lại rồi mới f3+enter từng ô 1.
 
Upvote 0
Tiếp tục đi Thầy!
Có thể là như Thầy nghĩ vì nhiều lần em đã gặp tình trạng này rồi.
Ký tự nhập vào dạng văn bản nên cứ phải định sang lại rồi mới f3+enter từng ô 1.
Nếu chỉ là chuyển chuỗi số thành số thì đâu cần đến VBA chi cho cực. Bạn copy một ô trống bất kỳ, chọn vùng dữ liệu cần chuyển từ chuỗi số sang số và Paste special với tùy chọn Add là được mà.
 
Upvote 0
Nếu chỉ là chuyển chuỗi số thành số thì đâu cần đến VBA chi cho cực. Bạn copy một ô trống bất kỳ, chọn vùng dữ liệu cần chuyển từ chuỗi số sang số và Paste special với tùy chọn Add là được mà.
Cảm ơn anh Phúc ạ! cách này trong trường hợp mình biết mình có thể tự sử được.
Nhưng ở một trường hợp khác khi người dùng không biết họ có thể copu 1 phần dữ liệu ở đâu đó rồi pase vào do là định dạng văn bản nhầm nên dẫn đến sự nhầm lẫn.
Vì vậy nếu có code sẽ tiện hơn anh ạ. Trong quá trình thực hiện tính toán ta sẽ cho code duyệt vùng dữ liệu trước.
Ý em là vậy ạ!
 
Upvote 0
Cảm ơn anh Phúc ạ! cách này trong trường hợp mình biết mình có thể tự sử được.
Nhưng ở một trường hợp khác khi người dùng không biết họ có thể copu 1 phần dữ liệu ở đâu đó rồi pase vào do là định dạng văn bản nhầm nên dẫn đến sự nhầm lẫn.
Vì vậy nếu có code sẽ tiện hơn anh ạ. Trong quá trình thực hiện tính toán ta sẽ cho code duyệt vùng dữ liệu trước.
Ý em là vậy ạ!
Vậy thì bạn cứ Record macro với chuỗi thao tác trên và sửa lại một chút là có code ngay ấy mà.
 
Upvote 0
Vậy thì bạn cứ Record macro với chuỗi thao tác trên và sửa lại một chút là có code ngay ấy mà.
Ý của em muốn là thực hiện chuyển ngay tại chính ô dữ liệu gốc đó cơ anh ạ.
Em thử chuyển sang ô khác thì được nhưng tại ô gốc thì hỏng..
Anh Phúc xem đoạn video em test nhé!
 

File đính kèm

Upvote 0
Ý của em muốn là thực hiện chuyển ngay tại chính ô dữ liệu gốc đó cơ anh ạ.
Em thử chuyển sang ô khác thì được nhưng tại ô gốc thì hỏng..
Anh Phúc xem đoạn video em test nhé!
Tôi thấy nó có vấn đề gì đâu nhỉ?! Ý của bạn là hỏng cái gì vậy? Có phải là từ 22 thành 44 không? Nếu đúng thì đó là do bạn chọn ô có số 22 copy rồi paste special vào đó với tùy chọn Add nên mới có kết quả 22 + 22 = 44 chứ có sao đâu. Bạn copy một ô trống thay vì cái ô chứa số 22 kia xem nào. Trên bài #4, tôi cũng hướng dẫn là "copy một ô trống bất kỳ" mà.
 
Upvote 0
Ý! Em làm được rồi..
Ví dụ vùng B2:B10 là vùng văn bản.Giờ ta chuyển nó sang mặc định (nếu giá trị là số thì nó sẽ thành số).

Mã:
Sub Test()
    With Range("B2:B10")
        .NumberFormat = General
        .Value = .Value
    End With
End Sub
 

File đính kèm

Upvote 0
Khi đánh dấu ô chứa số ở định dạng text, bên cạnh vùng đánh dấu có thông báo nhỏ number stored as text, bấm vào đó rồi chọn convert to number là xong mà.
 
Upvote 0
Cách này thì chỉ tốt với dữ liệu ít chứ nhiều sẽ bị giật màng hình, với lại sẽ chậm tốt nhất là dùng cách của NghiaPhuc hoặc covert sang number dùng text to columns.
 
Upvote 0
Cách này thì chỉ tốt với dữ liệu ít chứ nhiều sẽ bị giật màng hình, với lại sẽ chậm tốt nhất là dùng cách của NghiaPhuc hoặc covert sang number dùng text to columns.

"covert sang number dùng text to columns" làm sao ạ?

Đánh dấu là bôi đen phải ko ạ? Em không thấy ô thông báo @.@
Khi đánh dấu ô chứa số ở định dạng text, bên cạnh vùng đánh dấu có thông báo nhỏ number stored as text, bấm vào đó rồi chọn convert to number là xong mà.
 
Upvote 0
Web KT

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

Back
Top Bottom