0
我覺得這應該是一個足夠簡單的任務,但我沒有足夠的經驗,用Excel VBA知道如何處理它。基本上我想看看連續的兩個單元格,如果他們兩個都有特定的日期,就做點什麼。這兩個單元格將始終位於兩個特定列中的一列中。如何將一列中的日期與另一列中同一行中的單元格進行比較?
例如,如果D2和I2中的日期都早於11月,那麼我想對該行執行某些操作並移至下一行。然後,如果D3和I3中的日期都比11月早,那麼我想對該行做些什麼,然後移動到下一行。等等,等等......
我的問題不是關於如何做所有的步驟。這真的是關於如何去做這個比較。我知道如何通過執行以下操作來選擇只是這兩列的單元格:
Union(Range(Cells(2, 4), Cells(Rows.Count, 4).End(xlUp)), _
Range(Cells(2, 9), Cells(Rows.Count, 9).End(xlUp))).Select
但隨後發生在我身上,我不知道我怎麼會去比較兩個列的各個小區。我只知道如何遍歷每個單元格的一個列。
任何幫助將不勝感激。
一些意見改進:總是用'Range.Value'和更好的甚至'Value2'在你的代碼。 2012年11月1日不是VBA的日期,它是11除以1除以2012年的11/2012th ...在您的代碼中有一些有趣的假設(爲什麼'Sheets(1)'?)。變量的命名不是非常具有說明性('rng'和'cel'),特別是如果在「進程代碼」位中有更多代碼位 –
謝謝,Scott,我知道有一個更簡單的方法來處理它,但是我忘了去偏移量。 @K_B,你是對的斯科特的代碼並不完美,但我尋找的不是一個完美的執行,而是一個想法,所以這對我很好。希望看到這個的其他人能看到你的評論。 – Mike
@K_B - 感謝您的評論。正如邁克所說,我只是把它寫成一個概念,所以這就是爲什麼它有點拼湊。但是,由於編寫不好的代碼是不好的做法,我做了一些編輯以改進可能查看答案的其他人。 –