Hirdetés
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen TV-t vegyek?
- A legrosszabb CPU-k – az ExtremeTech szerint
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- TCL LCD és LED TV-k
- Fejhallgató erősítő és DAC topik
- Kormányok / autós szimulátorok topikja
- Milyen billentyűzetet vegyek?
- Milyen egeret válasszak?
Ú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
- GoodSpeed: Te hány éves vagy?
- Luck Dragon: Asszociációs játék. :)
- Lexus, Toyota topik
- OnePlus 15 - van plusz energia
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen TV-t vegyek?
- Robotporszívók
- Google Pixel 9 Pro XL - hét szűk esztendő
- Amazfit Active 2 NFC - jó kör
- Polgári repülőgép-szimulátorok
- További aktív témák...
- HP Pavilion Plus 14-ey0155ng Ryzen 5-7540 / 16GB / 512GB FHD+ Garancia
- Eladó Lenovo ThinkPad X1 Carbon Gen 8 prémium üzleti ultrabook, WQHD kijelzővel!
- Samsung Galaxy Book3 X360 (NP730QFG-KA2HU) 13. gen i7 / 16GB / 512GB Új x360 touch
- ASUS X455L LAPTOP i3-5100U 12GB!! DDR3 GeForce 820M 2GB 128GB SSD
- ASUS X541U LAPTOP i3-7100U 4GB DDR4 GeForce 920M 2GB 256GB SSD ÚJ AKSIVAL!
- LG 27US550-W - 27" IPS / 3840x2160 4K / 60Hz 5ms / HDR10 / Forgatható / sRGB 99%
- Eladó One Plus Nord 2T 5G 8/128GB / 12 hó jótállás
- ÚJ könyv: Walter Isaacson Elos Musk - keménykötésű
- Bomba ár! Lenovo ThinkPad T480s - i5-8GEN I 8-16GB I 256-500SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- KÉSZLETKISÖPRÉSI KARÁCSONYI ULTRAAKCIÓ! - MacBook Air M4 16GB 256GB Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


