hopty, Chào mừng bạn đến Diễn đàn Mrexcel. Tôi muốn tạo một macro sẽ tự động xóa các cột bằng tiêu đề nhất định [ví dụ: tên, tiêu đề, v.v.]. Bạn có biết nơi tôi có thể tìm thấy công thức như vậy không? Bạn sẽ cần một macro. Vui lòng đăng một ảnh chụp màn hình của [các] trang của bạn, những gì bạn có và những gì bạn mong đợi để đạt được, với Excel Jeanie HTML 4 [chứa hướng dẫn đồ họa]. //www.excel-jeanie-html.de/html/hlp_schnell_en.php
ABCDEfGH1first Trên thực tế, sẽ tốt hơn nếu có một macro sẽ tự động giữ các cột bằng các tiêu đề sau, chẳng hạn; First_name, last_name, address_num, city_name và School_color và xóa tất cả các cột khác. Xin lưu ý, tôi sử dụng bảng tính đơn giản này với một vài tiêu đề. Tôi có hơn 50 cột và tôi không muốn sử dụng tham chiếu cột [ví dụ: A1, B1] vì các cột có thể thay đổi nhưng tên của tiêu đề vẫn giữ nguyên khi tôi xuất dữ liệu khác. Lần nữa, cảm ơn bạn đã giành thời gian.
//www.excel-jeanie-html.de/html/hlp_schnell_en.php
Please note, I use this simple spreadsheet with few headers. My has 50+ columns and I don’t want to use columns reference [e.g., A1, B1] since the columns could change but the header's names remain the same when I export other data. Again, thank you for your time.
- #4
hopty, Trước khi macro có dữ liệu đi đến cột 55, BC:
Sheet1Sổ làm việc Excel
MộtBCDEFGHTôiJKLMNOPQ. 1 Một B C Họ Họ Id_num Địa chỉ_num Tên thành phố Mã Bưu Chính Tên trường School_color Tôi J K L M N 2
John thợ rèn 00-9898 1111 Thành phố một 91212 Bất kỳ trường học nào Trong khi
3
Hóa đơn Hàng không 12-1232 2222 Thành phố hai 92345 Thấp Màu đỏ
4
Matt Chia 33-3333 3333 Thành phố ba 92444 Cao Màu xanh da trời
Sau khi vĩ mô:
Sheet1
Sau khi vĩ mô:
Vui lòng kiểm tra điều này đầu tiên trong một bản sao của sổ làm việc của bạn [luôn tạo bản sao lưu trước khi thử mã mới, bạn không bao giờ biết những gì bạn có thể mất].
1. Copy the below macro, by highlighting the macro code and pressing the keys CTRL+C
2. Open your workbook
3. Press the keys ALT+F11 to open the Visual Basic Editor
4. Press the keys ALT+I to activate the Insert menu
5. Press M
to insert a Standard Module
6. Paste the code by pressing the keys CTRL+V
7. Press the keys ALT+Q to exit the Editor, and return to Excel.
Thêm macro 1. Sao chép macro bên dưới, bằng cách tô sáng mã macro và nhấn các phím Ctrl+C 2. Mở sổ làm việc của bạn 3. Nhấn các phím Alt+F11 để mở Trình chỉnh sửa Visual Basic 4. Nhấn các phím ALT+I để Kích hoạt menu Chèn 5. Nhấn M để chèn mô -đun tiêu chuẩn 6. Dán mã bằng cách nhấn các phím Ctrl+V 7. Nhấn các phím Alt+Q để thoát trình soạn thảo và quay lại Excel.
Option Explicit
Option Base 1
Sub DeleteColumns[]
Dim LC As Long, a As Long, b As Long, d As Long
Dim KeepColArray
Application.ScreenUpdating = False
KeepColArray = Array["First_Name", "Last_Name", "Address_Num", "City_Name", "School_Color"]
LC = Cells[1, Columns.Count].End[xlToLeft].Column
For a = LC To 1 Step -1
d = 0
For b = LBound[KeepColArray] To UBound[KeepColArray]
If Cells[1, a].Value = KeepColArray[b] Then
d = d + 1: If d > 0 Then Exit For
End If
Next b
If d = 0 Then
Cells[1, a].EntireColumn.Delete
End If
Next a
Application.ScreenUpdating = True
End Sub
Mã số:
Sau đó chạy macro "Deletecolumns".
- Đã chỉnh sửa lần cuối: ngày 11 tháng 5 năm 2009
#5 Nó hoạt động !!!
- Cảm ơn bạn rât nhiêu.
#6 Xin chào, chủ đề cũ tôi biết nhưng điều này có thể được điều chỉnh để xóa hàng? Tôi có một danh sách các tên được đặt trước bởi một số, ví dụ 1-Alan 2-joan Tôi muốn tờ của mình xóa toàn bộ hàng cho bất kỳ ai có số lượng trước là 8. Điều này có thể không?
Old thread I know but could this be adapted to delete rows?
I have a list of names that are all preceeded by a number, for example
1-Alan
2-Joan
I want my sheet to delete the entire row for anyone with a preceeding number of 8. Is this possible at all?
- Cảm ơn vì bạn đã dành thời gian.
#7
- Danh sách các tên nằm trong cột nào?
#số 8 Thêm macro 1. Sao chép macro bên dưới, bằng cách tô sáng mã macro và nhấn các phím Ctrl+C 2. Mở sổ làm việc của bạn 3. Nhấn các phím Alt+F11 để mở Trình chỉnh sửa Visual Basic 4. Nhấn các phím ALT+I để Kích hoạt menu Chèn 5. Nhấn M để chèn mô -đun tiêu chuẩn 6. Dán mã bằng cách nhấn các phím Ctrl+V 7. Nhấn các phím Alt+Q để thoát trình soạn thảo và quay lại Excel.
Use this script:Sub Remove_8[]
Application.ScreenUpdating = False
Dim i As Integer
Dim Lastrow As Long
Dim xx As String
Lastrow = Cells[Rows.Count, "A"].End[xlUp].Row
For i = Lastrow To 1 Step -1
xx = Left[Cells[i, 1].Value, 1]
If xx = "8" Then
Rows[i].Delete
End If
Next
Application.ScreenUpdating = True
End Sub
- Mã số:
bobbybrown, Sau đó chạy macro "Deletecolumns". Đã chỉnh sửa lần cuối: ngày 11 tháng 5 năm 2009 #5 Nó hoạt động !!!
Sheet1 Cảm ơn bạn rât nhiêu.
Một 1 B 2 C 3 D 4 E 5 F 6 G 7 H 8 Tôi 9
J
Sheet1
Sau khi vĩ mô:
Vui lòng kiểm tra điều này đầu tiên trong một bản sao của sổ làm việc của bạn [luôn tạo bản sao lưu trước khi thử mã mới, bạn không bao giờ biết những gì bạn có thể mất].
2. Open your NEW workbook
3. Press the keys ALT + F11 to open the Visual Basic Editor
4. Press the keys ALT + I to activate the Insert menu
5. Press M to insert a Standard Module
6. Where
the cursor is flashing, paste the code
7. Press the keys ALT + Q to exit the Editor, and return to Excel
8. To run the macro from Excel press ALT + F8 to display the Run Macro Dialog. Double Click the macro's name to Run it.
Thêm macro 1. Sao chép macro bên dưới, bằng cách tô sáng mã macro và nhấn các phím Ctrl+C 2. Mở sổ làm việc của bạn 3. Nhấn các phím Alt+F11 để mở Trình chỉnh sửa Visual Basic 4. Nhấn các phím ALT+I để Kích hoạt menu Chèn 5. Nhấn M để chèn mô -đun tiêu chuẩn 6. Dán mã bằng cách nhấn các phím Ctrl+V 7. Nhấn các phím Alt+Q để thoát trình soạn thảo và quay lại Excel.
Sub DeleteRowsBeginningWith8[]
' hiker95, 06/14/2015, ME389332
Dim rng As Range
With Sheets["Sheet1"] '