2013-06-23 47 views
0

我只是想知道是否有可能從地址中減去某些東西?我的意思是像data.Address -1?VBA減去地址

我在這裏有一個代碼,它會根據關鍵字返回一個單元格的地址。我想要做的是找到關鍵字(及其地址)後,我想從中減去1,以便我試圖找到的關鍵字不會被刪除。

Set ws = Sheets("Target") 

lastRow = ws.Range("A" & Rows.Count).End(xlUp).row 

wordSearch = "data" 

Set aCell = ws.Range("A1:A" & lastRow).Find(What:=wordSearch, LookIn:=xlValues, _ 
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlDown, _ 
MatchCase:=False, SearchFormat:=False) 

Sheets("Target").Range("A1:" & aCell.Address).Select 
Application.CutCopyMode = False 
Selection.delete Shift:=xlUp 

回答

0

如果試圖刪除上面坐aCell所有行的內容,嘗試用

Sheets("Target").Range("A1:" & aCell.offset(-1,0).Address).ClearContents 

更換

Sheets("Target").Range("A1:" & aCell.Address).Select 

您沒有選擇範圍,以便下次兩條線可以被刪除。

如果你實際上是試圖刪除上述aCell行,也最多(而不是僅僅刪除)轉移剩餘行,儘量

Sheets("Target").Range("A1:" & aCell.Offset(-1, 0).Address).Delete shift:=xlUp 

而不是.ClearContents方法。

+1

ClearContents不會移動它們,這是Erin在原始代碼中所做的。 –

+0

@DougGlancy - 感謝您指出:我相應地修改了原來的答案。 – Ioannis

+0

感謝loannis! :) –