0
所以我有一個宏需要一張我已經複製到工作表中的發票,然後複製高級金額並將其粘貼到單元中的摘要選項卡上,該單元對應於兩張紙上的同一社會安全號。下面是宏:用宏求和掙扎
Sub Eyemed2()
Dim rw, LastRow, LastRRow As Long
Dim rng As Range, Found As Range, SheetEnd3 As Range
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Sheets("Eyemed 2")
Set ws2 = Sheets("Raw")
LastRow = ws2.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row
Set rng = ws2.Range("A2:B" & LastRow)
LastRRow = ws1.Cells(Rows.Count, "R").End(xlUp).Row
For rw = 14 To LastRRow 'Begin in row 14 of Eyemed 2
If Not ws1.Range("R" & rw) Is Nothing Then
is blank
Set Found = rng.Find(What:=ws1.Range("A" & rw).Value,
LookIn:=xlValues)
If Not Found Is Nothing Then
ws2.Range("N" & Found.Row) = ws1.Cells(rw, "J").Value
Else
Set SheetEnd3 = rng.Find(What:=ws1.Range("A" & rw).Value,
LookIn:=xlValues)
LastRow = ws2.Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).Row
ws1.Range("A" & rw).Copy ws2.Range("B" & LastRow)
ws2.Range("N" & SheetEnd3.Row) = ws1.Cells(rw, "J").Value
End If
End If
Next rw
End Sub
因此,它看起來在柱中的R「Eyemed 2」,如果它不是空白的,然後在細胞中複製列N轉換的摘要標籤,列J.它發現通過在摘要選項卡的A:B列中搜索「Eyemed 2」的A列中的社會安全號碼,在適當的行中粘貼摘要選項卡。
我的問題是,在'Eyemed 2'中,一些社會安全號碼有兩次以上不同的次數列出。因此,我需要編輯宏以彙總具有相同社會安全號碼的所有金額,然後搜索並粘貼到摘要選項卡中的一個條目,而不是現在它只複製和粘貼一個數量。
非常感謝您
使用'FindNext',如果您正在錄製宏,那麼這是另一個步驟。 –
我建議你發佈你的數據的屏幕截圖。使用'SUMIF'公式似乎這個任務更容易。 –
您有幾個選擇可以用於此目的,這取決於您使用Excel和VBA的舒適程度。在較不先進的一端,只需使用帶有SSN的數據透視表作爲行,並將總計作爲值。然後,您可以使用類似的方法來處理您所擁有的方法,並且它會爲您提供準確的總和。另一方面,更高級的方法是使用Scripting.Dictionary對象。鑑於你目前的代碼,我強烈建議前一種方法。在短期內你會更容易。 –