標題:
[發問]
VBA,多個工作表,同步刪除指定條件列
[打印本頁]
作者:
dennis
時間:
2014-5-27 19:28
標題:
VBA,多個工作表,同步刪除指定條件列
各位大大
小弟有個汽車交易的簡易檔
Sheet1及Sheet2是相關的
因為Sheet1會回傳Sheet2的資料
所以希望Sheet1 某引擎號碼列被刪除時
Sheet2 同樣的引擎號碼列,也都同步整列刪除
例如
Sheet1 D10儲存格 引擎號碼ABC1234
Sheet2 B13儲存格 引擎號碼也是ABC1234
那我在Sheet1刪除第10列整列時
Sheet2 第13列也同步整列刪除
找了2天,趴了很多文,都找不到這個方法
希望有好心的大大能幫幫我
感恩
作者:
GBKEE
時間:
2014-5-28 17:17
回復
1#
dennis
試試看
Option Explicit
Sub Ex()
Dim Rng As Range, Sh As Worksheet
For Each Sh In Sheets 'Sheets:工作表集合物件
Do
Set Rng = Sh.Cells.Find("ABC1234", Lookat:=xlWhole)
If Not Rng Is Nothing Then
Rng.EntireRow.Delete
Set Rng = Sh.Cells.Find("ABC1234", Lookat:=xlWhole)
End If
Loop Until Rng Is Nothing
Next
End Sub
複製代碼
作者:
dennis
時間:
2014-5-28 19:14
GBKEE大大:
非常感謝您的回復,不過有2個小問題
1.在sheet1是完全的整列刪除沒錯,但在sheet2卻只是刪除該儲存格,沒辦法完全的整列刪除
2.想請問是否可以,使用對話視窗來執行刪除指令
麻煩您了,非常感謝
作者:
dennis
時間:
2014-5-30 00:21
麻煩您了
謝謝
[attach]18411[/attach]
作者:
GBKEE
時間:
2014-6-1 07:41
回復
4#
dennis
是這樣嗎?
Sub Ex()
Dim Rng As Range, i As Integer
Set Rng = Sheets(1).Cells.Find("64631325", Lookat:=xlWhole) '第1張工作表中尋找引擎號碼
If Not Rng Is Nothing Then
Rng.EntireRow.Delete
For i = 2 To Sheets.Count '第2張工作表到最後一張工作表
Sheets(i).Cells.SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Delete
Next
End If
End Sub
複製代碼
作者:
dennis
時間:
2014-6-1 16:04
GBKEE大大:
首先非常感謝您的幫助:lol :lol :lol
不好意思
不知道是不是我不會使用,因為還是一樣
我是把您寫的VBA碼
分別複製到sheet1及Thisworkbook,但都一樣
在sheet1是完全的整列刪除沒錯,但在sheet2卻只是刪除該儲存格,沒辦法完全的整列刪除
:dizzy: :dizzy:
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)