我正在研究一個模型,該模型要求我在將數據複製到另一個工作表上的不同模板之前,按日期範圍對數據進行排序。每行都有一個公式,可以從彭博社獲取數據,因此即使該單元格看起來是空的,Excel也會識別出單元格中有內容。按照原樣對日期列進行排序不起作用,因爲excel不會識別彭博社提供的日期數據,因此它將從A到Z排序,而這會對日期進行加擾。Excel:按日期排序表,空行在範圍內
要解決這個問題,我插入公式(使用單元格A1作爲示例)「=(A1 + 0)」的相鄰列,然後允許列從新到舊排序。這裏的問題是,如果單元格A1不顯示日期(換句話說,它看起來是空的,但單元格包含一個公式,如果沒有日期被拉出,單元格看起來是空的),它會返回一個#VALUE!錯誤和排序新舊將把錯誤的頂部(謝謝Excel的這個奇妙的功能,順便說一句)。
要解決這個新問題,我用「= IFERROR(A1 + 0,1)」替換了單元格中的上述公式,它給出了日期1/1/1900。很好,現在數據按照我想要的方式排序,但我有一堆古老的日期,只會讓我的最終產品看起來很醜。
我有兩個問題,第一個;如何使用VBA刪除日期等於1(顯示日期爲1/1/1900)的單元格中的數據,以及只有那些單元格?或者,也可以只複製包含1/1/1900的單元格上方的行。這是一個相對較少的細胞數量,最多可以影響40個細胞。
秒;有沒有不同的方式來使用我缺少的VBA對數據進行排序,這可能會更有效?
我不明白爲什麼'=(A1 + 0)'導致錯誤。無論如何。如果你嘗試'= IFERROR(A1 + 0,「」)'? –
如果單元格A1中的公式沒有提取日期,則它會被excel視爲文本。道歉,我沒有更清楚地表明這個單元格實際上並不是空的,它只是沒有從彭博社取得一個日期,因爲在另一個單元格中缺少一個Cusip。 「IFERROR」公式適用於清理查找,但是,當我將列從新到舊排序時,它會首先放置空白結果。這產生了頂部有X個「空」行的問題。 感謝您的協助,我將編輯問題以澄清問題,以「A1」 – Jon0311
好吧,我們可以編寫一個mcro來一次正確地對範圍進行排序。你想排序的範圍和列的範圍是什麼? –