- iPhone topik
- Keretmentesít a Galaxy S25 FE
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- One mobilszolgáltatások
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Xiaomi Watch 2 Pro - oké, Google, itt vagyunk mi is
- Samsung Galaxy S20 és S20+ duplateszt
- Magyarországon is kapható a Moto G85 5G
- Samsung Galaxy A56 - megbízható középszerűség
-
Mobilarena
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
ReSeTer #53933 üzenetére
A szumha (ha emlékeim nem csalnak), akkor úgy működik, hogy az összeg tartományban vizsgálja a kritériumokat. Klasszikusan add össze a nullánál nagyobb számokat. A szumhatöbb esetében külön van választva az összeg tartomány és a kritérium tartománya (nem mellesleg több feltétel is megadható). Szumha függvény ezer éve nem is használtam, mert a szumhatöbb mindent tud, mint a szumha.
-
Mutt
senior tag
válasz
ReSeTer #53438 üzenetére
Szia,
32-bites Officet telepítsetek. Nem fogod hátrányát észrevenni, de ha nagyon kell akkor van Large Address Aware patch ami tud segíteni hogy a 32-bites programok 2GB-nál több memóriát lássanak/használjanak 64-bites környezetben.
Ha szükséges a jelszavas kód megtekintése, akkor van rá megoldás.
Excel off the grid megmutatja őket, van kész letölthető fájlja is ami segít neked.üdv
-
válasz
ReSeTer #53436 üzenetére
Ha visszarakom a DAO-t, akkor pedig az eredeti problémához jutok vissza.
Igen, mert ez nem csinál semmit (32 bites, nem műxik)
Az MSODAO megoldotta a korábbi hibát, hisz előtte komplett hiányzott egy Class (osztály), a nem működő 32 bites DAO miatt, utána meg nem volt ott gond.Kipróbáltam, debuggoltam: MSOADO nélkül hiba | MSOADO-val hibátlan.
Te is úgy debuggolod a kódot? Biztos, hogy azon a soron hal be?
Ettől függetlenül veszett ügy, mert ha még meg is lehet oldani a dolgot, akkor sem tudod módosítani a makrót (ahogy korábban írtad)
UI: Nem tudom, hogy ez mennyire járható út számodra, de ha fontos, hogy ez a táblázat, ezzel a makróval működjön, akkor talán egy virtuális gépben kellene gondolkodni, ami alá felpakolni egy 32 bites Office-t...
-
válasz
ReSeTer #53433 üzenetére
Igen, sajnos itt az a helyzet, hogy 64 bites DAO már nincs. Azért másoltad át a DAO360.DLL-t, mert egyébként nem is lehetett volna hozzáadni a referenciákhoz. Sajnos az a DAO fájl 32 bites...
Nem tudom pontosan mihez kell/mit csinál a makró, csak arra gondolok, hogy valami régebbi adatbázis (access, paradox stb stb) áll a háttérben. Ha így van, akkor egy dolgot még meg lehet próbálni, mivel a DAO-t leváltotta az ACE és ez létezik x64-ben, talán lekezeli a dolgot, amit a makró megkíván.
A régi DAO 3.6-t távolítsd el a referenciából és ezt add hozzá. Gépet indítsd újra (nem elég csak az Excel-t) és próba. -
-
sztanozs
veterán
válasz
ReSeTer #48249 üzenetére
Mik a hibák?
Illetve próbáld meg egyesével hozzáadni a Watches ablakhoz a az összes szintet, és nézd meg, hol veszik el a referencia:wordapp
wordapp.ActiveDocument
wordapp.ActiveDocument.Sections
wordapp.ActiveDocument.Sections.Item(1)
wordapp.ActiveDocument.Sections.Item(1).Footers
wordapp.ActiveDocument.Sections.Item(1).Footers(wdHeaderFooterPrimary)wordapp.ActiveDocument.Sections.Item(1).Footers(wdHeaderFooterPrimary).Range
wordapp.ActiveDocument.Sections.Item(1).Footers(wdHeaderFooterPrimary).Range.Text
wordapp.Selection
-
Fferi50
Topikgazda
válasz
ReSeTer #47893 üzenetére
Szia!
Természetesen lehet. Paraméteresként kell létrehoznod a "sablon" eljárást (vagy függvényt ez utóbbi esetben tudsz értéket visszakapni.)
Itt nézhetsz utána hogyan kell
Üdv. -
Fferi50
Topikgazda
válasz
ReSeTer #47641 üzenetére
Szia!
A hibaüzenet - Type Mismatch - azt jelenti, hogy nem azonos típusú adatokkal szeretnél műveletet végezni. Ahogyan írtad is, a talalatsorszama változód értéke HIBA, hibához pedig nem lehet hozzáadni számot.
További megjegyzés:
A Match által visszaadott sorszám mindig a vizsgált tartományra vonatkozik.
Pl. Ha azA1:A100
tartományra ad vissza 2-t, akkor az A2 celllában van a találat.
Ha azA2:A100
tartományt vizsgálod és ott 2 az eredmény, akkor az A3 cellában van a találat,í mert az a tartomány 2. cellája!
A keresés ismétlésénél így a képleted szerint az A (2+1=3) cellától fog indulni a keresés, aminek az eredménye 1 lesz ---> vagyis a találatod ugyanabban az A3 cellában lesz.
Mivel most a találatsorszama eredménye 1, ezért a képleted alapján a következő keresési tartomány az A (1+1=2) cellától indul. Ez így szép kis végtelen ciklussá alakul át.
Vagyis meg kell jegyezned, hogy az előző találatnál honnan indult a keresési tartomány és abból az értékből kiindulva kell a következő keresési tartomány kezdő értékét beállítani.
Még egy megjegyzés:
Szerintem érdemes megnézned a Range Find metódusát is. Ez megkeresi a feltételnek megfelelő cellát és annak a sorát megkaphatod a Row tulajdonsággal. Jó kis példa is van a folytatólagos keresésre a HELP-ben. [link]
Üdv. -
Delila_1
veterán
válasz
ReSeTer #47617 üzenetére
Betettem két soremelést az Else ágba, hogy feltünőbb legyen a sorszám.
Sub Talalat()
Dim talal
On Error Resume Next
Columns(2).ClearContents 'A későbbi beírás miatt törlöm a B oszlop adatait
talal = Application.Match(Range("G1"), Columns(1), 0)
If VarType(talal) = vbError Then
MsgBox "Nem található a G1 cella értéke az A oszlopban", vbInformation, "Hiányzó szöveg"
On Error GoTo 0
Else
MsgBox "G1 cella tartalmának sorszáma az A oszlopban: " & vbLf & vbLf & talal, vbInformation, "Sorszám"
'Itt felhasználjuk a talal változó értékét
Range("B" & talal) = "Ebben a sorban van a G1 cella értéke"
End If
End Sub
-
Delila_1
veterán
válasz
ReSeTer #47611 üzenetére
Sub Talalat()
Dim talal
On Error Resume Next
talal = Application.Match(Range("G1"), Columns(1), 0)
If VarType(talal) = vbError Then
MsgBox "Nem található a G1 cella értéke az A oszlopban", vbInformation, "Hiányzó szöveg"
Else
MsgBox "G1 cella tartalmának sorszáma az A oszlopban: " & talal, vbInformation, "Sorszám"
End If
On Error GoTo 0
End Sub
-
Fferi50
Topikgazda
válasz
ReSeTer #45459 üzenetére
Szia!
Itt találod az End magyarázatát
Gyakorlatilag azt csinálja, mint amikor egy cellán állva az End billentyűt használod a nyíl billentyűk előtt a gyorsabb mozgáshoz. Alapvetően 1 db cellából kiindulva használható, de nem haragszik meg akkor sem, ha tartományt adtál meg - úgy mint te, de ebben az esetben a tartomány első cellája lesz a kiindulási alap. Tehát a második Range egy cella lehet.
Ha megfigyeled az End billentyű működését, láthatod, hogy az utána következő nyíl billentyű az azonos fajtájú - kitöltött/üres - cellasor végére/elejére ugrik.
Mindig a kiválasztott cella sorában/oszlopában mozog. A te esetedben az A5 cellából indul lefelé és az utolsó még kitöltött cellát adja meg. Ha lenne közte üres cella, akkor csak addig ugrana le. (Próbáld ki, hogy kitörölsz átmenetileg pár cellaértéket.)
Amennyiben a többi oszlopban az A oszlopnál lejjebb is van még adat, ez akkor sem ad megfelelő értéket - a többi oszlop adata túl fog lógni a kiválasztott soron/területen.
Ezért kell megnézni az adatokat, képleteket tartalmazó cellákat.
Üdv. -
Fferi50
Topikgazda
válasz
ReSeTer #45456 üzenetére
Szia!
Lehet, hogy túlgondoltam vagy nem értettem pontosan, mit szeretnél.
de nem láttam, hogy bármit is kijelölne, sőt a nextnél mindig visszamegy a For Each részig.
A For .... Next egy ciklus, pont az a lényege, hogy a két utasítás közötti részt többször is végrehajtja.
A kijelölés pedig a Next után történik, miután mindent megvizsgált.
A SpecialCells(xlCellTypeLastCell)) a munkalap utolsó használt celláját adja vissza
a SpecialCells(xlCellTypeFormulas) azokat a cellákat, amelyekben képletek vannak
a SpecialCells(xlCellTypeConstants) azokat, amelyekben értékek vannak.
Mivel nem kizárt, hogy a használt terület nem összefüggő, vannak üres sorral és oszloppal elválaszott munkalaprészek, ezért végigmegy ezeken a területeken és megnézi, hogy mely sorokat-oszlopokat foglalja el. Ezek közül a legmagasabb sorszám és legnagyobb oszlopszám határozza meg a képlettel és/vagy értékekkel kitöltött területet.
Jelenleg sikerült ezzel megoldani látszólag:Range("A5:RG5", Range("A5:RG5").End(xlDown)).Select
Ez akkor jó, ha tudod biztosan, hogy melyik az utolsó oszlopod és abban az oszlopban minden cella ki van töltve.
Egyébként ebben a kódban nem tudom mit jelent a második range értéke.
Melyik kódra gondoltál? Arra amit most használsz vagy arra amit küldtem?
Amit most írtál, abban az RG oszlop 5-től lefelé a folyamatosan kitöltött utolsó cellát jelenti.
Az enyémhez fentebb írtam a magyarázatot.
Üdv. -
Fferi50
Topikgazda
válasz
ReSeTer #45446 üzenetére
Szia!
Ez a makró az olyan cellákat veszi figyelembe, amelyekben konstans vagy képlet van. Remélem mindkettő megtalálható a munkalapodon:Sub erd()
Dim ter As Range, maxrow As Integer, maxcol As Integer
Application.EnableEvents = False
For Each ter In Union(ActiveSheet.UsedRange.Range(Cells(5, 1), ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell)).SpecialCells(xlCellTypeFormulas), ActiveSheet.UsedRange.Range(Cells(5, 1), ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell)).SpecialCells(xlCellTypeConstants)).Areas
maxrow = Application.Max(maxrow, ter.Row + ter.Rows.Count - 1)
maxcol = Application.Max(maxcol, ter.Column + ter.Columns.Count - 1)
Next
ActiveSheet.Range(Cells(5, 1), Cells(maxrow, maxcol)).Select
Application.EnableEvents = True
End Sub
Ezután kijelöli azt a területet, amelyben ezek a cellák találhatóak.
Ha nincs képleted vagy beírt konstansod, akkor Nincs ilyen cella hibával meg fog állni. Akkor jelezz vissza légy szíves.
És akkor is ha nem ezt akartad, vagy ezt akartad és sikerült.
Köszi. -
Fferi50
Topikgazda
válasz
ReSeTer #34199 üzenetére
Szia!
Az A oszlopban vannak az értékeid, a B oszlopba kerül a képlet:
B1 cellába 1
B2 cellába =HA(A2=A1;B1+1;1)
Ezt a képletet húzod lefelé.Annyit kell tenned, hogy feltételes formázással kiemelni a 3-nál nagyobb értékeket (mivel valahogyan számolni kell 3-ig is..)
Vagy egy másik megoldás tömbképlettel:
=HA(MAX(HA(A:A=A1;DARABTELI(A:A;A1)))<3;"";MAX(HA(A:A=A1;DARABTELI(A:A;A1))))
Ezt lehet lehúzni. Minden olyan sorba beírja az előfordulások darabszámát, amely értékből 3-nál több ismétlődik egymás után.
A tömbképletet Ctrl+Shift + Enterrel kell bevinni és az Excel kapcsos zárójelbe teszi.Üdv.
-
0P1
aktív tag
válasz
ReSeTer #34199 üzenetére
Hát ezt két segédoszlop igénybevételével tudom a legegyszerűbben elképzelni :
Ha pl az A oszlopban vannak az adataid, akkor B2-be írd be:
=HA(ÜRES($A2),0,1)
és húzd le a képletetC4-be meg, hogy
=ÉS(SZUM(B2:B4)=3,SZUM(B1:B3)<3)
és húzd le ezt isAztán valahova írd be, hogy
=DARABTELI(C:C,"IGAZ")
Persze durva tömbfügvényezéssel a segédoszlopok is kiküszöbölhetőek
-
0P1
aktív tag
válasz
ReSeTer #34193 üzenetére
Egy kicsit pontosítanád a kérdést?
Tehát azt szeretnéd, hogy ha háromszor vagy annál többször szerepel közvetlenül egymás után akármilyen érték (vagy ugyanaz az érték ? - ezt is pontosítsd) egymás alatt egy adott oszlopban, akkor megszámoljon, de mit? Az olyan cellákat, amik megfelelnek a fenti kritériumnak, vagy az ilyen cellatartományokat (range-eket) ?
-
Fferi50
Topikgazda
Új hozzászólás Aktív témák
Hirdetés
- Windows 11
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Mesterséges intelligencia topik
- Nintendo Switch 2
- Bittorrent topik
- Anglia - élmények, tapasztalatok
- Spórolós topik
- Kerékpárosok, bringások ide!
- Mielőbb díjat rakatnának a görögök az olcsó csomagokra az EU-ban
- További aktív témák...
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Új, bontatlan World of Warcraft gyűjtői kiadások
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Samsung Galaxy A14 64GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! AMD Ryzen 9 3900X 12 mag 24 szál processzor garanciával hibátlan működéssel
- Csere-Beszámítás!AMD Asztali számítógép PC Játékra! R5 5600/ RX 6700XT 12GB / 16GB DDR4 / 500GB SSD
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C docking station (akár 3x4K felbontás)
- Lenovo ThinkCentre M720s SFF / M920T tower -Számla, garancia, WIN11
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest