-
Fototrend
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Delila_1
veterán
válasz
lenkei83
#36029
üzenetére
Az L-M oszlopba írja ki az egyes megnevezésekhez tartozó összegeket.
Sub Kigyujtes()
Dim usor As Long
Columns(1).Copy Range("L1")
usor = Range("L" & Rows.Count).End(xlUp).Row
ActiveSheet.Range("L1:L" & usor).RemoveDuplicates Columns:=1
usor = Range("L" & Rows.Count).End(xlUp).Row
Range("M1:M" & usor) = "=sumif(A:A,L1,B:B)"
End Sub -
pigster
senior tag
válasz
lenkei83
#36029
üzenetére
Tools/References...-nél be kell jelölni a Microsoft Scripting Library-t a működéshez
Function Gyujtes() As Scripting.Dictionary
Dim dict As Scripting.Dictionary
Dim myRange As Range
Dim sor As Long
Dim megnevezes As String
Dim ertek As Long
Set myRange = Range("A:B")
sor = 1
Set dict = New Scripting.Dictionary
megnevezes = myRange.Cells(sor, 1).Value
ertek = myRange.Cells(sor, 2).Value
Do While Not megnevezes = ""
If Not dict.Exists(megnevezes) Then
dict.Add megnevezes, ertek
Else
dict(megnevezes) = dict(megnevezes) + ertek
End If
sor = sor + 1
megnevezes = myRange.Cells(sor, 1).Value
ertek = myRange.Cells(sor, 2).Value
Loop
Set Gyujtes = dict
End Function
Sub Kiiras()
Dim dict As Scripting.Dictionary
Set dict = Gyujtes
Dim v As Variant
For Each v In dict.Keys
Rem persze a MsgBox helyett akármit lehet csinálni vele
MsgBox CStr(v) & " összesen: " & dict(v)
Next
End Sub
Új hozzászólás Aktív témák
- Apple iPhone 14 Pro Max / Kártyafüggetlen / 256GB / 12Hó Garancia / 87% akku
- MSI NVIDIA GeForce RTX 3090 3X OC GPU Kitűnő állapotban
- Macbook Pro 2019 // i7 // 16/512GB // Számla+Garancia //
- Apple iPhone 15 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy Tab A8 32GB, Újszerű, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Fferi50
