Nhờ viết code không cho chèn dòng nhưng vẫn cho copy dòng và insert copied cell.

Liên hệ QC

vuha

Thành viên hoạt động
Tham gia
28/4/08
Bài viết
150
Được thích
34
Tôi nhờ các bạn viết giùm tôi code để không được chèn dòng trắng mà vẫn được copy dòng và insert copied cell dòng đó được. Cảm ơn các bạn nhiều.
 
Lần chỉnh sửa cuối:
Tôi nhờ các bạn viết giùm tôi code để không được chèn dòng trắng mà vẫn được copy và insert copied cell. Cảm ơn các bạn nhiều.
Có 1 cách không cần phải viết code, bạn chọn 1 cột bất kỳ(chọn cả cột, cột này sẽ không sử dụng về sau, có thể ẩn đi), sau đó nhấn Ctrl+L -> OK. Rồi, giờ bạn không thể insert được dòng nữa, nhưng vẫn insert cell như thường. Bạn có thể ẩn cột này đi là xong.
 
Có 1 cách không cần phải viết code, bạn chọn 1 cột bất kỳ(chọn cả cột, cột này sẽ không sử dụng về sau, có thể ẩn đi), sau đó nhấn Ctrl+L -> OK. Rồi, giờ bạn không thể insert được dòng nữa, nhưng vẫn insert cell như thường. Bạn có thể ẩn cột này đi là xong.
Bạn ơi làm như bạn thì chỉ chèn được ô chứ không copy dòng và insert copied dòng đó được. Làm thế nảo để copy dòng và insert copied dòng đó được?
 
Bạn ơi làm như bạn thì chỉ chèn được ô chứ không copy dòng và insert copied dòng đó được. Làm thế nảo để copy dòng và insert copied dòng đó được?
Không cho chèn dòng mà vẩn Insert copy cells thì có phài là vô lý lắm không?
Insert copy cells thì cũng là chèn dòng vậy!
 
Mình có cách chuối như sau:

PHP:
Sub NoAddRowMore()
 Dim LastRow As Long
 Columns(255).Clear
 
 If WorksheetFunction.CountA(Cells) > 0 Then
   LastRow = 1 + Cells.Find(What:="*", After:=[A1], _
      SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
 End If
 Range(Cells(LastRow, 255), Cells(LastRow, 255).End(xlDown)).Value = "GPE"
End Sub

Bạn có thể gọi macro khi mở trang tính
Macro đã chiếm hữu phần lớn của cột 255 mất rồi!
 
PHP:
Sub NoAddRowMore()
 Dim LastRow As Long
 Columns(255).Clear
 
 If WorksheetFunction.CountA(Cells) > 0 Then
   LastRow = 1 + Cells.Find(What:="*", After:=[A1], _
      SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
 End If
 Range(Cells(LastRow, 255), Cells(LastRow, 255).End(xlDown)).Value = "GPE"
End Sub
Bạn có thể gọi macro khi mở trang tính
Macro đã chiếm hữu phần lớn của cột 255 mất rồi!
Thứ nhất là nếu chạy Macro trên sheet trắng không có dữ liệu sẽ bị báo lỗi tại dòng bôi đỏ.
Thứ 2 là với sheet có dữ liệu thì sau khi chạy macro vẫn không Insert Copy Row được. Với lại theo tôi nghĩ thì cách này không khác cách nhập dữ liệu cho cả cột gì cả. Vậy chọn cả cột rồi nhập cho nó cái gì đó, khỏi cần code.
 
Thứ nhất là nếu chạy Macro trên sheet trắng không có dữ liệu sẽ bị báo lỗi tại dòng bôi đỏ.
Thứ 2 là với sheet có dữ liệu thì sau khi chạy macro vẫn không Insert Copy Row được. Với lại theo tôi nghĩ thì cách này không khác cách nhập dữ liệu cho cả cột gì cả. Vậy chọn cả cột rồi nhập cho nó cái gì đó, khỏi cần code.

Cảm ơn bạn nhiều!

Lỗi thứ nhất có thể khắc phục bằng cách dời dòng lệnh đó vô trong If . . . End If

Sao không copy dòng được vậy bạn; Vẫn chép đè như thường chứ bộ (?)

Cách này khác cách nhập liệu cho cả cột, vì vẫn để vùng làm việc thoải mái cho người sử dụng mà.
 
Cảm ơn bạn nhiều!

Lỗi thứ nhất có thể khắc phục bằng cách dời dòng lệnh đó vô trong If . . . End If

Sao không copy dòng được vậy bạn; Vẫn chép đè như thường chứ bộ (?)

Cách này khác cách nhập liệu cho cả cột, vì vẫn để vùng làm việc thoải mái cho người sử dụng mà.
Không phải copy đè bạn ơi, bạn thử chọn 1 dòng -> copy -> chọn 1 dòng -> Insert copied cells xem có được không? Đấy là yêu cầu của tác giả mà.
 
Không cho chèn dòng mà vẩn Insert copy cells thì có phài là vô lý lắm không?
Insert copy cells thì cũng là chèn dòng vậy!
Ý tôi là không cho chèn dòng trắng mới nhưng vẫn cho chèn dòng đã copy. Tôi không biết VB có làm được không nhưng tôi vẫn nhờ các bác xem có cách nào giúp tôi. Tôi không biết về VB nên không hiểu code của bạn HYen17 nhưng đúng là bạn rollover79 đã hiểu đúng ý tôi rồi đó. Mong các bác nhiệt tình giúp tôi. Cảm ơn các bác nhé.
 
Ý tôi là không cho chèn dòng trắng mới nhưng vẫn cho chèn dòng đã copy. Tôi không biết VB có làm được không nhưng tôi vẫn nhờ các bác xem có cách nào giúp tôi. Tôi không biết về VB nên không hiểu code của bạn HYen17 nhưng đúng là bạn rollover79 đã hiểu đúng ý tôi rồi đó. Mong các bác nhiệt tình giúp tôi. Cảm ơn các bác nhé.
Có thể nói cho tôi biết mục đích của bạn không? Bạn muốn "ngăn chặn" điều gì?
Vì nếu tôi là người dùng, dù bạn không cho tôi chèn dòng trắng tôi vẫn cứ chèn được như thường ---> Tôi copy dử liệu tầm phào gì đó rồi Insert Copy cell (thao tác này bạn cho phép mà)... sau đó tôi xóa dử liệu đã copy là có ngay 1 dòng trắng
Biết được mục đích sẽ dể dàng đưa ra hướng đi tốt... (hơn là bạn nhờ người khác dắt bạn, nhưng lại đi theo "lộ trình" do bạn đề ra ---> Có khi đi vào ngõ cụt)
 
Có thể nói cho tôi biết mục đích của bạn không? Bạn muốn "ngăn chặn" điều gì?
Vì nếu tôi là người dùng, dù bạn không cho tôi chèn dòng trắng tôi vẫn cứ chèn được như thường ---> Tôi copy dử liệu tầm phào gì đó rồi Insert Copy cell (thao tác này bạn cho phép mà)... sau đó tôi xóa dử liệu đã copy là có ngay 1 dòng trắng
Biết được mục đích sẽ dể dàng đưa ra hướng đi tốt... (hơn là bạn nhờ người khác dắt bạn, nhưng lại đi theo "lộ trình" do bạn đề ra ---> Có khi đi vào ngõ cụt)
Mục đích của tôi là thế này:
Tôi có tạo 1 file dữ liệu gồm rất nhiều dòng và cột. Tại những ô cần đặt công thức thì tôi đã đặt sẵn và tại 1 cột thì công thức của các dòng là giống nhau. File này tôi chuyển cho người khác cập nhật dữ liệu theo trình tự thời gian, nhưng nhiều khi đã cập nhật được nhiều dòng liên tục rồi người đó mới phát hiện ra có những sự kiện (mỗi sự kiện tương ứng với 1 dòng) bị sót hoặc chưa đủ thông tin để cập nhật nên chưa cập nhật.
Người đó thường chèn dòng trắng vào để cập nhật nhưng không copy lại công thức tại những ô có công thức nên các báo cáo (đã được tôi lập sẵn theo form) bỏ qua những sự kiện đó. Vì vậy tôi muốn người dùng không chèn được dòng trắng mà phải copy dòng trắng có công thức (không có dữ liệu nhưng tại cột có công thức thì vẫn có công thức) để chèn vào vị trí cần chèn rồi mới nhập dữ liệu.
Nếu phải thực hiện giải pháp tình thế thì tại những cột có công thức tôi có thể copy công thức theo cột nhưng do có nhiều cột chứa công thức nên việc copy rất mất thời gian cho tôi trong khi đáng ra tôi chỉ cần mở file và xem báo cáo thì tôi lại phải rà soát và copy lại những công thức đó trước khi xem báo cáo.
Tất nhiên tôi muốn làm được điều này là để hạn chế sai sót trên báo cáo và tiết kiệm thời gian của tôi thôi chứ nếu ai đó mà cố tình làm như ndu nói thì tôi cũng xin chào... tạm biệt. Và tôi tin người cập nhật file dữ liệu này cho tôi, họ chỉ không chú tâm khi cập nhật và không thạo excel lắm chứ không có ý làm như ndu nói nên tôi mới nhờ các bạn vụ này. Mong các bạn giúp đỡ. Thanks.
 
Mục đích của tôi là thế này:
Tôi có tạo 1 file dữ liệu gồm rất nhiều dòng và cột. Tại những ô cần đặt công thức thì tôi đã đặt sẵn và tại 1 cột thì công thức của các dòng là giống nhau. File này tôi chuyển cho người khác cập nhật dữ liệu theo trình tự thời gian, nhưng nhiều khi đã cập nhật được nhiều dòng liên tục rồi người đó mới phát hiện ra có những sự kiện (mỗi sự kiện tương ứng với 1 dòng) bị sót hoặc chưa đủ thông tin để cập nhật nên chưa cập nhật.
Người đó thường chèn dòng trắng vào để cập nhật nhưng không copy lại công thức tại những ô có công thức nên các báo cáo (đã được tôi lập sẵn theo form) bỏ qua những sự kiện đó. Vì vậy tôi muốn người dùng không chèn được dòng trắng mà phải copy dòng trắng có công thức (không có dữ liệu nhưng tại cột có công thức thì vẫn có công thức) để chèn vào vị trí cần chèn rồi mới nhập dữ liệu.
Nếu phải thực hiện giải pháp tình thế thì tại những cột có công thức tôi có thể copy công thức theo cột nhưng do có nhiều cột chứa công thức nên việc copy rất mất thời gian cho tôi trong khi đáng ra tôi chỉ cần mở file và xem báo cáo thì tôi lại phải rà soát và copy lại những công thức đó trước khi xem báo cáo.
Tất nhiên tôi muốn làm được điều này là để hạn chế sai sót trên báo cáo và tiết kiệm thời gian của tôi thôi chứ nếu ai đó mà cố tình làm như ndu nói thì tôi cũng xin chào... tạm biệt. Và tôi tin người cập nhật file dữ liệu này cho tôi, họ chỉ không chú tâm khi cập nhật và không thạo excel lắm chứ không có ý làm như ndu nói nên tôi mới nhờ các bạn vụ này. Mong các bạn giúp đỡ. Thanks.
Tôi đã từng gặp tình trạng này rồi
- Nếu là tôi, đàng nào cũng xài VBA thì tôi xài toàn bộ luôn, bỏ hết công thức
- Việc nhập liệu, nếu thấy thiếu thì nhập tiếp tục ở dưới, cớ sao phải "chèn"
- Trình tự thời gian có thể lộn xộn, nhưng sau khi bạn mang về xử lý, bạn có thể sort lại cho đúng ý đồ
Tôi cãm giác vấn đề lớn nhất của bạn không nằm ở công thức hay code mà nằm ở cách bố trí dử liệu ---> Bạn đưa lên 1 ít dử liệu xem thế nào nhé (bao gồm cả công thức bạn đang thiết lập)
 
Tôi đã từng gặp tình trạng này rồi
- Nếu là tôi, đàng nào cũng xài VBA thì tôi xài toàn bộ luôn, bỏ hết công thức
- Việc nhập liệu, nếu thấy thiếu thì nhập tiếp tục ở dưới, cớ sao phải "chèn"
- Trình tự thời gian có thể lộn xộn, nhưng sau khi bạn mang về xử lý, bạn có thể sort lại cho đúng ý đồ
Tôi cãm giác vấn đề lớn nhất của bạn không nằm ở công thức hay code mà nằm ở cách bố trí dử liệu ---> Bạn đưa lên 1 ít dử liệu xem thế nào nhé (bao gồm cả công thức bạn đang thiết lập)
- Tôi không biết về VBA nên tôi hạn chế dùng VBA để khi tôi cần thay đổi gì, tôi có thể tự làm chứ không phụ thuộc người khác.
- Nếu tiếp tục nhập ở dưới xong sort thì có bất cập sau: VD Trong 1 ngày tôi có nghiệp vụ nộp tiền vào TK và thanh toán cho KH qua TK đó. Người nhập nhập sót nghiệp vụ nộp tiền vào TK sau đó nhập bổ sung vào dòng dưới thì khi sort, trên sổ chi tiết TK tiền gửi có thể sẽ có số dư thời điểm sau khi chuyển tiền âm nên vô lý --> không chính xác.
 
- Tôi không biết về VBA nên tôi hạn chế dùng VBA để khi tôi cần thay đổi gì, tôi có thể tự làm chứ không phụ thuộc người khác.
- Nếu tiếp tục nhập ở dưới xong sort thì có bất cập sau: VD Trong 1 ngày tôi có nghiệp vụ nộp tiền vào TK và thanh toán cho KH qua TK đó. Người nhập nhập sót nghiệp vụ nộp tiền vào TK sau đó nhập bổ sung vào dòng dưới thì khi sort, trên sổ chi tiết TK tiền gửi có thể sẽ có số dư thời điểm sau khi chuyển tiền âm nên vô lý --> không chính xác.
Như tôi đã nói ở trên, bạn nên đưa 1 ít dử liệu (bao gồm công thức đang xài) lên đây ---> Biết đâu các cao thủ có cách gì đó hay hơn
 
Web KT
Back
Top Bottom