Keresés

Részletes keresés

Fferenc50 Creative Commons License 2024.08.03 0 0 38138

Szia!

Valószínűleg a diagramon más a sorrendje az egyes évek adatainak. Próbáld meg a következőt:

Kiválasztod a 2023 évi "vonalat" adatot. Ezután a szerkesztőlécen megjelik az adatsor forrása:

pl. =ADATSOR(áram!$F$29;áram!$A$30:$A$186;áram!$F$30:$F$186;4) 

Ha 4 adatsorod van, akkor feltételezhetően a 4-es lesz a zárójel előtti szám. Ezt írd át itt a szerkesztőlécen 3 -ra és Enter. Ezáltal megváltozik a megjelenítési sorrend és jelmagyarázat sorrendje is.

Üdv.

 

Előzmény: hellsing (38135)
m54-b Creative Commons License 2024.08.03 0 0 38137

 

 

valami ilyen? vagy félreértem?

Előzmény: hellsing (38135)
pimre Creative Commons License 2024.08.03 0 0 38136

Tudnál küldeni egy mintát, ahol látszanak a forrásadatok, valamint az adatfotrrás kiválasztásánál megjelenő lista?

 

Valahogy így, mivel a saját mintámon elképzelni sem tudom, hogyan oldhatnán meg, hogy két év felcserélődjön a jelmagyarázqatban. Hátha a te mintádból kiderül:

 

Előzmény: hellsing (38135)
hellsing Creative Commons License 2024.08.03 0 0 38135

'reggelt! Van egy vonaldiagramom, ami 4 év havi forgalmi adatait jeleníti meg. Az "Adatforrás kiválasztása" ablakban jó a sorrend: 2021, 2022, 2023, 2024. A diagram jelmagyarázatában viszont 2021, 2022, 2024, 2023. Hogy rendezhetném át?

 

ergoGnomik Creative Commons License 2024.07.21 0 0 38134

Azt próbáltad már, hogy beszúrod a lapra háttérként és a kívánt néhány cella kivételével az összes többit zárolod? Mondjuk lehet, hogy valami képszerkesztőben még ügyeskedni is kell a kép köré üres területek szerkesztésével a pontos pozícionáláshoz. A rácsvonalak ugye kikapcsolhatók, a cellaformázás pedig ad számos lehetőséget az aktív cellák megjelölésére.

Előzmény: Balu424 (38127)
_Nyuszi Creative Commons License 2024.07.21 0 0 38133

Az én ötletem, hogy felrakod az antenna képét jobb oldalra, de úgy, hogy a változókat egy-egy betűvel helyettesíted. A képernyő bal részén ezeket szépen, egymás alatt bekéred a usertől. Kevésbé elegáns, mert plusz egy hivatkozás van értékenként, amit követnie kell a felhasználónak, de gyors eredményt ad.

Előzmény: Balu424 (38127)
Garashan Creative Commons License 2024.07.20 0 0 38132

Ha nem olyan a kép formátuma, hogy legyen rajta átlátszóság, akkor is meg lehet oldani.

Ha rákattintasz a képre, akkor a menü szalagon megjelenik a képformátum. Annak a legelső pontja a "Háttér eltávolítása". Ott ki lehet jelölni, hogy mi az a terület, amit átlátszóvá szeretnél tenni. Ha sok benne a vékony vonal, akkor kicsit nehézkes az Excelben megoldani.

Ilyenkor én GIMP-ben szoktam.
Ha megnyitod a képet szerkesztésre a GIMP-ben, akkor először hozzá kell adni a réteg átlátszóságot is. A varázs kijelölő eszközzel ki kell jelölni az eltávolítandó részeket. Én ennek olyan 20-as értéken szoktam állítani a "durvaságát", akkor elég jól kijelöli az elkülönülő hátteret. Majd ha jó a kijelölés, akkor delete gombbal törlöd a hátteret. Ilyenkor a GIMP-ben ez kockás háttérrel lesz jelölve. Utána simán kijelölheted az egészet és visszamásolhatod az Excelbe.

Előzmény: Balu424 (38127)
m54-b Creative Commons License 2024.07.20 0 0 38131

Ilyen képet "alakzatok" beszúrásával hoznál létre (minden részelt egy "alakzat"), majd ezeket csoportba foglalva, lehetne valamit kezdeni.

Előzmény: Balu424 (38127)
Thibi Creative Commons License 2024.07.19 0 0 38130

Előzmény: Thibi (38129)
Thibi Creative Commons License 2024.07.19 0 1 38129

Néhány képformátum ismeri az áttetsző, transzparens színeket. Erre keress a google-ban: trasparent picture

Egérrel kattintani ugyan nem lehet a háttér cellákra, de kurzor billentyűkkel oda lehet mozogni és át lehet írni az értéket

Előzmény: Balu424 (38127)
Fferenc50 Creative Commons License 2024.07.19 0 0 38128

Szia!

Én úgy látom, hogy kép mögötti cellába nem tudsz írni. Azon cella helyén, amelybe írni szeretnél, "lyukat" kell hagyni a képen, tehát azt a cellát nem fedheti le a kép! Ez nyilván könnyen megoldható, ha a kép szélei felé vannak az írni tervezett cellák, mert akkor szépen körül lehet vágni a képet, viszont a közbe - hátul levő cella esetében már szét kell vágni a képet és több darabban felrakni a cella kihagyásával.

Szerintem egyszerűbb lenne, ha a képet egy Userformra tennéd fel, arra lehet tenni Textboxokat és azok értékével lehet számolni, a textboxok értékét hozzá tudod kapcsolni egy cellához a ControlSource tulajdonsággal, ha változik a textbox értéke, változik a hozzá csatolt cella értéke is.

Üdv.

Előzmény: Balu424 (38127)
Balu424 Creative Commons License 2024.07.19 0 0 38127

sziasztok. Lenne egy kérdésem. Hogyan lehetne egy képet úgy beszúrni az excelbe, hogy mögötte eg pár cella látszódjon, amelybe értéket beírva, akár képletre is bírható. 

 

Mire gondolok?

 

 

tehát a cellákba értéket írok be, s így a többi cellában a képlettel kiszámoltérték kerül

 

Már minden lehetőséget megnéztem, de nem jöttem rá, hogyan oldható meg.

dorogszu Creative Commons License 2024.07.17 0 0 38126

Jajj ilyen nagy vigyor még az esküvőm napján sem volt a fejemen:)  

Előzmény: Delila_10 (38125)
Delila_10 Creative Commons License 2024.07.17 0 0 38125

Megvan a hiba.

 

Sub Epit_Bont()

    Dim usor As Long

    Sheets("Summary").Columns("A:N").Delete Shift:=xlToLeft

   

    With Sheets("Sheet1")

        .Range("A1:M1").Copy Sheets("Summary").Range("A1")

        .Range("N1") = "Összefűzés"

        usor = .Range("A" & Rows.Count).End(xlUp).Row

        .Range("N2:N" & usor).FormulaR1C1 = "=RC[-1]&"" ""&RC[-8]"

        .Range("$A$1:$M$" & usor).AutoFilter Field:=13, Criteria1:="ÉPÍT"

        usor = .Range("A" & Rows.Count).End(xlUp).Row

        .Range("A2:M" & usor).Copy Sheets("Summary").Range("A2")

        .Range("$A$1:$N$" & usor).AutoFilter Field:=13

    End With

   

    Sheets("Summary").Select

    Range("N1") = "Bontási dátum"

    usor = Range("A" & Rows.Count).End(xlUp).Row

    Range("N2:N" & usor).FormulaR1C1 = _

        "=IFERROR(INDEX(Sheet1!R1C1:R5000C14,MATCH(""BONT "" &RC[-8],Sheet1!R1C14:R5000C14,0),7),""Nincs bontási dátum"")"

    Columns("N:N").NumberFormat = "m/d/yyyy"

    Range("N2:N" & usor) = Range("N2:N" & usor).Value

    Columns("A:N").EntireColumn.AutoFit

   

    Sheets("Sheet1").Columns("N").Delete Shift:=xlToLeft

End Sub

 

A félkövérrel írt sort írd át a makródban, akkor helyreáll a lelke. 

Előzmény: dorogszu (38123)
Fferenc50 Creative Commons License 2024.07.16 0 0 38124

Szia!
Írtam neked a hozzászólásomban (38119), hogyan másold a tételeket. Akkor nem fordulhat elő ilyen probléma.

Üdv.

Előzmény: dorogszu (38123)
dorogszu Creative Commons License 2024.07.16 0 0 38123

Itt egy példa 06830 betétlap esetében a Sheet 1 dátumformátumok átvitele után a Summary lapfülön Bontási dátumban 1900.01.00 értéket kapok vissza. Ez csak egy példa de több ilyen eset is előfordul:(  Mi miatt lehet ez?

 

 

Előzmény: Delila_10 (38120)
Delila_10 Creative Commons License 2024.07.14 0 0 38122

Szívesen. :)

Előzmény: dorogszu (38121)
dorogszu Creative Commons License 2024.07.14 0 0 38121

Hálásan köszönöm!

 

Előzmény: Delila_10 (38120)
Delila_10 Creative Commons License 2024.07.14 0 0 38120

Bocs, nem voltam net-közelben, és most sem leszek. 

https://data.hu/get/14256121/Mpk.xlsm

Előzmény: dorogszu (38118)
Fferenc50 Creative Commons License 2024.07.13 0 0 38119

Szia!

A makró azért nem találja meg az összeillő párokat, mert az átmásoláskor a betétlap cella típusa megváltozik, szöveg helyett double lesz.

Ezért a másolást másként kell megoldani. Itt egy javaslat:

For i = 2 To lastRow
If ws.Cells(i, 13).Value = "Épít" Then
ws.Range(ws.Cells(i, 1), ws.Cells(i, 7)).Copy newSheet.Cells(newRow, 1)
ws.Range(ws.Cells(i, 8), ws.Cells(i, 14)).Copy newSheet.Cells(newRow, 9)
'newSheet.Cells(newRow, 1).Value = ws.Cells(i, 1).Value
'newSheet.Cells(newRow, 2).Value = ws.Cells(i, 2).Value
'newSheet.Cells(newRow, 3).Value = ws.Cells(i, 3).Value
'newSheet.Cells(newRow, 4).Value = ws.Cells(i, 4).Value
'newSheet.Cells(newRow, 5).Value = ws.Cells(i, 5).Value
'newSheet.Cells(newRow, 6).Value = ws.Cells(i, 6).Value
'newSheet.Cells(newRow, 7).Value = ws.Cells(i, 7).Value
'newSheet.Cells(newRow, 9).Value = ws.Cells(i, 8).Value
'newSheet.Cells(newRow, 10).Value = ws.Cells(i, 9).Value
'newSheet.Cells(newRow, 11).Value = ws.Cells(i, 10).Value
'newSheet.Cells(newRow, 12).Value = ws.Cells(i, 11).Value
'newSheet.Cells(newRow, 13).Value = ws.Cells(i, 12).Value
'newSheet.Cells(newRow, 14).Value = ws.Cells(i, 13).Value
Application.CutCopyMode = False
newRow = newRow + 1
End If
Next i

A régi soraidat kikommentelve tettem ide.

Ezzel minden bontást meg fogsz találni, sőt, a végeredmény még több is lesz 1 db-bal... mivel a betétlap meint azonosító szerintem nem elegendő, kell még mást is figyelni.

Íme egy példa:

Az utolsó oszlop az előfordulások számát jelenti.

Üdv.

Előzmény: dorogszu (38115)
dorogszu Creative Commons License 2024.07.13 0 0 38118

A makró letesztelése után esetleg megkaphatom az elkészült filet? Köszönöm előre is 

Előzmény: Delila_10 (38116)
dorogszu Creative Commons License 2024.07.13 0 0 38117

Range("N2:N" & usor).FormulaR1C1 = _

"=IFERROR(INDEX(Sheet1!R[-1]C1:R[1316]C,MATCH(""BONT "" &RC[-8],Sheet1!R1C14:R1318C14,0),7),""Nincs bontási dátum"")"

 

 

hibát hoz:(

 

Előzmény: Delila_10 (38116)
Delila_10 Creative Commons License 2024.07.13 0 0 38116

Összeállítottam egy makrót a kimeneti fájlodhoz.

 

Sub Epit_Bont()

    Dim usor As Long

    Sheets("Summary").Columns("A:N").Delete Shift:=xlToLeft

   

    With Sheets("Sheet1")

        .Range("A1:M1").Copy Sheets("Summary").Range("A1")

        .Range("N1") = "Összefűzés"

        usor = .Range("A" & Rows.Count).End(xlUp).Row

        .Range("N2:N" & usor).FormulaR1C1 = "=RC[-1]&"" ""&RC[-8]"

        .Range("$A$1:$M$" & usor).AutoFilter Field:=13, Criteria1:="ÉPÍT"

        usor = .Range("A" & Rows.Count).End(xlUp).Row

        .Range("A2:M" & usor).Copy Sheets("Summary").Range("A2")

        .Range("$A$1:$N$" & usor).AutoFilter Field:=13

    End With

   

    Sheets("Summary").Select

    Range("N1") = "Bontási dátum"

    usor = Range("A" & Rows.Count).End(xlUp).Row

    Range("N2:N" & usor).FormulaR1C1 = _

        "=IFERROR(INDEX(Sheet1!R[-1]C1:R[1316]C,MATCH(""BONT "" &RC[-8],Sheet1!R1C14:R1318C14,0),7),""Nincs bontási dátum"")"

    Columns("N:N").NumberFormat = "m/d/yyyy"

    Range("N2:N" & usor) = Range("N2:N" & usor).Value

    Columns("A:N").EntireColumn.AutoFit

   

    Sheets("Sheet1").Columns("N").Delete Shift:=xlToLeft

End Sub

Előzmény: dorogszu (38114)
dorogszu Creative Commons License 2024.07.13 0 0 38115

Bocsánat de a kimeneti filet töltöttem fel:) A helyes kiinduló file itt: https://files.fm/u/9ygzxyrhtz

Előzmény: dorogszu (38114)
dorogszu Creative Commons License 2024.07.13 0 0 38114

Sziasztok! 

 

  • Új munkalap létrehozása: Az Épít típusú rekordokat átmásolja az eredeti munkalapról egy új, "Summary" nevű munkalapra.
  • Bontási dátumok hozzáadása: Megkeresi a bontási rekordokat és hozzáadja a bontási dátumot a "Summary" munkalaphoz. a megfelelő sorhoz:)  Betétlap alapján de ez valami miatt nem minden rekord esetén kerül be
  • Összegzés és ellenőrzés: Összegzi a térfogatokat, majd összehasonlítja az eredeti és a summary adatok számait, és jelzi az eltéréseket, ha vannak.

Miért nem megy át a Bont sorokból a summary lapfülre az adat?

 

Nem fontos a makrós megoldás sem a lényeg az lenne hogy egy sorban legyen az építési dátum és a bontási dátum. 

 

 

 

A File amelyből kiindulok itt található https://files.fm/u/qxzzkxmeck

 

Köszönöm!

 

 

 

 

Sub FilterAndSummarizeData()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") ' Eredeti munkalap

Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

' Szűrjük az Épít sorokat és másoljuk a Summary lapra
Dim newSheet As Worksheet
On Error Resume Next
Set newSheet = ThisWorkbook.Sheets("Summary")
On Error GoTo 0
If Not newSheet Is Nothing Then
Application.DisplayAlerts = False
newSheet.Delete
Application.DisplayAlerts = True
End If
Set newSheet = ThisWorkbook.Sheets.Add
newSheet.Name = "Summary"

' Fejléc átmásolása és új oszlop hozzáadása
newSheet.Range("A1").Value = "SAP"
newSheet.Range("B1").Value = "Mappa"
newSheet.Range("C1").Value = "Üzem"
newSheet.Range("D1").Value = "Pozíció"
newSheet.Range("E1").Value = "Jkönyv"
newSheet.Range("F1").Value = "Betétlap"
newSheet.Range("G1").Value = "Építés dátuma"
newSheet.Range("H1").Value = "Bontási dátum"
newSheet.Range("I1").Value = "Hosszúság"
newSheet.Range("J1").Value = "Szélesség"
newSheet.Range("K1").Value = "Magasság"
newSheet.Range("L1").Value = "m3"
newSheet.Range("M1").Value = "Fsz_vagy 8m"
newSheet.Range("N1").Value = "Munkavégzés"

Dim newRow As Long
newRow = 2

' Másoljuk az Épít sorokat a Summary lapra
Dim i As Long
For i = 2 To lastRow
If ws.Cells(i, 13).Value = "Épít" Then
newSheet.Cells(newRow, 1).Value = ws.Cells(i, 1).Value
newSheet.Cells(newRow, 2).Value = ws.Cells(i, 2).Value
newSheet.Cells(newRow, 3).Value = ws.Cells(i, 3).Value
newSheet.Cells(newRow, 4).Value = ws.Cells(i, 4).Value
newSheet.Cells(newRow, 5).Value = ws.Cells(i, 5).Value
newSheet.Cells(newRow, 6).Value = ws.Cells(i, 6).Value
newSheet.Cells(newRow, 7).Value = ws.Cells(i, 7).Value
newSheet.Cells(newRow, 9).Value = ws.Cells(i, 8).Value
newSheet.Cells(newRow, 10).Value = ws.Cells(i, 9).Value
newSheet.Cells(newRow, 11).Value = ws.Cells(i, 10).Value
newSheet.Cells(newRow, 12).Value = ws.Cells(i, 11).Value
newSheet.Cells(newRow, 13).Value = ws.Cells(i, 12).Value
newSheet.Cells(newRow, 14).Value = ws.Cells(i, 13).Value
newRow = newRow + 1
End If
Next i

' Keresés és bontási dátumok hozzáadása
Dim betetlapId As Variant
Dim bontCount As Long
bontCount = 0
For i = 2 To newRow - 1
betetlapId = newSheet.Cells(i, 6).Value
Dim foundRow As Long
foundRow = 0
For j = 2 To lastRow
If ws.Cells(j, 6).Value = betetlapId And ws.Cells(j, 13).Value = "Bont" Then
foundRow = j
Exit For
End If
Next j
If foundRow > 0 Then
newSheet.Cells(i, 8).Value = ws.Cells(foundRow, 7).Value
bontCount = bontCount + 1
End If
Next i

' Szűrő hozzáadása a fejlécekhez
newSheet.Range("A1:N1").AutoFilter

' Oszlopok szélességének igazítása
newSheet.Columns("A:N").AutoFit

' Adatok kijelölése
newSheet.Range("A2:N" & newRow - 1).Select

' Teljes m3 összegzése és formázása
Dim totalSum As Double
totalSum = Application.WorksheetFunction.Sum(newSheet.Range("L2:L" & newRow - 1))
newSheet.Range("O1").Value = totalSum
With newSheet.Range("O1")
.Font.Bold = True
.Font.Italic = True
.Font.Color = RGB(255, 0, 0)
.Font.Size = 14
.Font.Name = "Calibri"
End With

' Eredeti bontás rekordok száma
Dim originalBontCount As Long
originalBontCount = Application.WorksheetFunction.CountIf(ws.Range("M2:M" & lastRow), "Bont")

' Eredmények ellenőrzése és megjelenítése
Dim checkSheet As Worksheet
On Error Resume Next
Set checkSheet = ThisWorkbook.Sheets("Check")
On Error GoTo 0
If Not checkSheet Is Nothing Then
Application.DisplayAlerts = False
checkSheet.Delete
Application.DisplayAlerts = True
End If
Set checkSheet = ThisWorkbook.Sheets.Add
checkSheet.Name = "Check"

checkSheet.Range("A1").Value = "Eredeti Épít összes Lm"
checkSheet.Range("A2").Value = Application.WorksheetFunction.SumIf(ws.Range("M2:M" & lastRow), "Épít", ws.Range("L2:L" & lastRow))
checkSheet.Range("B1").Value = "Summary Épít összes Lm"
checkSheet.Range("B2").Value = totalSum
checkSheet.Range("A3").Value = "Eredeti Bont rekordok száma"
checkSheet.Range("A4").Value = originalBontCount
checkSheet.Range("B3").Value = "Summary Bont rekordok száma"
checkSheet.Range("B4").Value = bontCount

' Az értékek megjelenítése és formázása
With checkSheet.Range("A1:B4")
.Font.Bold = True
.Font.Size = 12
.Font.Name = "Calibri"
End With
checkSheet.Columns("A:B").AutoFit

' Hibaüzenet, ha a bontási rekordok száma nem egyezik
If originalBontCount <> bontCount Then
MsgBox "A bontási rekordok száma nem egyezik meg! Eredeti bontási rekordok: " & originalBontCount & ", Átmásolt bontási rekordok: " & bontCount, vbExclamation
End If
End Sub

 

pimre Creative Commons License 2024.07.05 0 0 38113

Azt nem tudod megoldani, hogy bemásolás/törlés helyett kvázi "görgeted" a listát? Ha jól látom, alul van a legfrissebb adat, és a lista elején a legrégebbi. A görgetés ebben az esetben azt jelentené, hogy a Körte, szőlő, barack sorokkal felülírod az Alma, körte, szőlőt, amivel a barack sor megduplázódik. És a legalsó sorban lévő Barack adatokat írod felül az új adatsorral.

 

Én például egy évente frissülő jelentésben szereplő 5 éves grafikonsorokat szoktam ezzel a technikával frissíteni, így nem kell grafikonokat mindig újra rajzoltatni, hanem azzok autoatikusan aktualizálódnak.

Előzmény: DRolii (38112)
DRolii Creative Commons License 2024.07.05 0 0 38112

Ebben igazad van, viszont ez a táblázat az éppen folyamatban lévő munkákat "monitorozza". Amikor valami elkészül kikerül a rendszerből, ha valami új jön akkor pedig értelemszerűen be. Ha nem törlődne, nem lenne már átlátható, túl nagy lenne.

Az én célom pedig, hogy 1 vagy 2 hetes bontásban mindig rátudjak szűrni az éppen aktuális megrendelésekre és csak azt lássam, hogy milyen készültségben van. A tőbbi jövőben gyártandó termék ne keverjen be, csak a heti-két heti aktuális.

Előzmény: Fferenc50 (38111)
Fferenc50 Creative Commons License 2024.07.04 0 0 38111

Szia!

Azért a folyamatos törlés/bővítés nem nagyon tesz jót a képleteknek... inkább bővüljön folyamatosan és ne törölj belőle. A második munkalapra akkor is ki tudod szedni az adatokat, ha a "régiek" benne maradnak az elsőben.

A munkalapok stílusát te határozod meg, olyan lesz mindegyik, amilyenre beállítod.

Üdv.

Előzmény: DRolii (38110)
DRolii Creative Commons License 2024.07.04 0 0 38110

Mivel a Munkalap1 folyamatosan bővül/törlődik így mindenképpen muszáj egy második munkalapon dolgozni az adatokkal.

Előzmény: DRolii (38109)
DRolii Creative Commons License 2024.07.04 0 0 38109

Mit gondoltok, az is megoldható, hogy amilyen stílusban néz ki az egyik munkalap, ugyanolyanra csinálja a másikat is?

A célom az lenne egyébként, hogy az Munkalap1 adatokból mindig előre szűrjem határidő szerint 1 v. 2 héttel előre a munkákat. És ezekkel az adatokkal dolgozni, diagramok stb.

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!