- 帖子
- 1447
- 主題
- 40
- 精華
- 0
- 積分
- 1471
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2025-5-5
|
17#
發表於 2023-10-25 11:51
| 只看該作者
回復 16# sschristy
以下是批次刪除選取的列資料(選取格列攔>按鈕) 或 全部列資料刪除(整表選取>按鈕)
Private Sub CommandButton2_Click()
Dim Q, A$, i&, n&, xI As Range, Brr, xA As Range, xB As Range
Set xA = Selection.Cells: Set xB = ActiveSheet.UsedRange
If xA.EntireRow.Count > xB.Rows.Count Then Set xA = Intersect(xA, xB)
If xA Is Nothing Then Exit Sub
Set xI = Intersect(Range([A1], xB), [A:G]): Brr = xI
For Each Q In Split(xA.EntireRow.Address(0, 0), ",")
For i = Split(Q, ":")(0) To Split(Q, ":")(1)
A = IIf(A = "", "/" & Val(i) & "/", A & Val(i) & "/")
Next
Next
For i = 4 To xI.Rows.Count
If InStr(A, "/" & i & "/") Then GoTo i01 Else n = n + 1
For j = 1 To UBound(Brr, 2): Brr(n, j) = Brr(i, j): Next
i01: Next
xI.Offset(3, 0).ClearContents
If n = 0 Then Exit Sub
[A4].Resize(n, UBound(Brr, 2)) = Brr
End Sub |
|