Hirdetés
- Klaus Duran: RCS
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Yutani: 20 év a Prohardveren
- mefistofeles: Az elhízás nem akaratgyengeség!
- GoodSpeed: Daikin FTXF35E / RXF35F Sensira 3,3 kW Inverteres klíma - a Sztori
- GoodSpeed: Mutasd magad topic!
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- Brogyi: CTEK akkumulátor töltő és másolatai
- Geri Bátyó: Agglegénykonyha 14 – Kések, késélezés
Új hozzászólás Aktív témák
-
föccer
nagyúr
Sub JelentesKeszites()Dim ws As Worksheet, alapadatok As Worksheet, borito As WorksheetDim rng As Range, cell As RangeDim dict As Object, receptDict As ObjectDim receptSzam As String, receptCount As ObjectDim lastRow As Long, wsEE As WorksheetDim minValue As Double, maxValue As Double, avgValue As DoubleDim pdfFileName As String, pdfPath As StringDim i As Integer, j As IntegerDim valasztottUzem As StringDim osszesMinta As Integer' Alapadatok munkalap beállításaSet alapadatok = ThisWorkbook.Sheets("Alapadatok")Set borito = ThisWorkbook.Sheets("Borító")lastRow = alapadatok.Cells(Rows.Count, 1).End(xlUp).Row' Egyedi üzemek összegyűjtéseSet dict = CreateObject("Scripting.Dictionary")For i = 2 To lastRowIf Not dict.exists(alapadatok.Cells(i, 1).Value) Thendict.Add alapadatok.Cells(i, 1).Value, NothingEnd IfNext i' Üzemek listája ellenőrzéseIf dict.Count = 0 ThenMsgBox "Nincs elérhető üzem az adatokban!", vbExclamationExit SubEnd If' UserForm megjelenítése az üzem kiválasztásáhozvalasztottUzem = UzemValasztasForm.ShowForm(dict.keys)If valasztottUzem = "" Then Exit Sub' Megerősítő kérdésIf MsgBox("Indulhat a jelentés generálása?", vbYesNo + vbQuestion) <> vbYes Then Exit Sub' Receptszámok összegyűjtése és számlálásaSet receptDict = CreateObject("Scripting.Dictionary")Set receptCount = CreateObject("Scripting.Dictionary")osszesMinta = 0For i = 2 To lastRowIf alapadatok.Cells(i, 1).Value = valasztottUzem ThenreceptSzam = alapadatok.Cells(i, 2).ValueosszesMinta = osszesMinta + 1If Not receptDict.exists(receptSzam) ThenreceptDict.Add receptSzam, NothingreceptCount.Add receptSzam, 1ElsereceptCount(receptSzam) = receptCount(receptSzam) + 1End IfEnd IfNext i' Receptek sorrendbe állítása darabszám szerintDim sortedRecepts As VariantsortedRecepts = receptCount.keysFor i = LBound(sortedRecepts) To UBound(sortedRecepts) - 1For j = i + 1 To UBound(sortedRecepts)If receptCount(sortedRecepts(j)) > receptCount(sortedRecepts(i)) ThenDim temp As Stringtemp = sortedRecepts(i)sortedRecepts(i) = sortedRecepts(j)sortedRecepts(j) = tempEnd IfNext jNext i' EE munkalapokra másolásFor i = 0 To Application.Min(UBound(sortedRecepts), 19)If receptCount(sortedRecepts(i)) >= 3 ThenSet wsEE = ThisWorkbook.Sheets("EE_" & (i + 1))wsEE.Visible = xlSheetVisible' Adatok másolása EE munkalapokraDim rowIndex As IntegerrowIndex = 12For j = 2 To lastRowIf alapadatok.Cells(j, 1).Value = valasztottUzem And alapadatok.Cells(j, 2).Value = sortedRecepts(i) ThenwsEE.Cells(rowIndex, 1).Resize(, 4).Value = alapadatok.Cells(j, 1).Resize(, 4).ValuerowIndex = rowIndex + 1End IfNext jEnd IfNext i' Borító munkalap kitöltéseborito.Cells(1, 1).Value = "Dátum:"borito.Cells(1, 2).Value = Nowborito.Cells(2, 1).Value = "Üzem:"borito.Cells(2, 2).Value = valasztottUzemborito.Cells(3, 1).Value = "Minták száma:"borito.Cells(3, 2).Value = osszesMintaborito.Cells(8, 1).Value = "Receptszám"borito.Cells(8, 2).Value = "Minták száma"borito.Cells(8, 3).Value = "Minimum"borito.Cells(8, 4).Value = "Maximum"borito.Cells(8, 5).Value = "Átlag"' PDF exportálás kizárólag a szükséges munkalapokkalpdfFileName = Format(Now, "yyyymmdd") & "_" & valasztottUzem & ".pdf"pdfPath = ThisWorkbook.Path & "\" & pdfFileNameDim sheetsToExport As VariantsheetsToExport = Array("Borító")For i = 1 To 20On Error Resume NextIf ThisWorkbook.Sheets("EE_" & i).Visible = xlSheetVisible ThenReDim Preserve sheetsToExport(UBound(sheetsToExport) + 1)sheetsToExport(UBound(sheetsToExport)) = "EE_" & iEnd IfOn Error GoTo 0Next iThisWorkbook.Sheets(sheetsToExport).SelectActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath, OpenAfterPublish:=TrueMsgBox "A jelentés elkészült és mentve lett PDF-ben!", vbInformationEnd Sub
Új hozzászólás Aktív témák
- ADATA Legend 710 512GB PCIe Gen3 X4 M2 NVMe / Beszámítás OK!
- Kioxia XG8 4TB M.2 NVME PCI-E 4.0 x4 - 7000-5800 MBs - Eladó
- Lenovo ThinkPad T15 Gen 2 i5-1135G7 16GB Ram 256 GB SSD FHD IPS Garancia
- Lenovo ThinkPad P15 Gen 2 i7-11850H 32 GB RAM 512 GB SSD NVIDIA T1200 Garancia
- Asztali PC , i7 9700 , RTX 2060 , 16GB DDR4 , 512GB m.2
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
