首先,我不知道如何在Excel中編寫宏,但現在我必須爲朋友編寫代碼。所以,我們走了。 在我的Excel表格中,我有一張表,其中包含一些生產者作爲列和一年中的12個月行。在它們相交的單元格中,寫入了製造商在該月份生產的產品數量。現在我需要在每個月內查找生產商品的最大值和最小值,並輸出該商品的生產者。 我找到了一個類似問題的代碼,但我不明白,它有錯誤。 下面是代碼:使用宏獲取Excel中列的最大值
Sub my()
Dim Rng As Range, Dn As Range, Mx As Double, Col As String
Set Rng = Range(Range("A1"), Range("A6").End(xlUp))
ReDim ray(1 To Rng.Count)
For Each Dn In Rng
Mx = Application.Max(Dn)
Select Case Mx
Case Is = Dn.Offset(, 0): Col = "A"
Case Is = Dn.Offset(, 1): Col = "B"
Case Is = Dn.Offset(, 2): Col = "C"
Case Is = Dn.Offset(, 3): Col = "D"
End Select
ray(Dn.Row - 1) = Col
Next Dn
Sheets("Sheet2").Range("A2").Resize(Rng.Count) = Application.Transpose(ray)
End Sub
我得到以下錯誤: 所以我的問題是,這是什麼意思的錯誤,什麼我需要在此代碼更改爲工作?
EDIT1: 好的,現在錯誤消失了。但我在哪裏得到結果?
EDIT2 我知道這條線是負責將在指定位置的結果,但執行後,我不能看到他們。那有什麼問題?
感謝,錯誤消失了:)又是怎麼回事該行:'表( 「Sheet2的」)範圍( 「A2」)調整(。 Rng.Count)= Application.Transpose(ray)'?這是否意味着結果將被寫入我的Excel文件的Sheet2中? – ArVan 2011-12-19 17:51:35
這意味着在(ray)上完成的轉置將從Sheet2.A2開始。這可能需要更多的渲染;但它會從A2開始,並根據轉置完成到(ray) – xQbert 2011-12-19 18:11:54
我認爲是這樣,但我看不到任何結果:( – ArVan 2011-12-19 18:32:20