返回列表 上一主題 發帖

刪除列之vba寫法

刪除列之vba寫法

求較各位先進
   在 Sheet1內 想 刪除 column c 內 非屬於 cat  之各列 應如何寫
        A      B        C      D
1     23    34    cat     34
2     12    23    dog   23
3     34    12     yy     12
4     45    34    cat     45
5     23    23    dog    23
刪除  2 3 5 Rows  只剩
         A      B        C      D
  1     23    34    cat     34
  2     45    34    cat     45
   thanks

am0251
  對不起無法看到你的解答是否可再上傳謝謝

TOP

多謝已經在測試再次感謝一列一列刪好像很慢 (因為有很多資料)
         無論如何謝謝

TOP

謝謝各位熱心的指導 再次感謝

TOP

再度請較如果要分開來執行刪除應如何寫
          a    b    c    d       e    f    g    h
      ----------------------------------
1      2    3    x    1       2    1   y    1
2      1    2    y    3       2    3   x    3
3      3    2    x    2       3    2   x    2
4      2    3    z    3       4    2   x    3

即 a b c d 行 一組執行   [c:c].Find("x")     若非 x 刪 range(a2:d2) and (a4:d4)  不一定是2 ,4列
另一組 e f g h 行 執行   [g:g].Find("x")      若非 x 刪 range(e1:h1)   不一定是 列1
  這樣是否可行?

另外還有一個問題想請教
  sheet1 式自動篩選 含有隱藏列    5-10 若右手動執行copy a1:h20 至sheet2可以貼上(值)
  但是使用 vba來執行 卻不可貼上  出現 400警告圖  請教各位前輩應如寫此 vba  
謝謝

TOP

再求教 oobird 先進
Sub delrow()
r = [c:c].Find("cat").Row
[c:c].ColumnDifferences(Cells(r, 3)).Delete (3)
End Sub

    在 Sheet1內 想 刪除 column c 內 屬於 ""  之各列 應如何寫
         A      B        C      D
1     23    34              34
2     12    23    dog   23
3     34    12              12
4     45    34    cat     45
5     23    23              23
刪除  1 3 5 Rows  只剩
          A      B        C      D
   1     12    23    dog   23
   2     45    34    cat     45
    thanks

TOP

多謝你的指導
   但是其他 rows 還有空格 所以執行時全部刪除

TOP

再度求教 oobird 先進
SpecialCells(4).  4是何意思或作用
Sub delrow()
r = [c:c].Find("").Row
[c:c].SpecialCells(4).Delete (3)
End Sub
所有資料全刪

我把C位移至E
         A      B      C      D       E      F
1                     23    34              34
2             12           23    dog   23
3            34    12                      12
4     45                   34    cat     45
5     23    23                             23
刪除  1 3 5 Rows  只剩
           A      B        C      D      E       F
    1            12              23    dog   23
    2     45                     34    cat     45
   
Sub delrow()
r = [E:E].Find("").Row
[E:E].SpecialCells(4).Delete (3)
End Sub
       修改如下是否正確?          TKS

TOP

oobird 先進
謝謝你的解說  試一下可行

請教一個問題 在純空格上執行 完全沒問題
若是再用 copy 貼上則無法執行 是否在4這個指令尚有問題?
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

TOP

        靜思自在 : 要批評別人時,先想想自己是否完美無缺。
返回列表 上一主題