Nicméně, tak jak jste to napsal je řešení jednoduché
fce SUMIF (COUNTIF) volaná pomocí VBA
Application.WorksheetFunctions.SumIf(Range("Ex:Ey"),"a", Range("Gx:Gy"))citovat
Zaslal/a
24.6.2014 7:50Dobrý den,
mám ve VBA kód na vyhledávání hodnot v kusovníku. Vše to fungu, ale jen pro situaci, že se v kusovníku objevuje položka jen jednou. Potřeboval bych to udělat tak, že pokud vyhledávací funkce najde ve sloupci E hodnotu "a" ve více řádcích, sečte hodoty (počty kusů) ve sloupci G těchto řádků.
Děkuji za případné návrhy.
S pozdravem R.M.
roz4 = Sheets("Pomoc").Cells(Rows.Count, "A").End(xlUp).row
For i = 1 To roz4
'načte číslo součásti z kusiovníku
a = Worksheets("Pomoc").Range("A" & i).Value
'načte počet kusú z kusovníku
'b = Workbooks(jm).Worksheets("Stahl").Range("F" & i).Value
b = Worksheets("Pomoc").Range("C" & i).Value
'načte hmotnost kusú z kusovníku
cc = Worksheets("Pomoc").Range("B" & i).Value
'Workbooks(jm3).Close savechanges:=False
Sheets(jm1).Activate
roz2 = ActiveSheet.Cells(Rows.Count, "E").End(xlUp).row
With Range("E16:E" & roz2)
Set FoundCell = .Cells.Find(What:=a, _
After:=.Cells(.Cells.Count), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
End With
If FoundCell Is Nothing Then
roz3 = ActiveSheet.Cells(Rows.Count, "E").End(xlUp).row
'MsgBox ("roz3=" & roz3)
roz4 = roz3 + 1
Range("E" & roz4) = a
Range("F" & roz4) = cc
Range("G" & roz4) = b
Range("E" & roz4 & ":G" & roz4).Interior.Color = Barva
roz2 = ActiveSheet.Cells(Rows.Count, "E").End(xlUp).row
'MsgBox ("roz2=" & roz2)
Else
FoundCell.Select
Dim col, row
col = Split(Selection.Address, "$")(1)
row = Split(Selection.Address, "$")(2)
'MsgBox "Column is : " & col
'MsgBox "Row is : " & row
'načte počet kusu v megakusovniku
c = Range("G" & row).Value
If c = b Then
'nedělej nic
Else
Range("G" & row) = b
Range("G" & row).Interior.Color = Barva
End If
'MsgBox "Nalezeno :) " & FoundCell.Address
' tady proveď požadavanou akci nebo
' tady to smaž je jen pro ověření
End If
Next i
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.