-
Fototrend
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
föccer
nagyúr
válasz
Fferi50 #52207 üzenetére
Szomorú.
Gombonyogatás non user friendly egységsugarú felhasználónál.
Másik kérdés. Egészen biztos hogy könnyen megoldható, de rettenetesen hulla vagyok
Egy számoló sablonról kell lementenem annak tartalmát, hogy később visszatölthető legyen a nyomtatási sablonra. (bizonylat kezelős)
Cel_WS-re megy szépen sorba egymás mellé. Ha alapadatokra felsorolom azoknak a celláknak a címét, ahonnan ki kell szedni az adatokat, és egy for ciklussal dolgozom fel, akkor a Range meg fogja enni ha a paraméterként nem "L5" kerül, hanem egy cella hivatkozás, valahogy így:
For i = 1 to 270
Sheets(Forras_WS).Range(Sheets("alapadatok").Cells(i, 1)).Value
Next
Ezt kellene kiváltani. Alapadatokban is az első sortól lennének az adatok, nyilván.
Sheets(Cel_WS).Cells(Akt_sor, 1).Value = Sheets(Forras_WS).Range("L5").Value
Sheets(Cel_WS).Cells(Akt_sor, 2).Value = Sheets(Forras_WS).Range("S5").Value
Sheets(Cel_WS).Cells(Akt_sor, 3).Value = Sheets(Forras_WS).Range("B7").Value
Sheets(Cel_WS).Cells(Akt_sor, 4).Value = Sheets(Forras_WS).Range("C7").Value
...
...
-
bteebi
veterán
válasz
Fferi50 #52196 üzenetére
Vóv, köszi, múkodik!
A
=True
-ra gondoltam, hogy lehet felesleges, de mivel se így, se úgy nem ment, ezért inkább benne hagytam.Neked is köszi Delila!
Mit csinál máshogy az
Application
, mint aWorksheetFunction
? Sokan amúgy eleveApplication.WorksheetFunction
-t szoktak írni. -
-
föccer
nagyúr
válasz
Fferi50 #52076 üzenetére
msoFileDialogFolderPicker
hogy ez nem jutott eszembe
Nagyon pengék vagytok.
Delila kódja is működik, ezzek a chdirr-el nem boldogultam. Maradok azzal, hogy megnyitok egy dialógot és szépen a kiválasztott helyre lementem, ez a biztos.
Ismételten köszönöm szépen a segítségeket.
üdv, föccer
-
föccer
nagyúr
válasz
Fferi50 #43131 üzenetére
Hello!
Az Application.ActivePrinter változó az jól sejtem, hogy az alapértelemzett nyomtató nevét adja vissza?
Ez így ebben a formában be tudom állítani a nyomtató válltozómba az aktív printert?
Dim Nyomatato As String
.
.
.
Nyomtato = Application.ActivePrinter
.
.
.
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, ActivePrinter:=Nyomtato, PrintToFile:=True, PrToFileName:=Fajl_neve
köszi!
üdv, föccer
-
Vérboci
addikt
válasz
Fferi50 #52063 üzenetére
de ezek oszlopok nevei, ezeket nem lehet szeletelni. vagy?
szóval én az előzőekben csatolt képen látható oszlopokat akarom szűrni úgy, hogy mindig csak 1 kiválasztott látszódjon. mint ha a pivotból kivenném a többit. nyilván ez is lehetőség csak van pár egységsugarú kolléga, akinek ez magas lenne és elbaltázná az egészet.
-
karlkani
aktív tag
válasz
Fferi50 #51969 üzenetére
ThisWorkbook.Sheets(Textbox11.Value)Range.("A18")=
Tévedés, ebben a formában semmit nem fog adni.Én csak Range("A18")=-t adtam meg, .Formula nélkül is képletet tesz a cellába (2021-es Excel).
Range("A18") = "=21+SUM(F2:J2)-SUMIF(M2:M200,""SZ"",N2:N200)"
Töröltem a sok felesleges zárójelet. -
válasz
Fferi50 #51945 üzenetére
2 db költségvetési táblázatot hasonlítok össze, régit az újjal, hogy melyek azok a kódok, amelyek az újban is megvannak, manuálisan, egyenként csináltuk ez mindig. Sokszor a 2 összehasonlítandó fileban lévő tartalom felépítése is teljesen eltérő. Lehet, hogy lehetne ezt makrózni, de én ahhoz sajnos nem értek.
-
-szabi-
addikt
válasz
Fferi50 #51936 üzenetére
Szia
Így néz ki:
Valamiért ott egy plusz sor.
Kipróbáltam a tisztít függvényt, majd a tisztító cellából másoltam és beillesztettem az értéket de úgy is ott a plusz sor.
Az említett szöveget betettem egy új doksiba és feltettem a onedrivera: klikk.SZERK:
Az excel online jól jeleníti meg de ha offline excel 2016 nyitom meg akkor ott van.üdv
-
ny.janos
tag
válasz
Fferi50 #51837 üzenetére
Zseniális ötlet, köszönöm szépen! (Bár sokszor használom a feltételes formázást, itt és most valamiért nem jutott eszembe ezt használni.)
Mindenesetre elég gáz, hogy úgy tűnik ezek szerint, hogy nincs egyszerűen használható beépített formátumkód, ami ezt egy lépésben megcsinálná. -
lacipapi
csendes tag
válasz
Fferi50 #51762 üzenetére
Hello!
Megnéztem a neten, hogy lehet e pdf fájt csatolni, és ennek alapján csináltam. A leírás alapján minden lépés feljött (ebből gondoltam hogy lehet), de az eredmény az nem lett jó. A hiperhivatkozás nem csak egy internet cím lehet? Nekem az kellene hogy egy cellába beírt értékhez hozzá jegyen csatolva a számla is, ami pdf-be van. Ha nem pdf, akkor milyen típusú fájt lehet csatolni.
Üdv -
föccer
nagyúr
válasz
Fferi50 #51757 üzenetére
Erről tudnál még pár szót írni, hogy pontosan hogy és miért működik így? Nem vagyok programozó így nem látom át elsőre. Ezek azért nem akkora számok, hogy problémát kellene okoznia pontos számítársa. Nála is előjött ez az érték, pedig 100 lépéses iteráció van beállítva.
-
válasz
Fferi50 #51719 üzenetére
Persze, ebben egyetértünk. A fejet falbaverő smiley csak annak szólt, hogy korábban kaptunk egy kódrészletet, dobott hiba nélkül, ami kódrészlet meg simán működik. Abból a kódrészletből nem derült ki, hogy az Option Explicit ott figyel előtte valahol, a deklaráció meg szerepelhetett volna globálisan is valahol...
-
Vérboci
addikt
válasz
Fferi50 #51641 üzenetére
kényelmesebb a slicer, de nem oldja meg azt a problémát, hogy ha új héttel bővül a táblázat, akkor a pivotban az új hét csak akkor látszik, ha a a slicerben bekattintja.
Alapvetően nem lenne szükség szűrésre a pivotban, ha a régebbi elv szerint gyűjtött adatokat egyáltalán nem venné figyelembe.
legszívesebben kitörölném őket a 'csába, de nem lehet.
valamit trükköznöm kell... -
rovgab
csendes újonc
válasz
Fferi50 #51580 üzenetére
Szia!
Igen, pontosan így van ahogy leírtad. Annyi, hogy ennek a sorba rendezését (anyagszám, szavatossági idő és darabszám) megoldom még az SAP-ban, és az excel már egyből a rendes sorrendet tudja figyelni. Az első bejegyzésem nagyjából ugyanez, annyi különbséggel, hogy ott darabszámok voltak felsorolva a raklapok helyett. Csak gondoltam így teljes raklapokkal megírva egyszerűbb és átláthatóbb. -
Met
nagyúr
válasz
Fferi50 #51577 üzenetére
Akkor nem egyszerűsödik a helyzet ha berakok minden cikkszám elé valami karaktert?
Akkor is keverni fogja a megjelenítést?
Tulajdonképpen nem kell a cikkszámnak és a kép nevének egyeznie (azt hiszem) a táblázatból szedi össze hogy az abcd123 cikkszámhoz a kiskutya.jpg-t jelenítse meg. -
Met
nagyúr
válasz
Fferi50 #51574 üzenetére
TC-ből másolom ki a filenév listát, van amiben csak számok vannak, van amiben van betű is.
Utána ezt a listát illesztem be excelbe a megfelelő sorokba.
TC-ben két kattintás '-t tenni a filenév elejére.
Egyszerűbb pluszba betenni az '-t a filenév elejére mint végigpörgetni a listát azt keresve hogy hol cseszte el a megjelenítést. Főleg hogy a szerkesztőlécben sem látszik az eredeti tartalom és keresgélhetem a txt-ben hogy hanyadik sorba mi van írva.Jól gondolom?
-
rovgab
csendes újonc
válasz
Fferi50 #51538 üzenetére
Szia!
Bocsánat, nem voltam 2 napig gép közelben. Összedobtam egy példát, remélem így látszódni fog, hogy mit szeretnék elérni. Első oszlopok a megrendelések, a második oszlop a tárhelyek és a harmadik amit pedig kapni szeretnék eredményként. Bármilyen nyakatekert ötlet érdekel, hogyan tudnám kivitelezni. Egyáltalán lehetséges -e? Előre is köszönöm!
-
mouzrr
őstag
válasz
Fferi50 #51564 üzenetére
Nagyon-nagyon köszönöm Nektek a sok segítséget.
Másodjára már sikerült hogy a karakterek közötti "szóközt" másoltam ki és azt helyettesítettem "semmivel".
Van valami ésszerű magyarázat, hogy ez a kimutatás miért ilyen? A bank szoftvere ennyire béna, hogy különleges karakterként kezeli a szóközt?
-
mouzrr
őstag
válasz
Fferi50 #51550 üzenetére
Bármilyen más formátummá állítom, nem történik semmi. A tizedeseket sem tudom növelni/csökkenteni a gombokkal.
Kipróbáltam az általad javasolt kimásolást, azzal sem volt jó sajnos.
Mintha teljesen specializálódna a cella amíg a szóközöket manuálisan ki nem törlöm. Addig formátumot sem tudok módosítani, de ha többet kijelölök, az értékeket sem adja össze, csak mutatja hogy hány cellát jelöltem ki. -
Lendova
őstag
válasz
Fferi50 #51507 üzenetére
A 3 nyilazott között csak összeadás és kivonás szerepel és így lesz a karikázott negatív.
A végig nulla értékű cellát ha kiveszem a képletből, akkor már "jó". De ha nem veszem ki és a benne lévő számolt érték helyett nullát írok, ugyan így nem jó. Konkrétan olyan, mintha a 0-ból csinálni egy ici pici negatív számot csak úgy.
-
Lendova
őstag
válasz
Fferi50 #51499 üzenetére
Szia!
Ezt a részét már sikeresen összeszenvedtem.
De köszönöm így útolag is a segítséget, mutattál rá egy másik módszert is.
Ilyen gyönyörűséget sikerült:
=(SUM(IF(MOD(COLUMN(B6:BK6),2)>0,B6:BK6,0)))-(SUM(IF(MOD(COLUMN(B6:BK6),2)=0,B6:BK6,0)))+((COUNTIF(B6:BK6,"X"))/3)+((COUNTIF(B6:BK6,"BSZ"))/3)+((COUNTIF(B6:BK6,"FX"))/3)-((COUNTIF(B6:BK6,"pi"))/3)Amivel most küzdök az, hogy valamiért negatív értéket kapok a jobb alsó sarokba a nulla helyett. Csak a [h]:mm cellaformázás miatt ############ szerepel.
-
#77257183
törölt tag
válasz
Fferi50 #51392 üzenetére
Szia! Köszi, hogy időt szántál rá.
A segédoszlopokat sikerült a mintád alapján a saját táblázatomba megcsinálnom.
Viszont továbbra sem teljes a kép, hogy azokat miként kell a Szumhatöbb és Darabhatöbb függvényekbe használni. Hogyan kapom meg automatikusan, hogy x csapat utolsó öt meccsén pl. hány gólt lőtt vagy mennyi győzelmet szerzett. -
_NCT
addikt
válasz
Fferi50 #51324 üzenetére
Szerintem ez nem annyira egzakt és egyértelmű, hogy nem veszi bele a mai dátumot, legalábbis tól-ig lehetőségnél. Ha tól-ig beállítok értéket, akkor azért teszem, hogy azok is benne legyenek. Értem a matematikáját, csak ez eléggé félrevezető, legalább egy hint lehetne erről a súgóban. Szerintem ha valahol azt látod, hogy 17-31-ig zárva van valami, akkor nem hagyod ki a 17-et, hanem azt is beleszámolod a zárva tartott napok közé.
-
p5quser
tag
válasz
Fferi50 #51321 üzenetére
Az a baj az FmMatchEntryComplete-tel, hogy nem látom a listát.
Mellékelek egy videot, hogy kb. hogyan néz ki a felvitel működés közben.
Ez most egy random lista, de jól szemlélteti hogy rutinból ütve, tudja a felhasználó hogy a lista alján lesz amit keres (de nem OCD-s hogy megjegyezze a cikkszámát).
-
p5quser
tag
válasz
Fferi50 #51316 üzenetére
Először is, köszönöm a segítséget Neked és Muttnak!
Nyilván kicsit több infoval könnyebb kontextusba helyezni ezt "fel-le nyilasdit".
Szóval így néz ki a form;
Ez pedig a combobox3 (megnevezés) kódja;Private Sub ComboBox3_Enter()
ComboBox3 = scstr 'az előző keresési string
End Sub
Private Sub ComboBox3_Change()
If ComboBox3.Enabled = True Then
dic.RemoveAll 'Törli a dropdown list elemeket.
If Not Comb_Arrow And Len(ComboBox3) > 1 Then 'elkezd keresni a második leütött karaktertől
For i = 1 To lrd
If InStr(LCase(ciktomb(i, 2)), LCase(ComboBox3)) > 0 And ComboBox3 <> vbNullString _
And Not dic.Exists(ciktomb(i, 2)) Then
dic.Add ciktomb(i, 2), Nothing
ComboBox3.List = dic.keys 'a találatokat egy dictionary-be gyűjti
End If
Next i
With ComboBox3
scstr = .Text 'lementi az előző keresési stringet, mert sok hasonló nevű van, így nem kell újra beírni
If dic.Count = 0 Then .List = dic.keys
If dic.Count = 1 Then 'ha csak egy találat van beugrik a textbox1-be.
.ListIndex = 0
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
Exit Sub
End If
If .Enabled = True And dic.Count > 1 Then .DropDown
End With
End If
End If
End Sub
Private Sub ComboBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Comb_Arrow = (KeyCode = vbKeyUp) Or (KeyCode = vbKeyDown) 'a fel-le nyíllal belelép a listába, de mindig a tetejére.
If KeyCode = vbKeyReturn Then 'enterrel (vagy clickkel) kiválasztja a tételt és a textboxba lép
ComboBox3.List = dic.keys
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(.Text)
End With
End If
End Sub
Ezek alapján lehetséges egyáltalán hogy alulról lépjen bele a legördülő menübe a felfelé nyíllal?
Még egyszer köszönöm az ötletelést! -
p5quser
tag
válasz
Fferi50 #51304 üzenetére
Valami hasonlóval próbálkoztam még régebben;
If KeyCode = vbKeyUp Then
If ComboBox3.ListCount > 0 Then
ComboBox3.ListIndex = ComboBox3.ListCount - 1
End If
......
De ez volt az, amelyiknél felugrott alulról a második elemre a listában és onnan sehová nem mozdul a nyilakkal.
Ez egyébként egy "kereső"-combobox, a bevitt karakterekre szűrve változik a legördülő lista. -
-
Pá
addikt
válasz
Fferi50 #51283 üzenetére
Köszi!
Munkafüzetet nyitok meg.
Igazából ezek teljesen különálló fileok, megnyithatom őket a gépről is, shared driveról is, netről letöltve is, chatprogramon keresztül megkapva is stb...Igazából annyit szeretnék, hogy mondjuk a gépen dupla katt-al megnyitom az excel filet és amikor felugrik a password ablak, akkor VBA ismerje fel, hogy most egy "olyan" file-t nyitottam meg és írja be a jelszót magától és okézza le.
Az a nehézség, hogy ha jól tudom, akkor az Excel nem tekinti megnyitottnak a munkafüzetet, amíg a jelszót nem írtam be, így nem tudom mivel triggereljem a makrót, mert azt olvastam, hogy az openworkbook ebben az esetben nem működik.
-
föccer
nagyúr
válasz
Fferi50 #51275 üzenetére
Egy kis WoT, hátha érthető az egész történet.
Főnökség ad-hoc jelleggel talál ki különböző statisztikai mutatókat és azokon "finomhangolnak" hogy éppen mit akarnak látni. 3 évre visszamenőleg, havi bontásban. Az egyes elemzéseket külön-külön rakom össze a táblákat és makróval pörgetem az időket bennük, betöltött alapadatokat. Alapadatok célszoftver riportáló eszközéből jönnek. Van hogy olyami kell, ami már meg van írva, csak más időintervallumra. Igen ám, de a gyártásfelügyeleti célszoftver nem minden riportban ad dátumot, csak a riport eszközben lehet beállítani, hogy milyen dátumok közötti adatokat adja meg. Így vagy havi bontásban szedegetem le a riporterből, vagy egy másik riporot hazsnálok, amiben van ugyan dátum, de nem arról szól amit nekem fel kell hazsnálnom. Így erre készítettem egy konverziót táblát, ami a dátumos riportból elkészíti a szükséges riport formátumot és azt átrakja az eredeti számoló táblába. Így lehúzom a 3 éves adatsort, bepakolom a konverziós táblába, ami legenerálja a szükséges riport formátumot a megfelelő havi bontásban és szépen megeteti a számoló táblával. Indítaná a számoló táblának a makróit, ami megcsinálja szsükséges elemzéseket, lementi az eredményt, majd jöhet a következő hónap, szűrés, riport generálást, adat átadás, elemzést mentés. És így tovább....
De akkor lehet azt kellene csinálni, hogy minden, már megírt makrót átrakok az riport konverziós excelbe és onnan vezérlek mindent. Igen ám ez jó is lehet, mert a 4 sub-ot bele fogom 1 for ciklusba ami végig megy a hónapokon. De mivel tudom biztosítani, hogy 1 for-on belül a 4 sub úgy fut le, hogy szépen, megvárja az egyik a másik futását, és minden rendben kiszámolódik és lementődik.
föccer
-
13128814
tag
válasz
Fferi50 #51270 üzenetére
Utána az AI:AR utolsó sora ami szintén sum függvényekből áll bemásolódik a következő helyre:
[link] (utolsó sor)
[link] (ide másolódik)Ami izgi, az az, hogy utána generálódik még egy pivot, viszont ott már azokat a kártyákat vizsgáljuk ahol a változás "1":
Biztos van szofisztikáltabb megoldás ezekre, én is csak örököltem ezt a feladatot, csak mivel simán elmegy 1 - 1,5 óra rá hetente, gondoltam megpróbálom lemakrózni. Az más kérdés hogy már annyi munkaórám van benne, mintha fél évig manuálisan töltögettem volna.
De ez a "tudás" már az enyém!
Végül is úgy oldottam meg, hogy bekapcsoltam a szűrőket, és utána húztam végig a képleteket:
With PSheet.PivotTables("PIVOT").PivotFields("változás")
.Orientation = xlPageField
.Position = 2
.PivotItems("0").Visible = True
On Error Resume Next
.PivotItems("(blank)").Visible = False
.PivotItems("1").Visible = False
On Error GoTo 0
End With
With PSheet.PivotTables("PIVOT").PivotFields("Elérhető")
.Orientation = xlPageField
.Position = 3
.PivotItems("1").Visible = True
.PivotItems("2").Visible = True
' Hide other items if present
On Error Resume Next
.PivotItems("(blank)").Visible = False
.PivotItems("0").Visible = False
On Error GoTo 0
End With
Bár ettől függetlenül nagyon zavar hogy ilyen lett, mert így nem tetszik. Kicsit tróger megoldásnak érzem. -
13128814
tag
válasz
Fferi50 #51266 üzenetére
Először is köszönöm a válaszodat!
Ez a kimutatásadatotvesz nem lesz barátom.
De ez engem minősít és nem a képletet.
Akkor fordítsuk meg a dolgot, megmutatom az excelt hátha találunk egy kiskaput.
Alapvetően 3 excel van, van egy "generátor" amiből fut a makró, és tartalmaz olyan lapokat amikben benne vannak a sablonok. Az új excel alapja egy csv lekérdezés ami tartalmaz 300k+ sort. És tulajdonképpen az előző heti excelben lévő adatokat vetem össze az aktuálisat.
A generált excel releváns lapjai - amiben szeretném a pivotot legenerálni (ez a pivot tartománya, forrása):
A-tól G-ig az adatok egy lekérdezésből jönnek.
H-tól S-ig ezek képletek amiket a forráskódban tartok.
És ilyen pivotot szeretnék:
Ez már a szűrt állapot.
AH-tól behúzom az A oszlop tartalmát.
AI-tól pedig képletezve van szum függvényekkel, amiket képzelj így:
Tehát ezért lenne fontos hogy a pivot szűrése után eltűnjenek a mellette lévő sorok. És ugye mivel mikor manuálisan generálom le a pivotot, akkor pont úgyis viselkedik a többi sor, ahogy jó. Azaz egy szűrés után eltűnnek, ezért gondoltam azt hogy van valami beállítás.
De ha nincs! Akkor az emgoldás lehet, hogy valahogy úgy generálom le hogy már szűrve -> frissítem a pivotot, és utána futtatom le a fejléc + függvény subot?
-
vakondka
őstag
válasz
Fferi50 #51263 üzenetére
Szia,
Köszönöm a segítséget, nagyjából hasonló dolgokat gugliztam össze.
Azóta rájöttem, hogy normál cellába beírva hibátlanul működik, pl egy A2 mezőn, viszont nekem ez volt a képlet a cellában amit kibővítettem és az ilyen képletekkel nem hajlandó együttműködni:=RemoveAccents(srenter!E2:E13000)Kijavítottam erre és hibátlan: =RemoveAccents(srenter!E2)
Így viszont csak hagyományos módon tudtam kitölteni a 13000 cellát lefelé, viszont működik -
föccer
nagyúr
válasz
Fferi50 #51124 üzenetére
Össze kell fűzni, hogy melyik hónapnak a munkalapjáról kell kivenni. Nem fogom a függvényeket átírni, hanem csak 1 legördíthető cellából lehet kiválasztani az elemezni kívánt hónapot és indítani a makrót, ami szépen dolgozik és megcsinálja arabszolga munkát
Lehet nem elegáns
üdv, föccer
-
föccer
nagyúr
válasz
Fferi50 #51122 üzenetére
Nem az azonosítókat kell összehasonlítani, hanem az azonosítók által meghatározott sorokat, illetve azok adattartalmát. De alakul.
Már megvan az, hogy választható hónapra megvannak az egyedi sor azonostók és azok alapadatok beli pozíciója, sorazonosítója. Innentől kezdve indirektel simán kiszedem egy segédtábláta az aktuális és megelőző hónap adatait (szintén indirekttel összefűzve a képletet) a 2 kikeresett adatsor alá meg nyomok egy sima ha függvényt, ami eltérés esetén 1 eredményt ad, majd az ellenőrző sort szummázom. Ha szum=0, akkor azonos, ha nem akkor adott sor módosult és a mekró visszaírja ennek tényét.
Jó lesz ez, csak végig kellett gondolnom. Imádom az indirekt függvényt is.
üdv, föccer
-
föccer
nagyúr
válasz
Fferi50 #51120 üzenetére
Van egy üzem és egy receptszám oszlop. Az adatok országos listák, így minden üzem adata megvan benne. Viszont vannak olyan receptszámok, amik több üzemben is léteznek. Receptszám üzem szinten uniq, de globál szinten nem. Technikailag összefűtöm az üzem nevét és a receptszámot és ez adja a globál uniq azonosítót. hosszú évek óta így használom, kényszerből.
üdv, föccer
-
föccer
nagyúr
válasz
Fferi50 #51118 üzenetére
Most az idei évet kell megcsinálnom, 1-5 hónap lesz terítéken.
A havi adatokat az A01;A02;A03;A04....A12 nevű munkalapokra rakom.
Minden ilyen munkalapon A
F oszlopokban vannak az adatok. 1 sor fejléc, alatta válozó mennyiségű sorban. Oszlopok adattipusai változó, szöveges, számos.
Az egyedi sorazonosítókat egy külön munkalapon (Seged_modositasok) gyűjtöm össze Ez megadja, hogy milyen egyedi azonosító volt, melyik hónapba (milyen sorban). B oszlopba az első hónap azonosítói, C oszlopba írnám ki, hogy volt-e változás. (első hónapra nem lehet ellenőrzést futtatni, nincs előtte lévő adat). D oszlop, 2. hónap egyedi azonosítói, E, változott-e? F oszlop, 3. hónap alapdataim G oszlop változott-e?
Futtatás előtt kiválasztom Seged_modositasok!AC2 cellában lévő hónapot, ami [A02;A03....A12] értéket vehet fel. Ez megegyezik az alapadatok munkalapjainak a nevével és a Seged_modositasok fül első sorában lévő azonosítókkal (itt lesznek az egyedi azonosítók felsorolva.
A metodika valami olyasmi lenne, hogy sorban bepakolom egy szűrővel az adott havi és az előző havi egyedi azonosítókat és vizsgálom, hogy oszloponként volt-e eltérés-e vagy sem.
Nehezítés, hogy nem biztos, hogy lesz olyan azonosító, ami az előző hónapban még nem volt, így ezt kezelni kell, de azért ez még menni fog.
Jah, hogy így végig gondoltam makróval meg némi szűréssel nem is megoldhatatlan a feladat.
Hmm, mielőtt még nekiugranátok adjaotk még pár órát, lehet, hogy meg is csinálom.
fg
-
föccer
nagyúr
válasz
Fferi50 #51092 üzenetére
Közben kibogarásztam, nagyjából értem. Csak nem ismerem a szintaktikai lehetőségeket a vba-ban.
Delila_1: O365 van a céges környezetben, így minden adott. Asszonynak csináltam valamelyik héten egy oda-vissza kereső táblát, de náluk valami rettenet régi verzió van, pedig elvileg államilag elérhető lenne nála is az O365, de a rendszergizdáék nem akarják felrakni, mert egyébként a cégnél senki nem használja az outlook-word kombón kívül. Outlookba névjegyeket minek frissíteni, van egy wörd vezetve az új belépökkel....
Totál káosz. Szóval ide próbáltam csinálni egy táblát, de annyira funkciószegény a régi verziója az O365 natív tömbfüggvényeihez képest, hogy inkább rábíztam asszoynyágra h győzze meg a főnökeit, hogy frissítsenek O365-re
üdv, föccer
-
föccer
nagyúr
válasz
Fferi50 #51011 üzenetére
Bonyolultnak tűnik. Ha már megvannak a sor azonosítók, akkor sokkal egyszerűbb végig menni. Extrém esetben is ~100 sort kell átrakni 1-1 fájlból. Az egész éves "termés" 4500-5000 sor az összes fájlban. Eddig fájlonként, évente 1-2 alkalommal volt frissítve, manuálisan elbabráltam vele. Most havonta 1-2 alkalommal kell végig fésülni az összes fájlt. Eddig alkalmanként 10-50 sort szedtem be egy fájlból, most már 0-10-et. 10xére nőtt a munka, amit kiváltanék
Egyébként megvan a kód, fut is szépen. Hibakezelés lehetne még benne, de majd egyszer.
Most még a forrás fájlokat kell átalakítanom, uniformizálnom, immáron az éles könyvtárban. Elmolyolok vele, oszt ami eddig volt 1-1,5 nap, most lemegy 15 perc alatt. Kár, hogy a felszabadult időt nem tölthetem a családommal
Köszi még egyszer a segítséget.
üdv, föccer
-
föccer
nagyúr
válasz
Fferi50 #51008 üzenetére
Ismét köszönöm a segítséget.
Minden nap tanul az ember.
A másolandó soron nem egymás alatt vannak. Kigyűjtöm függvénnyel azokat a sorokat, amik kellenek nekem, és ezeket a sor számokat fogom berakni az Akt_sor változóban
Apropó, még egy kérdés. Olvasgattam, hogy a VBA a dinamikus tömböket nem szereti és valami más trükk van a használatára. Próbáltam is a Dim Sorazonositok As New List(Of Integer) kifejezéssel megnyitni a tömböt, amibe bepakolnám az azonosítókat, de nem tetszik neki.
Most csináltam egy statikus tömböt és oda rakom fel a forrás fájl megnyitása után a szükséges azonosítókat (a szükséges sorazonosítókat minden forrás fájl, saját maga kalkulálja egy elrejtett munkalapon. 35 ilyen betöntő fájl van, amit a kollégák töltögetnek az ügyviteli rendben.
Igen, tudom hogy mennyivel jobb lenne célszoftverrel, de az nincs
Új hozzászólás Aktív témák
- ANNO 1800
- Poco F7 – bajnokesélyes
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- One otthoni szolgáltatások (TV, internet, telefon)
- iPhone topik
- sziku69: Szólánc.
- Mini-ITX
- Wise (ex-TransferWise)
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- További aktív témák...
- GYÖNYÖRŰ iPhone 12 64GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3653,90% Akkumulátor
- GYÖNYÖRŰ iPhone 13 mini 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3407
- BESZÁMÍTÁS! Apple Macbook Pro 13 2020 M1 16GB 1TB SSD macbook garanciával hibátlan működéssel
- Apple iPhone 12 Pro 128 GB Pacific Blue 1 év Garancia Beszámítás Házhozszállítás
- HPE Aruba switch, 48G PoE+, 4SFP+, L3, Smart managed
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő