Hướng dẫn excel vba delete rows using variables - excel vba xóa các hàng bằng cách sử dụng các biến

Tôi muốn xóa các hàng từ 2 đến z (z> 2). Tôi đã viết 2 phương pháp nhưng không hoạt động. Tôi đã tìm kiếm câu trả lời nhưng không tìm thấy một giải pháp.

'.Rows("2:" & z).Select  
.Range(Cells(2, 1), Cells(z, 10)).Select  
Selection.Delete Shift:=xlUp

Cảm ơn bạn trước.

Hướng dẫn excel vba delete rows using variables - excel vba xóa các hàng bằng cách sử dụng các biến

Đã hỏi ngày 8 tháng 3 năm 2017 lúc 13:55Mar 8, 2017 at 13:55

2

Bạn cần chỉ định bạn muốn chọn các hàng có

.Range(.Rows(2), .Rows(z)).Delete Shift:=xlUp
7, vì phạm vi của bạn chỉ là một vài ô:

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp

Hoặc cách sạch hơn nếu bạn trực tiếp sử dụng

.Range(.Rows(2), .Rows(z)).Delete Shift:=xlUp
8:

.Range(.Rows(2), .Rows(z)).Delete Shift:=xlUp

Hoặc

.Rows("2:" & z).Delete Shift:=xlUp

Đã trả lời ngày 8 tháng 3 năm 2017 lúc 14:02Mar 8, 2017 at 14:02

Hướng dẫn excel vba delete rows using variables - excel vba xóa các hàng bằng cách sử dụng các biến

R3uKR3uKR3uK

14.3k7 Huy hiệu vàng41 Huy hiệu bạc76 Huy hiệu đồng7 gold badges41 silver badges76 bronze badges

3

Bạn có thể sử dụng một dòng đơn giản này để xóa bất kỳ số lượng hàng nào bạn cần.

Rows("2:" & Z).Delete

Đã trả lời ngày 8 tháng 3 năm 2017 lúc 14:01Mar 8, 2017 at 14:01

Hướng dẫn excel vba delete rows using variables - excel vba xóa các hàng bằng cách sử dụng các biến

1

  • #1

Ngay bây giờ tôi có cái này:

Mã số:

        Sheets(i).Select
        Rows("62:180").Delete Shift:=xlUp

Thay vào đó tôi muốn làm

Mã số:

Rows(Var1:Var2).Delete Shift:=xlUp

Thay vào đó tôi muốn làm

Cú pháp thích hợp là gì?

Sự thật Excel

Bảng tính Mr là ai?

Tác giả John Walkenbach là bảng tính của ông cho đến khi nghỉ hưu vào tháng 6 năm 2019.

Joemo

MREXCEL MVP

  1. 365
  2. 2010
Đã tham gia vào ngày 26 tháng 5 năm 2009Messages17.989 Offere
  1. Nền tảng

  • các cửa sổ

#2

Mã số:

Dim x As Long, y As Long
x = 5
y = 10
Range(Cells(x, 1), Cells(y, 1)).EntireRow.Delete shift:=xlUp

Thay vào đó tôi muốn làm

Cú pháp thích hợp là gì?

Sự thật Excel

  1. 365
Đã tham gia vào ngày 26 tháng 5 năm 2009Messages17.989 Offere
  1. Nền tảng
  2. các cửa sổ
  3. #2

  • Đây là một cách - các biến là x và y:

Tóc giả

Mã số:

    x = 5
    y = 10
    Rows(x & ":" & y).Delete

Thay vào đó tôi muốn làm

Cú pháp thích hợp là gì?

Hướng dẫn excel vba delete rows using variables - excel vba xóa các hàng bằng cách sử dụng các biến

Hướng dẫn excel vba delete rows using variables - excel vba xóa các hàng bằng cách sử dụng các biến

Trong bài viết này

  • Xóa toàn bộ hàng hoặc cột
    • Xóa nhiều hàng hoặc cột
  • Xóa các hàng trống / trống
    • Xóa hàng nếu ô trống
  • Xóa hàng dựa trên giá trị ô
  • Thêm các ví dụ về hàng và cột xóa
    • Xóa các hàng trùng lặp
    • Xóa các hàng bảng
    • Xóa các hàng được lọc
    • Xóa hàng trong phạm vi
    • Xóa các hàng đã chọn
    • Xóa hàng cuối cùng
    • Xóa cột theo số

Để xóa một cột theo số của nó, hãy sử dụng mã như thế này:

Xóa toàn bộ hàng hoặc cột

Hướng dẫn này sẽ trình bày các cách khác nhau để xóa các hàng và cột trong Excel bằng VBA.

Rows(1).Delete

Để xóa toàn bộ hàng trong VBA, hãy sử dụng dòng mã này:Delete method to delete a row.

Lưu ý rằng chúng tôi sử dụng phương thức xóa để xóa một hàng.Rows Object, you can reference rows based on their Range Object with EntireRow:

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
0

Tương tự như xóa toàn bộ cột, sử dụng các dòng mã sau:

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
1
.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
2

Xóa nhiều hàng hoặc cột

Sử dụng cùng một logic, bạn cũng có thể xóa nhiều hàng cùng một lúc:

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
3

hoặc cột:

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
4

Lưu ý ở đây, chúng tôi tham khảo các số / số / chữ cái cụ thể được bao quanh bởi các trích dẫn.

Tất nhiên, bạn cũng có thể tham khảo toàn bộ một phạm vi:

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
5

Lưu ý: Các ví dụ dưới đây chỉ thể hiện việc xóa các hàng, tuy nhiên như bạn có thể thấy ở trên, cú pháp gần như giống hệt nhau để xóa các cột.

Xóa các hàng trống / trống

Ví dụ này sẽ xóa một hàng nếu toàn bộ hàng trống:

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
6

Nó sử dụng chức năng bảng tính Excel: Counta.

Xóa hàng nếu ô trống

Điều này sẽ xóa một hàng nếu cột cụ thể trong hàng đó trống (trong trường hợp này là cột B):

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
7

Xóa hàng dựa trên giá trị ô

Điều này sẽ lặp qua một phạm vi và xóa các hàng nếu một giá trị ô nhất định trong hàng đó nói rằng xóa xóa.

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
8

Thêm các ví dụ về hàng và cột xóa

Mã hóa VBA được thực hiện dễ dàng

Ngừng tìm kiếm mã VBA trực tuyến. Tìm hiểu thêm về Automacro - Trình tạo mã VBA cho phép người mới bắt đầu mã hóa các quy trình từ đầu với kiến ​​thức mã hóa tối thiểu và với nhiều tính năng tiết kiệm thời gian cho tất cả người dùng!

Hướng dẫn excel vba delete rows using variables - excel vba xóa các hàng bằng cách sử dụng các biến

Tìm hiểu thêm !!

Xóa các hàng trùng lặp

Mã này sẽ xóa tất cả các hàng trùng lặp trong một phạm vi:

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
9

Lưu ý Chúng tôi đặt cột: = 2. Điều này bảo VBA kiểm tra cả hai cột dữ liệu đầu tiên khi xem xét liệu các hàng có phải là trùng lặp hay không. Một bản sao chỉ được tìm thấy khi cả hai cột có giá trị trùng lặp.

Nếu chúng tôi đã đặt cái này thành 1, chỉ có hàng đầu tiên sẽ được kiểm tra các giá trị trùng lặp.

Xóa các hàng bảng

Mã này sẽ xóa hàng thứ hai trong bảng bằng cách tham chiếu ListObjects.

.Range(.Rows(2), .Rows(z)).Delete Shift:=xlUp
0

Xóa các hàng được lọc

Để chỉ xóa các hàng hiển thị sau khi lọc:

.Range(.Rows(2), .Rows(z)).Delete Shift:=xlUp
1

Lập trình VBA | Bộ tạo mã không hoạt động cho bạn!

Xóa hàng trong phạm vi

Mã này sẽ xóa tất cả các hàng trong phạm vi:

.Range(.Cells(2, 1), .Cells(z, 10)).EntireRow.Delete Shift:=xlUp
5

Xóa các hàng đã chọn

Mã này sẽ xóa tất cả các hàng đã chọn:

.Range(.Rows(2), .Rows(z)).Delete Shift:=xlUp
3

Xóa hàng cuối cùng

Điều này sẽ xóa hàng được sử dụng cuối cùng trong cột B:

.Range(.Rows(2), .Rows(z)).Delete Shift:=xlUp
4

Bằng cách thay đổi 2 thành 1, bạn có thể xóa hàng được sử dụng cuối cùng trong cột A, v.v.:

.Range(.Rows(2), .Rows(z)).Delete Shift:=xlUp
5

Xóa cột theo số

Để xóa một cột theo số của nó, hãy sử dụng mã như thế này:

.Range(.Rows(2), .Rows(z)).Delete Shift:=xlUp
6

Làm cách nào để xóa các hàng trong Excel dựa trên giá trị ô trong VBA?

Sử dụng một macro để xóa các hàng dựa trên các giá trị ô, quá trình tổng thể là hai bước đơn giản: bước đầu tiên là lọc các hàng dựa trên tiêu chí lọc cho các giá trị bị xóa. Sau đó, macro xóa các ô có thể nhìn thấy trong phạm vi.filter the rows based on filter criteria for the values to be deleted. Then the macro deletes the visible cells in the range.

Làm cách nào để xóa hàng trong excel với giá trị nhất định?

Mẹo.Bạn chỉ có thể tô sáng phạm vi chứa các giá trị bạn muốn xóa.Sau đó, sử dụng phím tắt Ctrl + - (trừ trên bàn phím chính) để lấy hộp thoại Xóa Excel tiêu chuẩn cho phép bạn chọn toàn bộ nút RADIO hàng hoặc bất kỳ tùy chọn xóa nào khác bạn có thể cần.use the shortcut Ctrl + - (minus on the main keyboard) to get the standard Excel Delete dialog box allowing you to select the Entire row radio button, or any other deleting option you may need.

Làm thế nào để bạn tự động xóa hàng dựa trên giá trị ô?

Dưới đây là các bước đơn giản để xóa các hàng trong Excel dựa trên giá trị ô như sau:..
Bước 1: Hộp thoại Tìm & Thay thế đầu tiên ..
Bước 2: Trong tab Thay thế, làm cho tất cả các ô đó chứa các giá trị null bằng trống ..
Bước 3: Nhấn F5 và chọn tùy chọn trống ..
Bước 4: Nhấp chuột phải vào bảng hoạt động và chọn Xóa hàng ..