返回列表 上一主題 發帖

[發問] ~ 發現一個新的問題 關於IF判斷式

如何用VBA將資料中不要的空白列刪除,而將資料整合呢??

最近面臨到問題是資料已經篩選好了,因為將不要的資料整列刪除,只留下要的資料,導致資料之間有空格存在,
EX:
     A     B     C    D    E .....
1  甲   10   20
2
3 丙   30    50
4
5 丁  60    80
因為資料很多,有辦法使用VBA將資料整合成以下這樣嗎???   謝謝大家
  A     B     C    D    E .....
1  甲   10   20
2  丙   30    50
3  丁  60    80
4
5

TOP

http://support.microsoft.com/kb/2679461/zh-tw

TOP

回復 1# willy1205
  1. Sub Ex()
  2.     Range("A:C").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  3.     'SpecialCells        特殊目標
  4.    'xlCellTypeBlanks 空格
  5.    'EntireRow          整個列
  6. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 3# GBKEE


   謝謝大大!!
work very well!

TOP

回復 3# GBKEE


    再請問大大一個問題,我再指定按鈕巨集的時候出現錯誤:

formula is too complex to be assigned to object

這個原因是為什麼??之前都好好的怎麼今天要多寫幾個按鈕就出錯了,該怎麼解決??

TOP

回復 5# willy1205
formula is too complex to be assigned to object
公式太複雜要分配給對象
按鈕刪除,存檔後關閉Excel,開啟檔案設按鈕試試看
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 6# GBKEE


   喔喔 OK

在問一下 如果我的資料上面第一行是有文字的並且需要保留下來
EX :
            A         B       C .. ..
1       人名  金錢    性別
2        甲      100     M
這樣的話 我再範圍那邊要做什麼修改呢??   Range("A:C").

謝謝

TOP

回復 7# willy1205
  1. Option Explicit
  2. Sub Ex()
  3.     Dim R As Long
  4.     R = Range("A" & Rows.Count).End(xlUp).Row    'A欄由最後一列往上到有資料的列號
  5.     Range("A2:C" & R).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  6.     'SpecialCells       特殊目標
  7.     'xlCellTypeBlanks   空格
  8.     'EntireRow          整個列
  9. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

如果是下列情況時
              A          B         C  
1           01        03      04

2                       05

3           06        07       08

4

5          09          10       11
第二列無法刪除用何種方式設定?

TOP

回復 9# lp986749
  1. Option Explicit
  2. Sub Ex() '.SpecialCells(xlCellTypeBlanks).EntireRow 如 9# 的重疊區域 程式無法刪除
  3.     With Range("A:C")
  4.      '   MsgBox .SpecialCells(xlCellTypeBlanks).EntireRow.Address
  5.         'A2,C2 會有重疊區域 $2:$2,$2:$2,$4:$4
  6.         Intersect(.Cells, .SpecialCells(xlCellTypeBlanks).EntireRow).Delete xlUp
  7.         'Intersect 方法 傳回 Range 物件,此物件代表兩個或多個範圍重疊的矩形範圍。
  8.         '整合為不重疊的區域,程式即可刪除
  9.     End With
  10.     'SpecialCells       特殊目標
  11.     'xlCellTypeBlanks   空格
  12.     'EntireRow          整個列
  13. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 待人退一步,愛人寬一寸,就會活得很快樂。
返回列表 上一主題