Hirdetés
- Eldőlt, hogy lesz-e céges internetadó az EU-ban
- Októberben kerülnek legacy státuszba a régebbi GeForce VGA-k
- A konkurens hardvereken is működőképessé tette az XeSS 2-t az Intel
- Rengeteg monitor kapott G-Sync Compatible hitelesítést az új GeForce driverben
- Kinyitja a pénztárcáját az Apple, hogy behozza a nagy lemaradását
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Októberben kerülnek legacy státuszba a régebbi GeForce VGA-k
- Vezeték nélküli fülhallgatók
- Házimozi belépő szinten
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Milyen alaplapot vegyek?
- Milyen videókártyát?
- OLED TV topic
- Bluetooth hangszórók
- Komolyan ráállt a csúcs-GeForce-ok átalakítására Kína
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Ú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 Worksheet
Dim rng As Range, cell As Range
Dim dict As Object, receptDict As Object
Dim receptSzam As String, receptCount As Object
Dim lastRow As Long, wsEE As Worksheet
Dim minValue As Double, maxValue As Double, avgValue As Double
Dim pdfFileName As String, pdfPath As String
Dim i As Integer, j As Integer
Dim valasztottUzem As String
Dim osszesMinta As Integer
' Alapadatok munkalap beállítása
Set alapadatok = ThisWorkbook.Sheets("Alapadatok")
Set borito = ThisWorkbook.Sheets("Borító")
lastRow = alapadatok.Cells(Rows.Count, 1).End(xlUp).Row
' Egyedi üzemek összegyűjtése
Set dict = CreateObject("Scripting.Dictionary")
For i = 2 To lastRow
If Not dict.exists(alapadatok.Cells(i, 1).Value) Then
dict.Add alapadatok.Cells(i, 1).Value, Nothing
End If
Next i
' Üzemek listája ellenőrzése
If dict.Count = 0 Then
MsgBox "Nincs elérhető üzem az adatokban!", vbExclamation
Exit Sub
End If
' UserForm megjelenítése az üzem kiválasztásához
valasztottUzem = UzemValasztasForm.ShowForm(dict.keys)
If valasztottUzem = "" Then Exit Sub
' Megerősítő kérdés
If MsgBox("Indulhat a jelentés generálása?", vbYesNo + vbQuestion) <> vbYes Then Exit Sub
' Receptszámok összegyűjtése és számlálása
Set receptDict = CreateObject("Scripting.Dictionary")
Set receptCount = CreateObject("Scripting.Dictionary")
osszesMinta = 0
For i = 2 To lastRow
If alapadatok.Cells(i, 1).Value = valasztottUzem Then
receptSzam = alapadatok.Cells(i, 2).Value
osszesMinta = osszesMinta + 1
If Not receptDict.exists(receptSzam) Then
receptDict.Add receptSzam, Nothing
receptCount.Add receptSzam, 1
Else
receptCount(receptSzam) = receptCount(receptSzam) + 1
End If
End If
Next i
' Receptek sorrendbe állítása darabszám szerint
Dim sortedRecepts As Variant
sortedRecepts = receptCount.keys
For i = LBound(sortedRecepts) To UBound(sortedRecepts) - 1
For j = i + 1 To UBound(sortedRecepts)
If receptCount(sortedRecepts(j)) > receptCount(sortedRecepts(i)) Then
Dim temp As String
temp = sortedRecepts(i)
sortedRecepts(i) = sortedRecepts(j)
sortedRecepts(j) = temp
End If
Next j
Next i
' EE munkalapokra másolás
For i = 0 To Application.Min(UBound(sortedRecepts), 19)
If receptCount(sortedRecepts(i)) >= 3 Then
Set wsEE = ThisWorkbook.Sheets("EE_" & (i + 1))
wsEE.Visible = xlSheetVisible
' Adatok másolása EE munkalapokra
Dim rowIndex As Integer
rowIndex = 12
For j = 2 To lastRow
If alapadatok.Cells(j, 1).Value = valasztottUzem And alapadatok.Cells(j, 2).Value = sortedRecepts(i) Then
wsEE.Cells(rowIndex, 1).Resize(, 4).Value = alapadatok.Cells(j, 1).Resize(, 4).Value
rowIndex = rowIndex + 1
End If
Next j
End If
Next i
' Borító munkalap kitöltése
borito.Cells(1, 1).Value = "Dátum:"
borito.Cells(1, 2).Value = Now
borito.Cells(2, 1).Value = "Üzem:"
borito.Cells(2, 2).Value = valasztottUzem
borito.Cells(3, 1).Value = "Minták száma:"
borito.Cells(3, 2).Value = osszesMinta
borito.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 munkalapokkal
pdfFileName = Format(Now, "yyyymmdd") & "_" & valasztottUzem & ".pdf"
pdfPath = ThisWorkbook.Path & "\" & pdfFileName
Dim sheetsToExport As Variant
sheetsToExport = Array("Borító")
For i = 1 To 20
On Error Resume Next
If ThisWorkbook.Sheets("EE_" & i).Visible = xlSheetVisible Then
ReDim Preserve sheetsToExport(UBound(sheetsToExport) + 1)
sheetsToExport(UBound(sheetsToExport)) = "EE_" & i
End If
On Error GoTo 0
Next i
ThisWorkbook.Sheets(sheetsToExport).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath, OpenAfterPublish:=True
MsgBox "A jelentés elkészült és mentve lett PDF-ben!", vbInformation
End Sub
Új hozzászólás Aktív témák
- Honor Magic5 Pro - kamerák bűvöletében
- Battlefield 6
- Autós topik
- Kerékpárosok, bringások ide!
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen routert?
- Teljes verziós, ingyenes mobil játékok és alkalmazások
- Októberben kerülnek legacy státuszba a régebbi GeForce VGA-k
- Vezeték nélküli fülhallgatók
- Könyvajánló
- További aktív témák...
- BESZÁMÍTÁS! ASRock B550M R5 5600 32GB DDR4 512GB SSD RTX 4060 TI 16GB Zalman N5 Chieftec 700W
- Motorola G72 128GB Kártyafüggetlen 1 év Garanciával
- AKCIÓ!!! DDR5 GAMER PC: RYZEN 9 7900/9900X +RTX 3060Ti/3080/4060/4070 +16-64GB DDR5! GAR/SZÁMLA!
- Xiaomi Redmi Note 9Pro 64GB Kártyafüggetlen 1 év Garanciával
- AKCIÓ!!! GAMER PC: i7-12700KF +RTX 5050/5060/5060Ti/5070/5070Ti +16-64GB DDR4! GAR/SZÁMLA!
- Újszerű Asus ROG Strix G16 G614 -16" WUXGA 165Hz - i5-13450HX - 16GB - 512GB -RTX 4050 -1,5 év gari
- Asus ROG Zephyrus G14 GA401IV - 14" FHD 120Hz - Ryzen 9 - 4900HS - 16GB - 2TB - RTX 2060 - Win11
- Telefon felvásárlás!! Samsung Galaxy S21/Samsung Galaxy S21+/Samsung Galaxy S21 Ultra
- BESZÁMÍTÁS! ASUS VS228DE FHD TN 5ms monitor garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 13 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3036
Állásajánlatok
Cég: FOTC
Város: Budapest