我不明白爲什麼人們浪費了很多時間來精確地搜索他們需要的代碼,以解決他們獨有的問題。學習VBA的基礎知識並自行編寫解決方案會容易得多
搜索「Excel VBA教程」。有很多選擇,所以選擇一個符合你的學習風格。我更喜歡書籍。我參觀了一個好的圖書館;借用了最有前途的Excel VBA Primer在家學習,然後購買了我最喜歡的永久參考書。幾個小時學習VBA,你可以解決這個問題,下一個和下一個沒有浪費時間在網絡上游蕩,看看你不明白的代碼。
想想你的需求。我假設c28=c29=c30=c31
就是一個例子。 c31=c32=c33=c34
也會引起您的興趣。你需要概括你的規範。
我將用Cells(28, "C")
替換c28
,這恰好是VBA語法,但在此階段任何合適的符號都可以使用。我想你的意思是:
Cells(RowCurrent, "C") = Cells(RowCurrent+1, "C") And _
Cells(RowCurrent, "C") = Cells(RowCurrent+2, "C") And _
Cells(RowCurrent, "C") = Cells(RowCurrent+3, "C")
爲RowCurrent
所有的允許值。
RowCurrent
的允許值是多少?如果您有一個標題行,則第一個數據行將爲2
,因此RowCurrent
的最小值將爲2
。如果RowLast
是工作表的最後一個使用行,則RowCurrent
的最大值爲RowLast – 3
。
當你說e28:e31
你的意思是細胞e28,c29,c30和e31已合併?
你的意思e28:e31
包含.tif
或e28:e31
結束.tif
?你會保留abc.tif.txt
?編程時,您的規格必須絕對精確。電腦會按照你所說的去做,而不是你的意思。
你說你有很多工作表,並且你想依次閱讀它們中的每一個。我希望任何教程都能解釋如何遍歷工作簿的所有工作表。或者,這是您可以搜索的問題。如果你有一個單一的要求,你通常可以找到一個合適的匹配。換句話說,尋找D可能很容易,但尋找A和D並且我很困難。
每個工作表都有一個外部循環。您需要查找每個工作表的最後一個使用行。你有一個內部循環的每個行塊。你需要刪除不感興趣的塊。我希望你學習如何從你的教程中完成每一個。你能把這四種獨立的技術放在一起嗎?
我只能看到一個嚴重的併發症與您的要求;你不刪除不感興趣的行,你保持有趣的行。如果您檢查第2到第5行並發現它們不符合您的模板,則不能刪除它們,因爲第3到第6行可能符合您的模板。我不相信你可能會找到任何符合這個要求的代碼。你將不得不自己設計解決方案。我有幾條建議,但在提出建議之前,我需要對您的確切要求有更多的信心。
我看到你在Excel中是VBA的新手,有沒有你迄今嘗試過的東西? – Soulfire
哈哈「空着」? http://stackoverflow.com/questions/11562093/delete-rows-based-on-condition-in-a-column?s=6|2.6246 http://stackoverflow.com/questions/14613609/how-to-delete -row-based-cell-value?s = 4 | 2.8762 http://stackoverflow.com/questions/11317172/delete-row-based-on-condition?s=7|2.6021 http://stackoverflow.com /questions/30055943/how-to-delete-rows-based-on-criteria-from-2-columns-in-vba?s=13|2.3984 http://stackoverflow.com/questions/28349141/delete-rows-基於標準的多列?s = 14 | 2.3781 – findwindow
@findwindow - 你真的笑出聲來嗎?我只是試圖想象你坐在你的電腦像一個鬣狗在這咯咯咯咯... –