標題:
格式比對
[打印本頁]
作者:
ayubbs
時間:
2013-8-22 00:05
標題:
格式比對
各位大大好~
有一個問題想請教,如何使用vba比對2個儲存格內容
比如 a b c 欄中各有資料但並非全數都有資料,可否做到 如果a內無資料 而c內有資料就刪除該列所有資料,
a欄內有資料c欄內也有資料就跳過檢查下一列
此動作於前置其它動作完成之後才進行而非一啟動立即執行,因有部份資料可能在前置動作中會加入需於最後
才作動,謝謝大大版的指導。
作者:
Hsieh
時間:
2013-8-22 09:13
回復
1#
ayubbs
Sub ex()
If Application.CountA([C:C]) = 0 Then Exit Sub 'C欄沒有任何資料就結束程序
For Each A In Range("C:C").SpecialCells(xlCellTypeConstants) '遍歷C欄所有資料
If A.Offset(, -2) = "" Then A.Clear 'A欄為空白就清除C欄
Next
End Sub
複製代碼
作者:
ayubbs
時間:
2013-8-22 10:58
[attach]15831[/attach]
回復
2#
Hsieh
感謝指導,在使用時發生錯誤有以下訊息
[attach]15831[/attach]
大大所使用的方式是否為a欄中某格無值清除該列除料,但若想將其變成刪除該列避免產空的一列資料不好看,又該如何使用
謝謝
作者:
Hsieh
時間:
2013-8-22 13:28
回復
3#
ayubbs
Sub ex()
Dim A as Range
If Application.CountA([C:C]) = 0 Then Exit Sub 'C欄沒有任何資料就結束程序
For Each A In Range("C:C").SpecialCells(xlCellTypeConstants) '遍歷C欄所有資料
If A.Offset(, -2) = "" Then A.Clear 'A欄為空白就清除C欄
Next
End Sub
複製代碼
作者:
ayubbs
時間:
2013-8-22 13:38
回復
4#
Hsieh
謝謝版大已可正常執行,如條件符合,那可否改成刪除列,而不是只清除C欄內的值
作者:
Hsieh
時間:
2013-8-22 13:47
回復
5#
ayubbs
Sub ex()
Dim A As Range, Rng As Range
If Application.CountA([C:C]) = 0 Then Exit Sub 'C欄沒有任何資料就結束程序
For Each A In Range("C:C").SpecialCells(xlCellTypeConstants) '遍歷C欄所有資料
If A.Offset(, -2) = "" Then
'A.Clear 'A欄為空白就清除C欄
If Rng Is Nothing Then Set Rng = A.EntireRow Else Set Rng = Union(Rng, A.EntireRow)
End If
Next
Rng.Delete
End Sub
複製代碼
作者:
ayubbs
時間:
2013-8-22 14:08
回復
6#
Hsieh
真是太感謝~太好用了....
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)