Có cách nào chèn nhanh hàm không?

Liên hệ QC

kyma

Thành viên mới
Tham gia
5/5/09
Bài viết
4
Được thích
0
Mọi người cho mình hỏi có cách nào chèn nhanh các hàm không? Ví dụ: Mình có cột B là number, mình muốn chèn hàm "=round(B;0)" thì có cách nào chèn nhanh được không nhỉ? Cảm ơn nha.
 
Bạn ghi lại Macro (với tham chiếu tương đối) rồi gán phím tắt là được mà.
 
Mọi người cho mình hỏi có cách nào chèn nhanh các hàm không? Ví dụ: Mình có cột B là number, mình muốn chèn hàm "=round(B;0)" thì có cách nào chèn nhanh được không nhỉ? Cảm ơn nha.
- Quét chọn vùng dử liệu cần chèn... ví dụ là C1:C20
- Gõ vào thanh Formula công thức =ROUND(B1:B20,0)
- Gõ xong, bấm tổ hợp phím Ctrl + Shift + Enter
===> Tức gõ 1 phát, ra được kết quả toàn bộ tại cột C
 
- Quét chọn vùng dử liệu cần chèn... ví dụ là C1:C20
- Gõ vào thanh Formula công thức =ROUND(B1:B20,0)
- Gõ xong, bấm tổ hợp phím Ctrl + Shift + Enter
===> Tức gõ 1 phát, ra được kết quả toàn bộ tại cột C
Hình như ý tác giả muốn "round" luôn kết quả vào cột B đó!Anh Ndu có cách nào ko?
 
Hình như ý tác giả muốn "round" luôn kết quả vào cột B đó!Anh Ndu có cách nào ko?
Nếu đúng là thế thì:
1> Dùng VBA khỏi cần nói rồi (quá dể)
2> Dùng công thức:
- Tạo 1 cột phụ với cách gõ giống như tôi vừa nói ở trên
- Copy cột phụ, PastSspecial\Value vào cột B
Được chứ
Nhanh cở nào thì cũng phải có thời gian (tôi làm xong rồi chắc bạn cũng chưa viết code xong)
 
Nếu đúng là thế thì:
1> Dùng VBA khỏi cần nói rồi (quá dể)
2> Dùng công thức:
- Tạo 1 cột phụ với cách gõ giống như tôi vừa nói ở trên
- Copy cột phụ, PastSspecial\Value vào cột B
Được chứ
Nhanh cở nào thì cũng phải có thời gian (tôi làm xong rồi chắc bạn cũng chưa viết code xong)
Ý của bạn thì mình hiểu rồi. Nhưng cột B của mình link từ sheet khác sang, nếu "Copy cột phụ, PastSspecial\Value vào cột B" thì chỉ còn số thôi. Mà chèn thủ công thì lâu quá. Viết code thì mình không biết viết.

Bạn ghi lại Macro (với tham chiếu tương đối) rồi gán phím tắt là được mà.
Bạn có thể hướng dẫn mình cụ thể hơn được không.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Ý của bạn thì mình hiểu rồi. Nhưng cột B của mình link từ sheet khác sang, nếu "Copy cột phụ, PastSspecial\Value vào cột B" thì chỉ còn số thôi. Mà chèn thủ công thì lâu quá. Viết code thì mình không biết viết.
thì ra là vậy
- Giả sử tại cột B đang có hàm nào đó, và bây giờ bạn muốn làm tròn cột B này
Vậy có 2 cách:
1> Cách 1:
Nếu chỉ để hiển thị và in ấn thì dùng Custom Format ---> Tức quét chọn vùng dử liệu cột B, Format cho nó đừng hiện số thập phân
Cách này đơn giản nhất, lại không ảnh hưởng đến các kết quả tính toán sau này
2> Cách 2:
Bạn chỉ sửa lại 1 cell rồi kéo fill xuống tôi nghĩ cũng chẳng tốn thời gian gì
= ROUND(Hàm của ban,0)
Sở dỉ tôi nói KÉO FILL là vì tin chắc hàm của bạn lúc xây dựng ban đầu cũng từng kéo fill như thế (chứ lý nào mỗi cell lại phải gõ hàm khác nhau)
---------------
Nếu khác hơn nữa, bạn gữi file lên cho mọi người nghiên cứu xem!
 
Bạn có thể hướng dẫn mình cụ thể hơn được không.

Mình dùng đoạn Code này, bạn xem thử (file đính kèm).

PHP:
Sub Lam_Tron()
   
   Dim Rng As Range
   
   Set Rng = Selection
   On Error Resume Next
   Rng.Offset(, 1).FormulaArray = "=ROUND(" & Rng.Address & ",0)"
   
End Sub
 

File đính kèm

  • Book1.xls
    23 KB · Đọc: 30
thì ra là vậy
- Giả sử tại cột B đang có hàm nào đó, và bây giờ bạn muốn làm tròn cột B này
Vậy có 2 cách...
Mình làm được rồi, nhưng link các địa chỉ ở dạng tuyệt đối thì mới ok (vì trước khi hỏi vấn đề này mình dùng địa chỉ tương đối). Cảm ơn bạn, chúc bạn luôn khỏe mạnh và thành công trong cuộc sống.

Mình dùng đoạn Code này, bạn xem thử (file đính kèm)...
Cảm ơn bạn đã nhiệt tình giúp đơ mình. Chúc bạn luôn vui vẻ.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Mình dùng đoạn Code này, bạn xem thử (file đính kèm).

PHP:
Sub Lam_Tron()
   
   Dim Rng As Range
   
   Set Rng = Selection
   On Error Resume Next
   Rng.Offset(, 1).FormulaArray = "=ROUND(" & Rng.Address & ",0)"
   
End Sub
Cái này không đúng à nha
Lý ra nó phải thế này:
PHP:
Sub Lam_Tron()
  Dim Clls As Range
  For Each Clls In Selection
   Clls.Value = "=ROUND(" & Mid(Clls.Formula, 2, Len(Clls.Formula)) & ",0)"
  Next
End Sub
 
Cái này không đúng à nha
Lý ra nó phải thế này:
PHP:
Sub Lam_Tron()
  Dim Clls As Range
  For Each Clls In Selection
   Clls.Value = "=ROUND(" & Mid(Clls.Formula, 2, Len(Clls.Formula)) & ",0)"
  Next
End Sub

Em chỉ làm 1 cách thủ công và chân phương (vì mới học VBA), em thấy nếu dữ liệu chỉ là 1 cột thì vẫn dùng được mà anh.
 
Em chỉ làm 1 cách thủ công và chân phương (vì mới học VBA), em thấy nếu dữ liệu chỉ là 1 cột thì vẫn dùng được mà anh.
Tức là thế này đây:
- Cột cần chèn có chứa công thức
- Nhiệm vụ của bạn là lồng thêm hàm ROUND vào công thức có sẳn
- Tức làm tròn trực tiếp vào Selection chứ không phải qua cột phụ
Giống file này đây
 

File đính kèm

  • Test.xls
    21 KB · Đọc: 30
Web KT
Back
Top Bottom