標題:
[發問]
資料剖析後刪除空白列
[打印本頁]
作者:
paddyliu
時間:
2013-5-5 22:40
標題:
資料剖析後刪除空白列
參考板上文章試寫一段資料剖析後刪除空白列的VBA,
資料剖析以|符號斷行,但執行出現以下問題:
1.一直不斷執行迴圈
2.刪除空白列是一整列空白,但目前執行看起來是刪除空白列後下方儲存格會上移,
請高手指點哪裡錯誤?感激不盡!
Sub 剖析刪空()
For Each a In Range("A:A")
h = Split(a, "|", 30, vbDatabaseCompare)
i = 1
For Each b In h
a.Offset(columnoffset:=i) = b
i = i + 1
Next
With Range("A1: BB1000").SpecialCells(xlCellTypeBlanks).Delete
End With
Next
End Sub
作者:
Hsieh
時間:
2013-5-5 23:37
回復
1#
paddyliu
刪除列,當然下方儲存格會上移,不知道你想要的刪除是甚麼意思?
作者:
paddyliu
時間:
2013-5-5 23:53
回復
2#
Hsieh
你好,舉例如下:
討債明細 一覽表
(空白列)
A125348 | 張小明 | $1235
V028684 | 陳大花 | $2598
(空白列)
V248514 | 章法華 | $7538
(空白列)
V425686 | 嚕啦啦 | $5485
我執行後變成&不斷迴圈
討債明細 一覽表
張小明 $1235
V028684 陳大花 $2598
V248514 章法華 $7538
V425686 嚕啦啦 $5485
V425686
但我要的結果是:
A125348 張小明 $1235
V028684 陳大花 $2598
V248514 章法華 $7538
V425686 嚕啦啦 $5485
作者:
genes
時間:
2013-5-6 02:23
回復
3#
paddyliu
move delete command outside "for loop"?
Sub 剖析刪空()
For Each a In Range("A:A")
h = Split(a, "|", 30, vbDatabaseCompare)
i = 1
For Each b In h
a.Offset(columnoffset:=i) = b
i = i + 1
Next
Next
With Range("A1: BB1000").SpecialCells(xlCellTypeBlanks).Delete
End With
End Sub
複製代碼
作者:
GBKEE
時間:
2013-5-6 06:28
回復
3#
paddyliu
Option Explicit
Sub Ex()
Dim E As Range, A As Variant
With Range("a:a")
.SpecialCells(xlCellTypeBlanks).Delete '空白列刪除:集中有資料範圍
For Each E In .SpecialCells(xlCellTypeConstants) '有資料範圍
A = Split(E, "|") '分割字串為陣列
E.Resize(, UBound(A) + 1).Value = A
Next
End With
End Sub
複製代碼
作者:
paddyliu
時間:
2013-5-6 09:28
回復
4#
genes
感謝指教,這寫法雖然不會loop,
但刪空的資料會全部向上位移,
就同如我上方的例子,
張小明 $1235
V028684 陳大花 $2598
V248514 章法華 $7538
V425686 嚕啦啦 $5485
V425686
如果以我的寫法是要更改那一段呢?
作者:
paddyliu
時間:
2013-5-6 12:09
回復
5#
GBKEE
感謝GBKEE,領教了,但請問這可以試用於每張工作表嗎?
如我今日開新檔案插入新活頁簿就無法執行了耶?
作者:
GBKEE
時間:
2013-5-6 12:42
本帖最後由 GBKEE 於 2013-5-6 12:43 編輯
回復
7#
paddyliu
如圖: 程式碼可用於每張工作表
[attach]14900[/attach]
程式碼如置於 其他工作表模組中
With
ActiveSheet
.Range("a:a") 作用中的工作表
作者:
paddyliu
時間:
2013-5-6 13:41
回復
8#
GBKEE
如果我想把它放在常用命令列→巨集→做一個快速存取的圖示在上方工具列,
以後只要按一下就可以執行,請問又該如何作業呢?
謝謝!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)