2016-06-15 107 views
-1

我的問題類似於這個VBA - Find first and last row containing specific text,但我需要一些調整。我列A值刪除刪除結束,並- 只有(破折號),我需要獲得第一行,其中刪除是和最後一個行,其中刪除結束是。VBA - 查找重複文本的第一行和最後一行

Rows Column A 
1  Delete 
2  Delete 
3  Delete end 
4  - 
5  - 
6  - 
7  - 
8  Delete 
9  Delete end 

編輯: 我想提取行1和3,以及圖8和9,而不是像A1的範圍內:A3。我應該怎麼做這個方法?

+0

你說的提取行是什麼意思?你想在你的代碼中解決這些範圍嗎?你想要行號嗎?你想在另一個單元格中寫入文本「A1:A3」嗎? – Sun

+0

哦,我的意思是行號,而不是範圍「A1:A3」,所以應該是1和3.太專注於查看列。抱歉。 – Meltdowner

回答

1

希望這是你想要的。

假設與A2數據開始..

Sub test() 
    Dim lastrow As Long, i As Long 
    Dim startaddress As String, endaddress As String, alladdress As String 
    lastrow = Range("A" & Rows.Count).End(xlUp).Row 
    For i = 2 To lastrow 
     If Cells(i, 1) = "Delete" Then 
      startaddress = Cells(i, 1).Address 
      Do While Cells(i, 1) <> "Delete end" 
       i = i + 1 
      Loop 
      endaddress = Cells(i, 1).Address 
      If alladdress <> "" Then 
       alladdress = alladdress & ", " & startaddress & ":" & endaddress 
      Else 
       alladdress = startaddress & ":" & endaddress 
      End If 
     End If 
    Next i 
    Cells(2, 2) = alladdress 
End Sub 

enter image description here

+0

嗨,謝謝你的回答,但是我的問題出現了錯誤。我想要的是行號,而不是範圍。在這種情況下,我應該將startaddress = Cells(i,1).Address更改爲.Rows? – Meltdowner

+0

我明白了,謝謝。剛剛將startaddress和endaddress更改爲.Row。 – Meltdowner

相關問題