- bitpork: Augusztus 2- szombat jelen állás szerint.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- Fogkefe: elektromos vagy manuális?
- Magga: PLEX: multimédia az egész lakásban
- Parci: Milyen mosógépet vegyek?
- sziku69: Szólánc.
- Aggregátor gondjai, örömei, és elmélkedései
-
LOGOUT
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
-
djsunny
aktív tag
Sziasztok,
A segítségeteket kérném a következő problémában: árajánlatokat készítek Excelben és feltűnt, hogy viszonylag kevés adattal is meglehetősen nagyok az excel fájlok méretei.
Például adott egy négy Lapfüles dokumentum aminek 2MB a fájlmérete. Elkezdtem leszedni a lapfüleket mégnem rájöttem, hogy az egyik fül okozza a nagy fájlméretet. Már csak ez a munkafüzet van a fájlban viszont a munkafüzetből kitöröltem minden adatot. Szó szerint teljesen üres, ha kinyomtatom akkor egy üres lapot ad ki a nyomtató.
És a fájl méret még mindig 1.5MB.
Nagyon bosszantó, hogy nem jövök rá mi okozza ezt a jeneséget.
Van esetleg valakinek ötelete a témában? -
moklys1
aktív tag
Sziasztok
Ezt szeretném egy képletbe megfogalmazni:
JAVÍTÁS
B1 és a C1 cellák képleteit egyben.A1 200; B1 =A1*0,98; C1 =A1-B1
Előre is köszönöm
-
zhari
csendes tag
Van egy lejelszavazott .xla Excel makró bővítményünk aminek elfelejtettem a jelszavát. Valaki tudna segíteni a szerkeszthetővé tételében?
-
atillaahun
veterán
Ha bármelyik Excelbe beillesztek egy levél forráskódjából származó szöveget, akkor azt miért kész html-ként teszi be, nem pedig tiszta forráskódként?
Még az irányított beillesztésnél sem ajánl fel nekem választási lehetőséget.
Ez így nagyon nem baba. -
Mutt
senior tag
Hello,
A [<117642]0;[=117642] "szöveg" részben a 0 azt jelenti, hogy szám formátumot írjon ki ha a cella értéke 117642-nél (2222. február 2-ánál) kisebb. A 0 helyett éééé.hh.nn -ot adj meg.
2222. február 2-ára pedig csak azt írja ki, hogy "szöveg"A formátum képlet 4 részből áll, a részeket pontos vesszővel tudod elválasztani. Ezek az alábbiak:
1. pozitív számok megjelenítésének beállítása
2. negatív számok beállítása
3. 0 esetén megjelenítés
4. szöveges cellák megjelenítéseA négy részben lehet használni pár feltételt is ahogy a példádban is van szögletes zárójelek között kisebb, nagyobb vagy egyenlő műkődik.
Ezek alapján vmi ilyenre lenne célszerű bővíteni a formátumot : [<117642]éééé.hh.nn;[=117642] "szöveg";Normál;"Nem szám"
Ekkor dátum lesz minden 117642-nél kisebb szám (a negítvokra hülyeséget ír ki majd), 117642-re "szöveg",
szöveg esetén pedig "Nem szám"-ot ír ki.üdv.
-
Mutt
senior tag
válasz
81lendo$ #19190 üzenetére
Hello,
Pár hasznosabb XlPasteType értékek:
1. xlPasteAll - mindent fog másolni, tehát képletek, számformátumok, egyéb cella formátumok, keretek, kommentek
2. xlPasteValuesAndNumberFormats - a cellákat értékként fogja másolni számformátummal együtt
3. xlPasteValues - a cellákat értékként másolja, minden mást kihagy
4. xlPasteFormulas - képleteket másol, minden mást kihagy
5. xlPasteFormats - formátum másolás, se értéket se képletet nem másolüdv.
-
Caipi
tag
Sziasztok,
Egyedi formátumkód kialakításában szeretnék segítséget kérni:
Azt szeretném, ha egy adott dátum beírásakor a cellában egy szöveg jelenjen meg helyette.
Az egyéni formátumom így néz ki:
[<117642]0;[=117642] "szöveg"
Annyi problémám van vele, hogy ebben az esetben a cellákban a dátumok számformátumban jelennek meg(41640, 41400, stb).
Hogyan kellene módosítanom, hogy dátumokat kapjak?Köszönöm,
Caipi -
81lendo$
csendes tag
Sziasztok!
Lenne egy kérdésem: (PasteSpecial-nál)
Melyik XlPasteType enumeration használjam, ha csak az értéket és a formátumot (ez esetben a Ft) másolja a képletet ne amivel számoltuk?
Előre is köszi! -
pirit28
csendes tag
Jóó napot az uraknak ,hölgyeknek !
Ismét küzdök,ebben kérném segítségeteket..
="Ide szöveg kerül"&VLOOKUP(B89;$A$19:$D$77;3;0)
Az fkeres egy időformátumot keres,de ha ilyen formában fűzöm össze a 2-t akkor az időformát átalakítja számra..
Lehetséges -e hogy 1 cellában egy szöveg után legyen időformátum.. ?
A választ előre is köszönöm
-
rtom
senior tag
Szevasztok!
Arra keresek megoldást, hogy egy makrós üzenetemre ne kelljen OK-t nyomni, hanem mondjuk 2 mp után magától tűnjön el (így nem kívánva interakciót a táblázat kezelőjétől, adatfeltöltésnél akarok visszajelzést adni, hogy minden jól ment, de ne kelljen neki a kézi szkennert letenni és enter-t nyomni). Találtam egy MsgBox-os megoldást:
Sub SelfClosingMsgBox()
CreateObject("WScript.Shell").Popup "Hello", _
2, "This closes itself in 2 seconds"
End Subde kíváncsi lennék, van-e ettől vmi egyszerűbb.
-
lappy
őstag
válasz
ElemiKoczka #19179 üzenetére
Szia!
ezt kell beírnod
If Not Intersect(Target, [A:B,E:G]) Is Nothing Then
e helyett
If Not Intersect(Target, [A]) Is Nothing Then
-
aviator
tag
Sziasztok!
Szeretnék segítséget kérni a következő probléma megoldásában. Kellene egy egyszerű megoldás (akár makró) arra, hogy az excel egy adott cellán állva gombnyomásra átugorjon az alatta lévőre, kijelölje ami benne van és alkalmazzon rá egy másolás parancsot. A lényeg a kijelölésen lenne, azt a két billentyűkombinációt kéne megvalósítani, hogy F2 és Ctrl+Shift+Home. Erre azért van szükség, mert egy másik programba kell átvinnem a cellák tartalmát, ami érzékeny a formázásra tehát ha cellát jelölök ki és másolok beillesztek akkor a sortöréseket nem veszi figyelembe a program, helyette viszont betesz hülye karaktereket.
IT-s kollega ma eléggé izzadt rajta, úgyhogy nem tudom, hogy egyáltalán megoldható e a feladat?Előre is köszönöm a segítségeteket!
Üdv:
Ádám -
Caipi
tag
válasz
Zola007 #19174 üzenetére
Szia,
Ha jól értem az eredeti szöveg alapján szeretnéd rendezni, de úgy, hogy a kibővített szöveged jelenik meg.
Ha erre vonatkozik a kérdésed, akkor az eredeti, nem kibővített oszlopon rendezel, a mellette lévő oszlopban ott vannak a függvénnyel kibővített cellák. Ezután rejtsd el a rendezés alapját képező oszlopot pl.Példa:
A2: compound
B2: ="to"& a2A oszlop alapján rendezel, majd elrejted az A oszlopot.
Üdv,
Caipi -
Zola007
veterán
Még egy kérdés. Ha egy cellához hozzá akarok adni egy szövegrészletet, de úgy hogy ne adatként jelenjen meg, tehát rendezésnél ne számítson, azt hogyan kell megoldani?
pl.
to compound i tsiúgy szeretném, hogy az egészet tudja rendezni a "compound" alapján, tehát majd a a C-betűhöz rakja ne a T-hez
-
Mutt
senior tag
válasz
81lendo$ #19166 üzenetére
Szia,
A makró és a VBA ugyanaz, esetleg ha megosztod a rögzített makrót, akkor tudunk rajta csiszolni.
- az osztály névből egy új munkafüzetet készít, hasonló névvel
Új füzetet a Workbooks.Add paranccsal tudsz nyitni, mentéskor tudod megadni a nevet neki.
Ha lapról lenne szó, akkor Worksheets.Add a parancs, és a Worksheet.Name = Cstr(Range("C3")) műxik.- az egész táblázatot bemásolja oda
Adat másolása a Copy Destination:=<cél> paranccsal megy. Ha formátumot is kell másolni, akkor pedig a PasteSpecial használandó.
A táblázatot pedig egyben ki tudod jelölteni, ha benne állsz a CurrentRegion-al.- és tölődjön az első oldalról a már kész osztály.
Törléshez pedig a Delete parancs kell.Itt egy minimalista megoldás:
Sub CopyClass()
Dim wb As Workbook
Dim fajlnev As String
If Range("C3") <> "" Then
'megjegyezzük hogy milyen névvel kell menteni, egy kicsit tisztítunk rajta
fajlnev = CStr(Trim(Range("C3")))
'másoljuk a táblázatot E5-től kezdve
Range("E5").CurrentRegion.Copy
'nyitunk egy fájlt
Set wb = Workbooks.Add
'első fülére első cellájába berakjuk formázva képletek nélkül
wb.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
'mentjük a fájlt
wb.SaveAs fajlnev
'bezárjuk a fájl
wb.Close
'töröljük az eredeti táblázatot
Range("E5").CurrentRegion.Delete xlShiftUp
'töröljük az osztály nevét
Range("C3").ClearContents
End If
End Subüdv.
-
Mutt
senior tag
válasz
róland #19135 üzenetére
Hello,
..hogyan lehet rögzíteni a nyomtatási területet?..
Lap rendezése csoport-on belül nyisd meg az Oldalbeállítás párbeszédablakot és annak a Lap fülén lehet állítani a területet.
Ha dinamikusan változik, akkor pedig makróval:
Sheets("minta").PageSetup.PrintArea = "$A$1:$F$100"üdv.
-
Mutt
senior tag
Hello,
INDIREKT nélkül próbáld ki. Tehát:
=HIPERHIVATKOZÁS("[Excel fájl neve]"&B2&"!A1";B2&" megnyitasa")A fájlnevet pedig így tudod függvénnyel kinyerni:
=KÖZÉP(CELLA("filenév");SZÖVEG.KERES("[";CELLA("filenév"));SZÖVEG.KERES("]";CELLA("filenév"))-SZÖVEG.KERES("[";CELLA("filenév"))+1)üdv
-
81lendo$
csendes tag
Sziasztok!
A gomnak a következőket feladatokat kellene elvégeznie:
- az osztály névből egy új munkafüzetet készít, hasonló névvel
- az egész táblázatot bemásolja oda
- és tölődjön az első oldalról a már kész osztály.(ezt makróval megtudtam csinálna, de vba gyorsabb lenne)
Segítségeteket előre is köszönöm!
-
Zola007
veterán
Egy nagy táblázat egyik oszlopában kellene minden sor végére beraknom egy karaktert A szöveg változatos
Ténylegesen ott kellene lennie mint adat, az nem jó ha a cellaformázásban beállítok az egyénibenHogyan tudnám ezt megoldani rövid úton?
-
Delila_1
veterán
válasz
Scytha #19163 üzenetére
Remélem, nem vesztek el az adataid!
Azt nem írtam, hogy a "Más helyre másolja" opciót is kapcsold be.Ha már megvan a névsor, egy makróval elő lehet állítani annyi lapot, amennyi szükséges, és el is lehet nevezni az emberek nevével.
Mikor ez is megvan, egy másik makró széthajigálja a sorokat a megfelelő lapokra.
-
Scytha
tag
Köszönöm mindkettőtöknek a választ!
Delila_1: Először a te megoldásoddal próbálkoztam. A speciális szűrő (+ egyedi rekordok bekapcsolva) segítségévél annyit értem el, hogy megvan, hogy hány nevem van, minden egyebet törölt ezután mi a helyzet?
Végül is az egyszerű ABC-s sorba rendezéssel + utána másolás beillesztéssel is meg lehet oldani a problémám, de itt az a helyzet, hogy állandóan frissül a táblázat és azt szeretném, hogy automatikus kerüljenek a nevek a saját táblázatukba, ne kelljen állandóan manuálisan szórakozni és másolgatni.
-
Delila_1
veterán
válasz
Scytha #19158 üzenetére
Első lépésként létre kell hoznod annyi lapot, ahány neved van, és ezeket a neveknek megfelelően érdemes elnevezni.
Ehhez célszerű a neveket tartalmazó oszlopból létrehozni egy újat a speciális-, vagy régebbi verziókban irányított szűrő menüpont segítségével, a verziótól függetlenül legyen bejelölve a "Csak az egyedi rekordok megjelenítése" kapcsoló.
Ha kész a szűrés, mondd meg, melyik oszlopba szűrted a neveket, akkor már tovább tudunk lépni.
-
Caipi
tag
válasz
Scytha #19158 üzenetére
Szia,
Nem jelent megoldás számodra a Pivot táblák használata?
Excelben a beszúrás menüpont/kimutatás.
Ha minden egyes oszlopodnak van fejléce, akkor össze tudsz állítani a neked tetsző formátumú táblázatokat, amelyeket frissíthetsz is, ha új adatokat viszel be az alap táblázatodba.Üdv,
Caipi -
Scytha
tag
A következőt szeretném megcsinálni:
Van egy nagyon nagy táblázatom (több száz sorú és vagy 6-7 oszlopú) melynek egyik oszlopában nevek (személynevek) vannak (kb. 25 féle, tehát sokszorosan ismétlődnek). A célom az lenne, hogy a nevek szerint külön-külön táblázatokat csináljak (tehát így kb. 25 táblázatot) és az egész sor mindennel együtt menne át. Ami problémám az, hogy hogyan tudok úgy feltételt szabni, hogy az eredmény ne egy érték legyen, hanem az, hogy ha az érték (tehát a név) egyezik, akkor az egész sort másolja át egy új táblázatba.
Nagyon régen foglalkoztam már Excellel és nem tudok ezzel mit kezdeni. Úgy szeretném megcsinálni, hogy egy dokumentumon belül lenne 25 táblázat a 25 névnek külön-külön munkalapon lenne a táblázata.
Tudna valaki segíteni? -
Delila_1
veterán
Ez a függvény nálam sosem jött be.
A helyedben egy nyúlfarknyi makróval oldanám meg. Az első lap A oszlopába beírnám az egyes lapok nevét, a makró meg melléjük tenné a B oszlopba a hiperhivatkozást.Sub hiper()
Dim i As Integer
For i = 2 To Worksheets.Count
Cells(i - 1, 2).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, _
Address:="", SubAddress:=Sheets(i).Name & "!A1"
Next
End Sub -
DopeBob
addikt
válasz
Delila_1 #19149 üzenetére
Nem tudnám így egszerre másolni.
Most úgy mukodik a makróm, hogy az elso sortól az utolsóig végigmegy az eredeti táblán, és egy case eldonti, hogy az adott sort melyik munkalapra kell másolni.
Még arra gondoltam, hogy eloszor csak osszerakom a kijelolést és egyben másoltatom, viszont ilyenkor az eredeti táblán kéne tobbszor végigmenni.
-
DopeBob
addikt
Sziasztok, van egy tobb ezer soros excel munkalapom, amit szét kell válogatni.
Tobb kulonbozo munkalapra kerul az egész sor, bizonyos feltételek alapján. Minden sornak van helye.
Magát a másolást így tudtam megcsinálni, működik, de lassú:
Cells(i, 1).EntireRow.Select
Selection.Copy
Sheets("ize").Select
Cells(vevoRows, 1).EntireRow.Select
ActiveSheet.Paste
Sheets("original").ActivateVan erre olyan megoldás, hogy úgy szúrjak be egész sort egy másik munkafüzetbe, hogy ne keljen azt aktiválni?
-
Caipi
tag
Ott lesz a hunyó, csak nem jöttem rá, hogy mi az. A lapnév+cella rész ad hibát
Szerk:
ha csak a fájlnév+cellát adom meg, akkor nem #HIV-t kapok vissza, hanem elérési út nem található hibaüzenetet.
A fájl maga egy többek által elérhető meghajtóra fog kerülni, ahonnan megnyitják. Lehet, hogy ennek a definiálásnál van a hiba? -
Caipi
tag
Sziasztok,
Segítséget kérnék.
Hiperhivatkozás függvénnyel ugranék egy munkafüzet egyik lapjáról a másikra. A függvényben a munkalapok neveit cellából teszem be Indirekt fgv-el.
Szintaktikai problémám lehet, mert #HIV-t kapok vissza.
A felépítése:
B2 cella = munkalap neve (Próba 1)
C2 cella= hiperhivatkozás függvény
=Hiperhivatkozás(indirekt("[Excel Fájl Neve]'"&B2"'!A1");b2 & "megnyitása"))Köszönöm,
Caipi -
Delila_1
veterán
válasz
ElemiKoczka #19120 üzenetére
Rájöttem, hogy a #19121-ben nem azt a választ adtam, amire vártál.
Kerek óránál 600-t írj, 12:42-höz elég 1242-t írnod, 0:54-nél 054-et.Private Sub Worksheet_Change(ByVal Target As Range)
Dim ido, ertek
If Not Intersect(Target, [A:B]) Is Nothing Then
If Range(Target.Address) = "" Then Exit Sub
Application.EnableEvents = False
On Error GoTo Hiba
ertek = Target * 1
If ertek > 2359 Or ertek < 0 Or Right(ertek, 2) > 59 Then
GoTo Hiba
Else
Select Case Len(ertek)
Case 1, 2
ido = "00:" & ertek
Case 3
ido = "0" & Left(ertek, 1) & ":" & Right(ertek, 2)
Case Else
ido = Left(Target, 2) & ":" & Right(Target, 2)
End Select
Range(Target.Address) = Format(ido, "hh:mm")
End If
End If
Application.EnableEvents = True
Exit Sub
Hiba:
MsgBox "Hiba!" & Chr(10) & "Ilyen időpont nem létezik", vbInformation
Range(Target.Address).Select
Application.EnableEvents = True
End Sub -
nesh20
aktív tag
Szia!
Ez lesz az. Feltöltöm az egyik oszlopot adatokkal, nevekkel bármivel, ez akár több 100DB is lehet.
Mellette lévő cellába fkeres függvénnyel hozzá keresném amit épp szeretnék megnézni.
Hogy lehet ezt a Combobox-ot működésre bírni, se lenyitni se beleírni nem tudok, ha rákattintok csak átméretezni tudom.
Köszönöm! -
Mutt
senior tag
válasz
Delila_1 #19122 üzenetére
Hello,
Nem kell ChDir-el váltatni, azonban szerintem fontos lenne előbb ellenőrízni, hogy a megadott útvonal létezik-e egyáltalán.
Sub direktor()
Dim utvonal$
utvonal$ = Range("B1")
'ha nincs a végén \ akkor hozzáadjuk
If Right(utvonal$, 1) <> "\" Then utvonal$ = utvonal$ & "\"
'ellenőrízzük hogy a mappa létezik-e
If Dir(utvonal$, vbDirectory) <> "" Then
ActiveWorkbook.SaveAs Filename:=utvonal$ & "proba.xls"
Else
MsgBox "Hiba az útvonal nem létezik"
End If
End SubÉs talán esetleg ellenőrízni is célszerű, hogy a mappa írható-e:
Sub direktor()
Dim utvonal$
utvonal$ = Range("B1")
'ha nincs a végén \ akkor hozzáadjuk
If Right(utvonal$, 1) <> "\" Then utvonal$ = utvonal$ & "\"
'ellenőrízzük hogy a mappa létezik-e
If Dir(utvonal$, vbDirectory) <> "" Then
'ellenőrizzük, hogy a könyvtár írható-e
If GetAttr(utvonal$) And vbReadOnly = 0 Then
ActiveWorkbook.SaveAs Filename:=utvonal$ & "proba.xls"
Else
MsgBox "A megadott könyvtár nem írható"
End If
Else
MsgBox "Hiba az útvonal nem létezik"
End If
End Subüdv.
-
róland
veterán
Egy Excelben készített táblázat minden kinyomtatásakor szerepelni kellene a nyomtatott lapon a nyomtatás dátumának és a pontos időnek. Erre legjobb megoldás a MOST() függvény használata.
Viszont hogyan lehet azt megoldani, hogy minden nyomtatáskor AUTOMATIKUSAN frissüljön a függvény?
-
Mutt
senior tag
válasz
nesh20 #19111 üzenetére
Hello,
Olyan szűrőre lenne szükségem egy listához amiben ha elkezdem írni a kezdőbetűt kidobja azt amit én keresek! Megoldható ez valahogy?
A szűrővel vmit meg szeretnél jeleníteni? Egy vagy több találatod lehet?
Igazából csak ActiveX vezérlővel tudod elérni, hogy gépeléskor mutassa a találatokat. Ilyet a Fejlesztőeszközök fülön keresztül tudsz beszúrni, Combobox kell neked, amelynek a ListFillRange részébe kell beírnod a keresendő tartományt.
Ha LinkedCell-be írsz egy cella azonosítót, akkor ott megjelenik a kiválasztott érték, amelynek segítségével ki tudsz íratni más értéket is.
üdv.
-
Mutt
senior tag
válasz
pirit28 #19100 üzenetére
Hello,
..Szeretném ebből a táblából egy másik táblába kigyűjteni a neveket akik A műszakosak.
Kiindulni az if függvényből indultam el ,úgy hogy megnéztem az illető A műszakos-e vagy B.ezt az R és S oszlopban rögzítettem...
A problémám az az hogyha elfogynak a nevek akkor #num hibaüzenet fogad,amit szeretnél eltüntetni valahogyan, de nem tudom hogyan.
Ezt úgy tudod megoldani, hogy megszámolod hány értéket lehet kiírni, és ha annyit már kiírtál, akkor a semmit iratod ki.A COUNTIF(C:C;"A") megmondja hogy hány értéked van, hogy hányadik írod ki az pedig a SMALL-nál vhogy megadod. Vagyis a képlet vmi ilyen lehet:
=IF(COUNTIF(C:C;"A")<=small-ban a k értéke;eredeti képleted;"")Azonban hadd javasoljak egy másik megoldást is.
Ha nem akarod ABC sorrendben, akkor nem is kell az R és az S segédoszlop, mivel egy képletben meg lehet oldani. Én az alábbi mintával dolgoztam.
Ekkor az E3-ba ez a képlet kell:
=IF(ROWS(E$3:E3)<=COUNTIF($C:$C;E$2);INDEX($B:$B;AGGREGATE(15;6;ROW($C:$C)/($C:$C=E$2);ROWS(E$3:E3)));"")Ezt másolhatod lefele és jobbra is hogy a B műszakosok is meglegyenek.
Ha ABC sorrend is jó lenne, akkor kell egy segédtábla. A mintámban a G és H-oszlopok ezek.
G3-ban ez a képlet:
=IF(COUNTIF($B:$B;"<="&$B3)*($C:$C=G$2)>0;COUNTIF($B:$B;"<="&$B3)*($C:$C=G$2);"")Ez kihasználja azt, hogy a COUNTIF (DARABTELI) függvényben lehet kisebb v. nagyobb operátort is használni, és ezzel sorrendet meghatározni. pl. COUNTF(B:B;"<Dénes") megszámolja hogy Dénes előtt hányan vannak a listában. Szóval a képlet vagy visszaadja az ABC sorrend szerinti helyezést, vagy egy üres mezőt ad.
Ezek után már csak a SMALL segítségével a sorszámokat növekvő sorrendben ki kell olvasni, majd egy MATCH (HOL.VAN) függvénnyel megkeresni, hogy ez hol van és az ahhoz tartozó nevet INDEX-el kiíratni.
A képlet az I3-ban ez:
=IF(ROWS(I$3:I3)<=COUNTIF($C:$C;I$2);INDEX($B:$B;MATCH(SMALL(G:G;ROWS(I$3:I3));G:G;0));"")üdv.
-
Mutt
senior tag
válasz
Agostino #19085 üzenetére
Hello,
FKERES-hez a többiek mellett még az alábbi javaslatom lehet.
Amit fontos tudni, hogy a táblában (amelyből vissza akarod kapni a keresett értéket) az első oszlopban milyen módon vannak az értékek. A számok lehetnek számként (alapból jobbra rendezi a cella tartalmát az Excel) tárolva vagy szövegként (ezek balra vannak igazítva).Ha ezt tudjuk, akkor az FKERES-ben a keresési értéket fel lehet készíteni, hogy a táblának megegyező formátumba tegye azt minden esetben:
1. A táblában szám van, ekkor használható ez:
=FKERES(--D13;$K$13:$L$3766;2;0)
2. A táblázatban szöveg van, ekkor pedig ez:
=FKERES(D13&"";$K$13:$L$3766;2;0)Az első esetben megszorozzuk a cella értékét 1-el, ekkor a számként értelmezhető, de nem számként tárolt értékek is számok lesznek. A második esetben pedig egy üres szöveget fűzünk az értékhez, aminek eredménye egy szöveg lesz minden esetben.
Az FEKERES helyett használható a HOL.VAN függvény is, amely nem csak a fenti formátum problémára érzéketlen, hanem megoldható vele hogy az első oszloptól balra is tud értéket visszaadni. Az INDEX függvénnyel kell együtt használni.
Alább a logika, hogy ezek a függvények hogyan képezhetők le egymásra:FKERES(keres;tábla;hanyadik oszlop;egyezés típusa) -> INDEX(tábla;HOL.VAN(keres;tábla;egyezés típusa);hanyadik oszlop)
Továbbá meglepő módon a KERES függvény sem finnyás (itt viszont pontos egyezést nem lehet beállítani):
KERES(keres;tábla első oszlopa;tábla visszatérési oszlopa)
pl. KERES(D13;K:K;L:L)üdv.
-
Mutt
senior tag
válasz
81lendo$ #19113 üzenetére
Hello,
Itt megtalálod a módosított változatot. Nem csak a formátum másolás, de a munkalapra helyezett ActiveX vezérlőt változat is benne van.
A formátum másolása pedig általánosságban így oldható meg:
Range(masolando).Copy
Range(cel).PasteSpecial Paste:=<beillesztéstípusa>A beillesztés típusáról itt súgóban vagy itt lehet olvasni.
Tipikus példák:
xlPasteAll - minden formátumot másol (függvény, szám formátum, cella formátum, keret, komment stb).
xlPasteValuesAndNumberFormats - értéket és számformátumot másol, de mást nem
xlPasteValues - értékként fogja másolni a cella tartalmát, de mást nem hoz átüdv.
-
Delila_1
veterán
válasz
the radish #19119 üzenetére
Sub direktor()
Dim utvonal$
utvonal$ = Range("B1")
ChDir utvonal$
ActiveWorkbook.SaveAs Filename:=utvonal$ & "proba.xls"
End SubNem szerencsés dolog személy szerint valakinek címezni a kérdésedet. Ha nincs itt a címzett, vagy nem tud-, nem akar válaszolni, akkor várhatsz a sorodra.
-
Delila_1
veterán
válasz
ElemiKoczka #19120 üzenetére
A lapodhoz rendeld a makrót, ilyen módon.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A:B]) Is Nothing Then
If Target = 6 Then Range(Target.Address) = "6:00"
If Target = 14 Then Range(Target.Address) = "14:00"
End If
End SubEz a makró az A és B oszlopba beírt 6-ot írja át 6:00-ra, és a 14-et 14:00-ra.
Ha nem az A és B oszlopban van a két időpontod, azIf Not Intersect(Target, [A:B]) Is Nothing Then
sorba írd be a módosítást.
-
ElemiKoczka
csendes tag
Sziasztok!
Újra a munkaidős táblámról lenne szó.A dolgozó napi munkaidő kezdetét és végét 6:00, 14:00 formátumban kell beírni.
Innentől kezdve a további műveletek nagyon jól mennek, hála Nektek (főként Delilának
Egy egyszerűsítést szeretnék bele tenni.
Lehetséges e a : valamilyen módon történő "nem bevitele".
Vagyis csak a 6-ot és a 0-t kelljen beütni. Persze a végső formátum ne változzon, mert akkor a további képletek sem fognak működni.
Ez főként a 13:10, 23:25 értékű időknél adhat segítséget.
Előre is köszönöm az infókat. -
Delila_1
veterán
válasz
the radish #19115 üzenetére
Ha előtte más meghajtó volt aktuális, előbb át kell váltanod a chdir paranccsal a D-re.
ChDir "D:\"
ActiveWorkbook.SaveAs Filename:="export.txt", FileFormat:=xlTextMSDOSRemélem, jól írtam, mert nem próbáltam ki.
-
81lendo$
csendes tag
Valaki tudna segíteni a Mutt által javasolt "PasteSpecial"-ban.
Bármilyen segítséget köszönök! -
RJan
csendes tag
válasz
Delila_1 #19095 üzenetére
Szia
Igazából nem.
Mivel minden hónapban kell egy kimutatás, h ki mennyit dolgozott.
A C6 cellában pedig a hónapot lehet változtatni, viszont csak egy hónapot lát (2013_09) és mikor átváltok C6ban 2013_08-ra, akkor 0 mutat, pedig történt esemény.
A sor végét azt meg tudom oldani, mert csak %-ot kell számolni, csak az aktuális mezők nem változnak a C6 alapján.
Köszi -
nesh20
aktív tag
Sziasztok!
Olyan szűrőre lenne szükségem egy listához amiben ha elkezdem írni a kezdőbetűt kidobja azt amit én keresek! Megoldható ez valahogy?
pl: 'A' oszlopban van 100DB név egymás alatt ezen lenne egy szűrő és ezek között szeretnék keresni ( nem CTRL+F-el )
Köszönöm a segítséget előre is! -
Delila_1
veterán
válasz
the radish #19108 üzenetére
Megjegyzel?!!!
Szívesen.
-
Delila_1
veterán
válasz
the radish #19104 üzenetére
kr1 = ">=" & CDate(Sheets("Munka1").Range("A1"))
kr2 = "<=" & CDate(Sheets("Munka2").Range("B2")) -
pirit28
csendes tag
válasz
Delila_1 #19103 üzenetére
Szia !
Kössz választ..
Lehet rosszul fogalmaztam meg a kérdést ...Addig megvagyok ,hogy sikerült szétválasztanom a neveket műszak szerint,és kiiratnom a sorszámot mely a nevek mellett szerepel.De hogyan tudom ezeket a neveket egy másik táblába kiiratni műszak szerint egymás alá ?
Erre használtam volna a kicsi függvényt de tökéletes mert ha elfogynak a sorszámhoz tartozó nevek akkor #num hiba fogad...rem mostmár érthetőbb a problémám -
the radish
senior tag
válasz
Delila_1 #19102 üzenetére
Egyszerűen nem megy. Ha az eredeti javaslatod marad, azaz a cellába simán beírom pl. >=0:00:15...., akkor tökéletesen működik. Most megpróbáltam, hogy külön cellába írtam a relációs jelet, a következőbe a változót, összefűztem, de ha ezt adom meg a makróban kr-nek, már ugyanúgy semmi, mint a másik megoldásnál (kr1= ">=" & sheets("Munka1").range("a1")) . Nem lehet, hogy a formátumokkal van probléma?
-
Delila_1
veterán
válasz
the radish #19101 üzenetére
Az R3 képlete =HA($C3="A";KICSI($A:$A;SOR()-2);"")
Ezt másold az S3-ba, és az "A"-t írd át "B"-re. -
Delila_1
veterán
válasz
the radish #19101 üzenetére
A változót így add meg:
kr1= ">=" & sheets("Munka1").range("a1") -
the radish
senior tag
válasz
Delila_1 #19097 üzenetére
Sajnos letelt a szerk.idő.
Az első verziónál tökéletesen működik a szűrés, ha az utóbbival próbálkozok, sajnos sehogy nem jön össze.
Egyszerűen nem szűri meg az adatokat, pedig csak az említett módosítást hajtom végre.
Mi lehet a probléma?ActiveSheet.Range("$A$1:$C$5001").AutoFilter Field:=3, Criteria1:= _
">=" & kr1, Operator:=xlAnd, Criteria2:="<=" & kr2
Új hozzászólás Aktív témák
Hirdetés
- 3D nyomtatás
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- HiFi műszaki szemmel - sztereó hangrendszerek
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Autós topik
- Elite: Dangerous
- Google Pixel topik
- bitpork: Augusztus 2- szombat jelen állás szerint.
- Projektor topic
- Linux kezdőknek
- További aktív témák...
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Új, bontatlan World of Warcraft gyűjtői kiadások
- Vírusirtó, Antivirus, VPN kulcsok
- Bomba ár! MacBook AIR 13" 2018 - i5-8210Y I 16GB I 512SSD I OS X Sonoma I Cam I Gari!
- AKCIÓ! Dell Alienware M17 R3 Gamer notebook - i7 10750H 16GB DDR4 1TB SSD RTX 2070 8GB WIN10
- Vásárold meg most a Zalman T7-et, és élvezd a minőséget!
- BESZÁMÍTÁS! Nintendo Switch 32GB V2 játékkonzol garanciával hibátlan működéssel
- Veszünk: PS5 Fat/Slim/Digital/Pro konzolt, játékokat, Portalt stb. Kérj ajánlatot!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest