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.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
- Tudástár AMD Radeon undervolt/overclock
Általános témák
LOGOUT.hu témák
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] PLEX: multimédia az egész lakásban
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [sziku69:] Szólánc.
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [MasterDeeJay:] Volta a bányából azaz CMP 100-210 kisteszt (Tesla V100 mining)
- [Re:] [Sub-ZeRo:] Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- [Re:] [antikomcsi:] Való Világ: A piszkos 12 - VV12 - Való Világ 12
- [Re:] [sh4d0w:] Rebel Moon - Ne nézd meg!
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Téma összefoglaló
- Utoljára frissítve: 2023-11-13 08:31:56
LOGOUT.hu
Hozzászólások
menledge
senior tag
Köszi a választ!
Nem egészen erre gondoltam, de azóta másképp megoldódott a dolog
Declare
őstag
Sziasztok!
Megint egy kis Macros kerdes
Van egy ilyen makrom:
Sub FormatText()
Dim i As Integer
For i = 1 To Range("A" & "1353").End(xlUp).Row Step 1
If Application.WorksheetFunction.CountIf(Range("H" & i & ":H" & i), "w") > 0 Then
Range("A" & i & ":H" & i).Select
Selection.Font.Name = "Calibri"
Selection.Font.FontStyle = "Italic"
Selection.Font.Underline = xlUnderlineStyleSingle
Range("E" & i).Value = Range("A" & i).Value & " " & Range("D" & i).Value
Range("E" & i).HorizontalAlignment = xlRight
Range("A" & i & ":D" & i).ClearContents
End If
Next i
End Sub
A H oszlopban vannak megjelölt cellak (egy ha függvennyel ezt megcsinalom), amik "h" es "p" erteket tartalmaznak.
Lenyeg az, hogy a H oszlopot vizsgalja es ha annak egyik sorában "h" erteket talal, akkor elvegzi azokat a formazasokat, amiket kerek töle. Ezt kellene meg egy dologgal böviteni, hogy:
- Az éppen vizsgált sorban, az F cellába összegezze az F oszlop értékeit felfele, egeszen addig amig a H oszlopban nem talal "p" erteket. (Tehat manualisan ezt ugy kell elkepzelni, hogy belekattintok a vizsgalt sor F cellajaba, nyomok egy SZUM fügvenyt es felfele kijelölessel felhuzom az összegzendö tartomanyt addig a sorig, amig a H oszlopban meg nem talalom a "p" erteket")
Aztan igy menne tovabb szepen lefele.
Remelem erthetö, mit szeretnek, nem tudom, mennyire bonyolult ez. Ha valaki segit, azt nagyon köszönnem ismet
mod: a macro alap reszeben mar segitettetek, meg tanacsoltatok is par egyszerüsitest, egyelöre direkt nem akartam egyszerüsiteni, mert igy könnyen atlatom mit csinal.....majd ahogy idöm engedi tanulgatom jobban a macrot es egyszerüsitem is
[ Szerkesztve ]
alfa20
senior tag
Aha, szóval válogasson addig a számokból míg nem a kívánt eredményt kapja
makróval megoldható, igaz nem egyszerű de talán...
szerintem el kellene tárolni a számokat egy tömb-be, majd random függvénnyel egy ciklusban kiszedni a tömb egyes elemeit, addig míg nem = az új tömb elemei összege a kívánt értékkel
Bár a ciki az, ha pont egy olyan szám kell a végére, amit egyszer már kivettünk, mert akkor újra kezdheti a ciklus a gyűjtögetést.
de lehet csak túl bonyolítóm
#31801: ha megoldódott az jó, az ilyet sokan szeretik
[ Szerkesztve ]
"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
lappy
őstag
Elsőnek azt kell megvizsgálni hogy a meglévő számok összege kiadja-e a kérdéses számot. Ha igen akkor mivel az nagyobb akkor csak ki kell szedni a jókat és nem lesz túl bonyolítva. Ha nem akkor ERROR
Bámulatos hol tart már a tudomány!
Fferi50
őstag
Szia!
E-mailben válaszoltam neked. Kicsit munkás, de meg lehet csinálni.
Üdv.
Fferi50
őstag
Szia!
Ezt a sort írd be a makróba:
If Range("H" & Selection.Row).Value = "p" Then Range("F" & Selection.Row).Value = Application.Sum(Range("F" & Selection.Row - 1, Cells(Range("H" & Selection.Row).EntireColumn.Find(what:="p", LookIn:=xlValues, SearchDirection:=xlPrevious, lookat:=xlWhole).Row, "F")))
Ha a "h" feltétellel együtt kell teljesülnie, akkor az End If sor elé.
Ha csak a "p" feltételnek kell teljesülnie, akkor egy kicsit átalakítva az End If utánIf Range("H" & i).Value = "p" Then Range("F" & i).Value = Application.Sum(Range("F" & i - 1, Cells(Range("H" & i).EntireColumn.Find(what:="p", LookIn:=xlValues, SearchDirection:=xlPrevious, lookat:=xlWhole).Row, "F")))
Az első p esetében hibát okozhat, hogy nincs előtte még másik p az oszlopban, ebben az esetben a hibakezelésben az első sortól kell az összeadást csinálni.On Error Resume Next
ide jön a képlet
If Err <>0 then If Range("H" & i).Value = "p" Then Range("F" & i).Value = Application.Sum(Range("F" & i - 1, Cells(1, "F")))
On Error Goto 0
Üdv.
[ Szerkesztve ]
Dr V
őstag
Sziasztok!
Van egy adatsorom, aminek a celláira egy-egy képlet hivatkozik. Az adatok egy sorban vannak, de a képletek egy oszlopban kell, hogy legyenek. Hogyan tudom úgy másolni a képleteket, hogy másolás közben a képletben az oszlop értéke változzon, ne a sorszám? Sokáig tartan egyesével beírni...
föccer
nagyúr
Transzponálással nem működik? Még nem próbáltam sosem.
üdv, föccer
Építésztechnikus. Építőmérnök.
róland
veterán
Tippre Transzponálás, de az a cella eredményét másolja, oszlopból -> sorba, vagy sorból -> oszlopba.
http://logout.hu/cikk/mi_is_az_a_htpc/teljes.html; Három emeleten át egy teljes liftrapszódiát játszik!
föccer
nagyúr
Azt másolja, amit megadsz neki. Ugyan úgy tud képletet is másolni, csak azt nem tudom, hogy automatán átírja-e a hivatkozásokat, vagy sem.
üdv, föccer
Építésztechnikus. Építőmérnök.
róland
veterán
Szeretnék egy táblázatkezelős munkalaphoz űrlap adatbeviteli kezdőlapot készíteni. Az adatok nagyjából a mellékelt képernyőkép szerintiek:
[link]
Hogy induljak neki Excel 2007-ben?
Lehetőleg makró nélküli megoldást szeretnék!
[ Szerkesztve ]
http://logout.hu/cikk/mi_is_az_a_htpc/teljes.html; Három emeleten át egy teljes liftrapszódiát játszik!
lappy
őstag
A google segít neked! Keress minta űrlapokat és az alapján el tudod készíteni
Bámulatos hol tart már a tudomány!
Dr V
őstag
Próblátam, h másolja a képletet és transzportálja (paste special), de #REF hibával megállt a tudomány.
PeLa87
aktív tag
Sziasztok!
Ha a G2 cellában van egy születési dátum (1919.12.05) és H2-be kiszámoltattam, hogy 96 éves az alábbi képlettel: =HA(DÁTUM(ÉV(MA());HÓNAP(G2);NAP(G2))>MA();ÉV(MA())-ÉV(G2)-1;ÉV(MA())-ÉV(G2))
Hogy lehet azt megoldani, hogy I2-be kiírja, hogy ma van a születésnapja?
Köszönöm előre is a segítséget!
Megbízható és olcsó tárhely: https://cweb.hu/ugyfeladmin/aff.php?aff=99
Delila_1
Topikgazda
Egy üres cellába:
=HA(ÉS(HÓNAP(MA())=HÓNAP(G2);NAP(MA())=NAP(G2));"Ma " & ÉV(MA())-ÉV(G2) & " éves";"")
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
PeLa87
aktív tag
Nagyon köszönöm! Végre nagyban megkönnyítette a munkámat!
[ Szerkesztve ]
Megbízható és olcsó tárhely: https://cweb.hu/ugyfeladmin/aff.php?aff=99
Delila_1
Topikgazda
Nincs mit.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
#92888064
törölt tag
sziasztok!
találam egy megfelelő pénztárköny excelt, amit egy kis szerkesztéssel a papír alapúhoz hasonlóvá szeretnék tenni. az volna a kérdésem, hogy nyomtatásnál hogy lehetne rávenni az excel, hogy a felső 3 rögzített sort minden oldalon megjelenítse?
alapvetően a felső 3 rögzített soron kívül még 25 sor kell oldalanlént.
az volna a legjobb, ha az áthozat sort is megjelenítené 4. rögzített sorként, a két összesen és az egyenleg oszlopra.
a válaszokat előre is köszönöm
[ Szerkesztve ]
föccer
nagyúr
Nyomtatási beállításoknál van ilyen lehetőség, hogy ismétlődő sorok kijelölése. Az kell neked.
üdv, föccer
[ Szerkesztve ]
Építésztechnikus. Építőmérnök.
#92888064
törölt tag
köszi, közben megtaláltam a lapelrendezés/címek nyomtatása menüpontban.
viszont az áthozat a cifra lesz, de alapvetően nem létszükség.
PeLa87
aktív tag
Sziasztok!
Találtam egy excel táblázatot ami code128 vonalkódot készít az adott szövegből. Találtam egy ékezettelenítőt is:
=HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(HELYETTE(B2;"Á";"A");"É";"E");"Í";"I");"É";"E");"Ó";"O");"Ö";"O");"Ő";"O");"Ú";"U");"Ü";"U");"Ű";"U");"á";"a");"é";"e");"í";"i");"é";"e");"ó";"o");"ö";"o");"ő";"o");"ú";"u");"ü";"u");"ű";"u")
ha új excel táblába akarom beilleszteni akkor működik, ha az említett vonalkód generátoros excel-be akkor azt írja ki, hogy túl sok egye ágyazott a képlet vagy valami hasonló.
Úgy szeretném megoldani, hogy
A1: név
B1: ékezettelenített név
C1: vonalkód kiírása szöveggel
D1: vonalkód elkészítése
Esetleg a névhez egyedi azonosító ami A-Z és a-z és 0-9 (10karakteres) rendel hozzá és 2 azonos név esetén is különböző lesz az egyedi azonosító. Ez nagyon bonyolult? Mert akkor lemondok róla... csak az első rész lenne a fontos, a vonalkódos rész. Viszont a makrókhoz nem értek, ezért kerestem képleteket...
Megbízható és olcsó tárhely: https://cweb.hu/ugyfeladmin/aff.php?aff=99
Delila_1
Topikgazda
Feltettem a ide a füzetedet.
Az A oszlop a név, a B ennek az angol karakteres megfelelője + egy hozzá fűzött alsó kötjel + 5 db véletlen karakter. A harmadik oszlopban a B oszlop bárkódja. Ehhez csak annyi kell, hogy a B oszlopra hivatkozva hozd be a nevet, és egy bárkód típusú karakterkészletet rendelj hozzá. Az én füzetemben a "3 of 9 Barcode" nevű van.
A második oszlop adatait egy saját, Karaktercsere nevű függvény állítja elő. Ebben az oszlopban véletlen-szerűen előállított karakterek vannak. Hogy megmaradjon az egyes nevekhez rendelt pár karakter, a cellát másold, és saját magára adj értékbeillesztést.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
PeLa87
aktív tag
Ismét nagyon szépen köszönöm a segítséged!
Megbízható és olcsó tárhely: https://cweb.hu/ugyfeladmin/aff.php?aff=99
Delila_1
Topikgazda
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
PeLa87
aktív tag
Szia!
Esetleg arra tudsz megoldást, hogy kinyomtatva a vonalkódok miért nem olvashatók be? 2 fajta vonalkód olvasóval is teszteltem.
Megbízható és olcsó tárhely: https://cweb.hu/ugyfeladmin/aff.php?aff=99
Delila_1
Topikgazda
A kódolvasótól függ. Némelyiknél a szöveg típusú adatoknál a szöveg elé és mögé csillagot kell tenni.
Ha pl. Nagy Pista szöveget akarsz beolvastatni, a vonalkódos karaktereket tartalmazó oszlop szövege legyen *Nagy Pista*.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
PeLa87
aktív tag
Amit készítettél nekem táblázatot, abba próbáltam egyéni cellaformátumban megadni, vagy a névhez beírni, csak az egyénileg változó karlaterek miatt utána nem teszi be...
*Nagy Pál*____________*Nagy Pal*_gjWpC lesz belőle, nem pedig *Nagy Pal_gjWpC*
Megbízható és olcsó tárhely: https://cweb.hu/ugyfeladmin/aff.php?aff=99
PeLa87
aktív tag
Delila_1
Topikgazda
Annyi az egész, hogy a küldött makró utolsó sorát kibővíted.
Eredeti: Karaktercsere = strTemp
Bővített: Karaktercsere = "*" & strTemp & "*"
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
PeLa87
aktív tag
Hát így is érdekes karaktert ad ki... Na mindegy, lemondok asszem erről!
ui.: Sikerült, hogy ne írja ki azokat a karaktereket vonalkódba, de így sem olvassa be! Majd akkor külön szerkesztővel megszerkesztem azokat legfeljebb...
Azért köszönöm nagyon a segítséged!
[ Szerkesztve ]
Megbízható és olcsó tárhely: https://cweb.hu/ugyfeladmin/aff.php?aff=99
Delila_1
Topikgazda
Keress a neten egy másik barcode tip. karakterkészletet.
Nálam a 3of9_new.ttf jó értékeket ad.
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
PeLa87
aktív tag
Rendben, keresek!
Köszönöm! Ezzel a típussal tényleg működik! Nem értem a Code 128-cal miért nem.
[ Szerkesztve ]
Megbízható és olcsó tárhely: https://cweb.hu/ugyfeladmin/aff.php?aff=99
Declare
őstag
Majdnem tökeletesen jo. Annyi a problemam, hogy nekem nem csak a szumma számértékét kellene beirnia, hanem magát a SUM függvenyt.
Probalkozom most netes peldak alapjan megvalositani, de eddig nem igazan sikerül.
Ebben meg tudok kapni egy kis segitseget?
Delila_1
Topikgazda
2 napja javasoltam ezt a karakter készletet.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
DeFranco
nagyúr
van egy mátrixom, legyen 20 sor 20 oszlop
adat elég gyéren van benne, a mátrix egy-egy sorában lehet 1, 2, 3 adat (tehát 19-18-17 cella üres)
minden sor végére ki szeretném íratni, a 21. 23. 25. oszlopba, hogy hol (melyik oszlopban) talált adatot (értelemszerűen ha csak egy van, akkor a 23-25 üresen marad, stb.) a 22. 24. 26. oszlopokba pedig az adatot magát, amit megtalált (értelemszerűen ha csak egy van, akkor 24-26 üres stb.).
HOL.VAN függvénnyel estem neki, de annak pontos egyezés kell, így nem tudtam használni.
arra volnék kíváncsi, hogy ez függvénnyel megoldható-e, és ha igen, hogyan?
Delila_1
Topikgazda
Az A1:T20 (20×20-as) mátrixodhoz tedd modulba a lenti makrót, majd indítsd.
Sub Matrixos()
Dim cella As Range, oszlop As Integer, sor As Long
Dim terulet As Range
Set terulet = Range("A1:T20")
oszlop = 21: sor = 1
For Each cella In terulet
If cella.Row > sor Then
oszlop = 21: sor = sor + 1
End If
If cella <> "" Then
Cells(cella.Row, oszlop) = cella.Address
Cells(cella.Row, oszlop + 1) = cella.Value
oszlop = oszlop + 2
End If
Next
End Sub
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
bsasa1
csendes tag
Szia!
Szerintem függvénnyel maximum jópár segédoszloppal oldható meg.
Kell mellé egy másik ugyanakkora mátrix, bele mindenhova üres képlettel, így az üres cellák IGAZ, az adatot tartalmazó cellák HAMIS értéket kapnak. Erre már rá tudsz keresni a HOL.VAN függvénnyel, de minden találat után el kell csúsztatni a hivatkozást, amiben keresel pl ELTOLÁS függvénnyel.
Így sorban mindet meg tudod találni, de makróval szerintem egyszerűbb...
...közben érkezett is egy
S.
DeFranco
nagyúr
nagyon köszönöm
az érdekelt volna első körben, hogy ezt függvénnyel meg lehet-e oldani (van-e olyan függvény, ami egy logikai feltételnek (pl. <>0 vagy NEM(ÜRES) ) megfelelő cellát keres amíg meg nem találja, majd annak megadja valamilyen hivatkozását)
második körben ha ez nem, akkor jön a makró amit írtál, köszönöm még egyszer
@bsasa1: köszi ez a "favágó" módszer megvolt, de nyilván valami elegáns keresőfüggvényes megoldást kerestem volna
@Delila_1: köszönöm még egyszer.
[ Szerkesztve ]
Delila_1
Topikgazda
Nézd az előző hsz-t!
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
PeLa87
aktív tag
Tudom, tudom! Csak én mindig code 128-at használok mindenhova De most már a tied lesz használatban! És köszi még egyszer!
Megbízható és olcsó tárhely: https://cweb.hu/ugyfeladmin/aff.php?aff=99
d@minator
addikt
Sziasztok! Segítség kellene.
Van egy oszlopom amiben számok vannak. Legyen "E" oszlop.
A mellette lévő oszlopban (F) néhány szám mellett van "A" betű.
Össze kellene adni az "E" oszlopban lévő számokat de csak azokat amelyek mellett a "A" karakter szerepel.
Ezért egy másik cellába az alábbi képletet írtam és működik:
=HA(F2="A";E2)+HA(F3="A";E3)+ .......... + HA(F800="A";E800)
A bajom az, hogy több számot kell majd összeadni. Hogyan tudom egyszerűen?
[ Szerkesztve ]
föccer
nagyúr
Darabhatobb fuggvenyt nezd meg,az kell neked.
Építésztechnikus. Építőmérnök.
Delila_1
Topikgazda
=SZUMHA(F1:F20;"A";E1:E20)
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
bteebi
veterán
Sziasztok!
Talán már többször is előjött Excelben az értékes jegyekkel való számolás, értékes jegyre való kerekítés problémája. Rákerestem, de nem találtam rá igazi leírást itt a fórumban, úgyhogy írok egyet én. Legalább háromféle módszerrel találkoztam, amit szoktak rá használni. Abból a legelső egyértelműen rossz (azt végül inkább nem írom le, mert tutira azt találná meg mindenki ), a második majdnem jó (a 0-kat nem teszi be értékes jegynek, tehát pl. a 0,01 három értékesre is 0,01 marad, nem pedig 0,0100), a harmadik pedig teljesen jó - "csak" annak a végeredménye nem szám, hanem szöveg (eggyel megszorozva természetesen szám lesz, csak akkor a fentebb írt probléma szintén megmarad). A képletek (A2-ben van a kerekítendő szám, a SignificantDigits pedig az értékes jegyek száma):
=KEREKÍTÉS(A2;SignificantDigits-INT(LOG(ABS(A2)))-1)
=FIX(A2; SignificantDigits-INT(LOG10(ABS(A2)))-1;IGAZ)
Az első képlet a második módszer, a második pedig a harmadik . Remélem érthető. Ez utóbbira írtam egy egyszerű függvényt is:
Function Sigdig(number As Range, SigDigits As Integer)
Sigdig = WorksheetFunction.Fixed(number, SigDigits - Int(WorksheetFunction.Log10(Abs(number))) - 1, True)
End Function
Ez pedig úgy működik, hogy:=Sigdig(A2;3)
Egy problémám van vele. Azt hogy lehet megoldani, hogy számot és tartományt is meg lehessen adni a képletben? Mert vagy ez működik, vagy az. Meg hogy lehetne azt megcsinálni, hogy szám legyen a végeredmény (ez esetben a fenti megjelenítési hiba nem zavarna), ne pedig szöveg? Előre is köszönöm a javaslatokat!
Cancel all my meetings. Someone is wrong on the Internet.
Fferi50
őstag
Szia!
A függvényed első paramétere ne Range legyen, hanem Variant. Ebben az esetben tudsz tartományt és számot is beadni paraméternek, mindkettőt elfogadja.
A vezető ill. követő 0 számjegyeket az Excel cellaformázás egyéni számformátumban tudod beállítani, amit a Range.NumberFormat tulajdonsággal lehet makróban állítani, pl.Range("A2").NumberFormat="000000.000000"
a tizedesvessző előtt és után is 6-6 számjegyet jelenít meg, az üres helyiértékekre 0 kerül.
Mivel a FIX függvény alapból szöveget ad vissza, ezért szám csak akkor lesz belőle, ha a VAL függvénnyel átalakítod számmá.Function Sigdig(number As Variant, SigDigits As Integer) As Double
Sigdig = Val(WorksheetFunction.Fixed(number, SigDigits - Int(WorksheetFunction.Log10(Abs(number))) - 1, True))
End Function
Üdv.
[ Szerkesztve ]
d@minator
addikt
Tökéletes, köszönöm!
(#31843) föccer: majd azt is megnézem. Köszönöm!
Sziasztok!
Makróban kérném a segítségeteket, mert nem vagyok a téma szakértője. Ezért is kezdtem makró rögzítéssel, de az eredmény nem tökéletes, sőt.
A probléma: adott egy cella, amibe az érték egy FKERES függvény révén kerül be. A konkrét érték egy URL hivatkozás. Ezt a hivatkozást kellene (és nem magát az FKERES-t, ugye) átmásolnom egy másik cellába, amelybe már jó lenne, ha linkelt hivatkozásként kerülne be. Ha ez megtörtént, ugyanezen cellán kellene ütnie a makrónak egy entert, majd a kurzort egy másik cellába (az FKERES érték mezőjébe) ugratnia, majd törölni a már benne lévő értéket.
A feladat, amire szánom: adott fájlok nevére keresve kolléga beüti a fájl nevét az FKERES keresőmezőjébe, ami kikeresi egy rejtett lapfülről (vagy még inkább jobb lenne, ha egy másik táblázatból az adott fájlnévhez tartozó hálózati elérési utat, amelyről automatikusan megnyílik az adott fájl.
A felvétellel már ott gondba kerültem, hogy a rögzítés során a cellában lévő adatot másolja át és illeszti be egy másik cellába, tehát nem veszi figyelembe, hogy az FKERES eredménye már régen lecserélte az adott cella értékét.
Ha tudnátok segíteni, hálás lennék! Köszi előre is!
Fferi50
őstag
Szia!
Túlságosan is excelesen gondolkodsz, ezt VBA (makró) sokkal egyszerűbben oldja meg.
A kiválasztott fájlnévhez tartozó elérési út alapján a Workbook.Open eljárással meg tudod nyitni az adott fájlt.
Tehát: van egy táblázatod, ami tartalmazza a kiválasztható fájlneveket és a hozzájuk tartozó elérési utakat. Egy cellára - keresőcella - csinálsz adatérvényesítést, ami a kiválasztható fájlneveket tartalmazza - csak ebből lehet választani, így nem lehet elrontani a keresést.
Pl: H1-H5 tartalmazza a listát, I1-I5 tartalmazza az elérési utat.
A1 legyen a kereső mező.
A1 adatérvényesítése lista - forrása $H$1:$H$5
Worksheet change eseménybe kerül a következő makró:Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Application.EnableEvents = False
Workbooks.Open Filename:=Range("$H$1:$H$5").Find(What:=Target.Value, LookIn:=xlValues, lookat:=xlWhole).Offset(0, 1).Value & Target.Value
Application.EnableEvents = True
End If
End Sub
Ne felejtsd el, hogy az elérési út végére kell egy backslash \
Az adott munkalaphoz úgy viheted be, hogy a munkalap fülre állva jobb egérgomb, kód megjelenítése, majd bemásolod a megjelent ablakba.
Ha választható listát másik munkalapon szeretnéd tárolni, akkor el kell nevezned és a nevet kell beírni az adatérvényesítés forrásaként - valamint a makróba is.
Üdv.
[ Szerkesztve ]
Szia!
Nagyon szépen köszönöm, sokat segítettél ezzel! Még egy kis probléma van vele, de az én hibám, rosszul írtam le: nem minden esetben azonos a filenév a keresési feltétellel, és ez okozhat jelen állapotban hibát. A link és a keresési feltétel viszont minden esetben össze van rendelve. A gond az, hogy jelen állapotban beírom kézzel a keresési mezőbe, hogy (teszem azt) 11, akkor olyan linket próbál megnyitni, hogy \\VALID_URL\osszerendelt_filenev.akarmi\11, és erre nyilván hibát dob. Persze, az is lehet, hogy a két dolognak semmi köze egymáshoz.
SZERK.: Kivettem a " & Target.Value" részt a szkriptedből, így már nem dob hibát, viszont a fájlt Excel-ben szeretné megnyitni. Ez nem lenne gond, de ez egy .pdf
[ Szerkesztve ]
Mai Hardverapró hirdetések
prémium kategóriában
- LG NanoCell 55NANO766QA Halvány píxel csík
- Philips 58PUS8545/12 1 ÉV GARANCIA Játék üzemmód
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5