< návrat zpět

MS Excel


Téma: zmena vo vba rss

Zaslal/a 5.3.2025 19:27

Dobry den potreboval by poradit potrebujem potrebujem zmenit stlpec len sa mi nedary ktora hodnota to. S posledneho ciselneho harka mi zratava hodnotu stlpec G a vynasobi sa s zo stlpcom J a vysledok vlozi na harok inventar. Ja potrebujem aby vyratalo hodnotu G a vynasoby stlpec P

Sub Inventar()

Dim dic As Object
Dim list As Worksheet
Dim Oblast As Range, Bunka As Range
Dim Citac As Integer
Dim Klic As Variant

Set dic = CreateObject("Scripting.Dictionary")

Set list = ThisWorkbook.Worksheets(Worksheets.Count)

'Debug.Print list.Name
If Not IsNumeric(list.Name) Then GoTo Chyba
Select Case CInt(list.Name)
Case 1 To 31
Set Oblast = Union(list.Range("C13").Resize(51), list.Range("C76").Resize(52))

For Each Bunka In Oblast
If Bunka.Value <> "" Then
If Not dic.Exists(Join(Array(Bunka.Value, Bunka.Offset(, 7).Value, Bunka.Offset(, 9).Value), "•")) Then
dic.Add Join(Array(Bunka.Value, Bunka.Offset(, 7).Value, Bunka.Offset(, 9).Value), "•"), Bunka.Offset(, 4).Value
Else
dic(Join(Array(Bunka.Value, Bunka.Offset(, 7).Value, Bunka.Offset(, 9).Value), "•")) = dic(Join(Array(Bunka.Value, Bunka.Offset(, 7).Value, Bunka.Offset(, 9).Value), "•")) + Bunka.Offset(, 4).Value
End If
End If
Next Bunka

Application.ScreenUpdating = False
With Worksheets("Inventár")
For Each Klic In dic
.Range("C5").Offset(Citac).Value = Split(Klic, "•")(0)
.Range("C5").Offset(Citac, 1).Value = dic(Klic)
.Range("C5").Offset(Citac, 2).Value = Split(Klic, "•")(2)
.Range("C5").Offset(Citac, 3).Value = dic(Klic) * Split(Klic, "•")(1)
Citac = Citac + 1
Next Klic

.Range("C5").Offset(Citac + 2, 3).Formula = "=SUM(" & .Range("C5").Offset(, 3).Address & ":" & .Range("C5").Offset(Citac, 3).Address & ")"
.Range("C5").Offset(Citac + 1, 3).Value = .Range("C5").Offset(Citac + 1, 3).Value
.Range("C5").Offset(Citac + 2, 2).Value = "Celkom:"


End With
Application.ScreenUpdating = True
Case Else
Chyba:
MsgBox "Nesprávný název listu", vbCritical, "CHYBA !!!"
End Select

Set Oblast = Nothing
Set list = Nothing
Set dic = Nothing

End Sub

Zaslat odpověď >

#057329
elninoslov
Takže z makra čítam že
C (Bunka) je nejaký názov tovaru
J (Bunka.Offset(, 7)) ??? cena ???
L (Bunka.Offset(, 9).Value)) ??? jednotka ???
G (Bunka.Offset(, 4)) ??? množstvo ???

Takže by malo stačiť J zmeniť na Bunka.Offset(, 13)

Ale musíme to prerobiť na polia, a nie Offsety. Hrúúúúza toľko Offsetov.

Budem potrebovať prílohu.

Každopádne dnes mám naplánovaných dosť vecí. Pošlite, uvidím, či stihnem.citovat
#057330
avatar
Posielam Vam cely zosit. Musi to fungovat len vzdy s posledneho ciselneho harka. Potrebujem to zmenit na nakupnu cenu stlpec P predtym to bola predajna cena
Příloha: rar57330_mesacny-report-januar-2025.rar (355kB, staženo 1x)
citovat
#057331
elninoslov
No to makro by bolo treba prekopať komplet celé. A na to fakt nemám čas. Skontrolujte si, či je to OK.

V module ThisWorkbook som pridaním 2 do názvu vypol Workbook_Open a Workbook_AfterSave.
Příloha: zip57331_mesacny-report-januar-2025.zip (349kB, staženo 5x)
citovat
#057334
avatar
Dakujem za ochotu a vas cascitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje