下面您將看到兩個屏幕截圖。第一個有一個矩陣,中間突出顯示數據。我能夠從SO中的人們那裏獲得VBA宏,以複製突出顯示的值並將其粘貼到垂直順序的新工作表中(突出顯示的值使用條件格式突出顯示,在這種情況下,它顯示的值爲<或= 50)。這是第二張屏幕截圖,顯示按垂直順序粘貼的高亮值。現在我的問題是,我需要找到相應的SAP#以突出顯示值(屏幕截圖1),然後將其垂直粘貼到距離列旁邊(屏幕截圖2)。注意有一個SAP#列和一個SAP#行。我將需要這兩個SAP#對應於突出顯示的值。我試過使用INDEX-MATCH,但是我得到了錯誤的答案,並且我不是For Next
編碼方面的專家,所以我甚至無法編寫任何代碼。查找對應的數據並將其複製到另一個工作表(公式或VBA)
想在這個問題上有所幫助。僅供參考,這只是我的大型數據集中的一小部分。我有數百個列和行。這裏就是我用來複制數據的代碼:
Sub CopyConditionalData()
Application.ScreenUpdating = False
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("Location Analysis") ' change as needed
Set ws2 = Worksheets("Output") ' change as needed
Dim rRng As Range
Set rRng = ws1.Range("E5:ZZ200") 'change as needed
Dim aRng As Variant
aRng = rRng
Dim lRows As Long, lCols As Long
For lCols = 1 To rRng.Columns.Count
For lRows = LBound(aRng) To UBound(aRng)
If aRng(lRows, lCols) <= ws1.Range("D1") Then
ws2.Range("A" & ws2.Rows.Count).End(xlUp).Offset(1) = aRng(lRows, lCols)
End If
Next
Next
ws2.Select
End Sub
好像你應該修改現有的代碼要做到這一點,在這種情況下,你應該包括在你的問題。 –
我提供了代碼。此代碼由@ScottHoltzman提供,我只做了一些小的更改,以便適用於我的工作簿。謝謝! –
(我很驚訝,如果你有這麼多的數據集,一個公式將在這裏服務。)但是如果一個公式可能會添加[excel-formula]標籤。 – pnuts