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:] PLEX: multimédia az egész lakásban
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [Adrian Mole:] Friss konfig, Win 11, gyere rám
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [bitpork:] Fogyasztásra ítélve
- [Re:] Kempingezés és sátrazás
- [Re:] [HThomas:] Kia Ceed SW JD vs CD tapasztalatok
- [Re:] [FireFox1996:] 2024 tavaszi fórum peca
Szakmai témák
PROHARDVER! témák
Mobilarena témák
Téma összefoglaló
- Utoljára frissítve: 2023-11-13 08:31:56
LOGOUT.hu
Hozzászólások
Delila_1
Topikgazda
Nem. Az Excel nem ismer negatív idő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.
Dr V
őstag
Köszi a válaszokat.
Azt hiszem, h a kérdésemet rosszul tetttem fel, mert elég a cellaformázásnál kapcsos zárójelbe "m"-et megadni és másodpercben látom az értéket. Ami a valódi problémám, az a következő:
Két különböző helyről kapok idő adatokat, más formátumban.
Egyik helyről 0:11:00, idő formátumban felismeri és decimális számként is tudja kezelni.
A másik helyről az előbb látott 18,55 formátumban érkezik, ami már eleve decimális szám, ha átváltom időre 13:12:00 lesz belőle.
A problémám, h egy táblázatba ezen különböző adatokat kell tudnom összeadni. Ezt hogyan tudnám megoldani?
[ Szerkesztve ]
lenkei83
tag
Sziasztok!
Kiegészítésként csak annyit, hogy 1904-es dátum formátummal megjeleníti normálisan a negatív időt is.
Üdv.:
P.
róland
veterán
S azt hogyan kell beállítani?
http://logout.hu/cikk/mi_is_az_a_htpc/teljes.html; Három emeleten át egy teljes liftrapszódiát játszik!
lenkei83
tag
ocsi19
senior tag
Sziasztok!
Segítséget szeretnék kérni:
- egy olyan cellát szeretnék létrehozni, amelyben úgy tudok keresni egy másik fülön levő adathalmazból(szöveg), hogy pl 3 karakter után kiadjon egy legördülő listát a lehetséges találatokról, illetve kiválasztásra a kiválasztott névhez(pl a1) tartozó számsort(b1) írja be.
Előre is köszönöm a segítséget.
üdv.: Péter
Delila_1
Topikgazda
Egyszerűbb összeállítani, mint leírni a módját.
A Munka1 lapon a legördülőbe elkezded beírni a keresett nevet, az E5 cellában megjelenik a hozzá tartozó adat, ami a Munka2 lapon van.
A csatolt cella a C5 a legördülőhöz, erre hivatkozik az E5 függvénye.
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!
Egy fix mappában lévő pdf file-ok adott oldalát szeretném megnyitni Excellel. Van rá egy részben működő makróm:
Cancel all my meetings. Someone is wrong on the Internet.
bteebi
veterán
Halálra szívat a laptopom meg a szerkesztési idő, bocsánat .
Valószínűleg nem tudom majd a szerkesztési idő alatt befejezni a hsz-em szerkesztését, de legalább addig is valami félig-meddig értelmes dolog legyen itt:
Sub szamkereso()
Dim azonosito As Integer, pageno As Integer
azonosito = Mid(ActiveSheet.Range("A1"), 5, 6)
Const path = "D:\Minta\szam123451-szam123680.pdf"
pageno = 5
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate (path & "#page=" & pageno)
Set IE = Nothing
End Sub
[ Szerkesztve ]
Cancel all my meetings. Someone is wrong on the Internet.
bteebi
veterán
Kicsit megviccelt az oldal meg a laptopom, de végre eljutottam oda, hogy megírjam azt, amit eredetileg is szerettem volna. Szóval egy adott listaelemet szeretnék megtalálni egy adott mappában lévő pdf file-ok között. A listaelemre (általános formája: szam123456) az A1-es cellában keresek rá, majd azt szeretném, hogy a makró megkeresse azt a pdf file-t a mappában, amelyik tartalmazza ezt az elemet. Van egy fix elérési útvonal (a példában a D:\Minta\ mappa), amiben különböző hosszúságú szkennelt pdf-ek vannak. A pdf file-ok elnevezése nagyjából egységes. Az fix bennük, hogy tartalmaznak két számot, az első és az utolsó szkennelt elem értékét (pl. "szam123451-szam123680.pdf"). A fenti példánál maradva pl. a szam123456 nevű elem ebben a "szam123451-szam123680.pdf" nevű file-ban található meg.
Egyelőre az előző hsz-emben lévő kezdetleges makróm van. Ha abban tudnátok segíteni, hogy hogy lehetne megkeresni a file-t a mappában, akkor a többi részt már meg tudnám írni. Előre is köszönöm a segítségeteket, javaslataitokat! Remélem érthetően fogalmaztam .
Cancel all my meetings. Someone is wrong on the Internet.
bteebi
veterán
Közben jobb esetben már közeledek a megoldáshoz, bár majd csak holnap fogom tudni tesztelni.
While (file <> "")
If Mid(file, 5, 6) < azonosito And Mid(file, InStrRev(file, "szam") + 4, 6) Then
elso = Mid(file, 5, 6)
pageno = 1 + Int((azonosito - elso) / 10)
End If
file = Dir
Wend
Cancel all my meetings. Someone is wrong on the Internet.
lenkei83
tag
Sziasztok!
Le van védve egy munkalap, amint pivot van.ws.protect AllowFormattingCells:=True, AllowFiltering:=True, UserInterfaceOnly:=True, DrawingObjects:=True
A pivot munkalaphoz ez van hozzárendelve:Private Sub Worksheet_Activate()
ThisWorkbook.RefreshAll
End Sub
Ez alapján mindig frissülnie kellene amikor rámegyek a munkalapra, viszont csak akkor frissül ha a munkalap nincs zárolva. Jelenlegi tudásom szerint a UserInterfaceOnly meg kellene hogy oldja ezt a problémát, de talán mégsem..?
Van valakinek rá ötlete?
üdv
P.
[ Szerkesztve ]
Delila_1
Topikgazda
A Private Sub Worksheet_Activate() makró első sora legyen
ActiveSheet.Protect Password:="BolondBiztosJelszo", UserInterfaceOnly:=True
Ez a sor a makró számára feloldja a védelmet, de billentyűzetről továbbra is zároltak maradnak a zárolt cellák.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
lenkei83
tag
Köszönöm!
Password nélkül ez a megoldás nem megy?
Delila_1
Topikgazda
Szívesen.
Azt a részt kihagyod, marad azActiveSheet.Protect UserInterfaceOnly:=True
[ 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.
lenkei83
tag
Jaa oké. Ezt így értem. A kérdés arra irányult, hogy ha nincs password akkor a userinterface..True sem működik? A gondom az, hogy a kódban amit lentebb bemásoltam,ott van a userinterface True, és ennek ellenére sem frissül magától a fül.
Van egy ilyenem:
Private Sub Workbook_Open()
Dim ws As Worksheet
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each ws In Worksheets
ws.unprotect
Next
Munka2.AutoFilterMode = False
Munka3.AutoFilterMode = False
Munka2.Range("A5:Y" & Munka2.Range("A5").End(xlDown).Row).AutoFilter
Munka3.Range("A1:D" & Munka2.Range("A1").End(xlDown).Row).AutoFilter
Range("year").Locked = False
Range("month").Locked = False
For Each ws In Worksheets
ws.protect UserInterfaceOnly:=True, AllowFormattingCells:=True, AllowFiltering:=True, DrawingObjects:=True, contents:=True ', AllowUsingPivotTables:=True
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
UserForm10.Show
End Sub
Majd egy ilyenem a frissítendő munkalapon, ahol egy sima pivot van:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
ThisWorkbook.RefreshAll
Application.ScreenUpdating = True
End Sub
Ebben az összefüggésben merü fel az a gond, hogy ha zárolva van a munkalap akkor nem frissül a pivot.
Delila_1
Topikgazda
A felső makróban az összes lapot felszabadítod, majd 2 lapnál beállítod az autoszűrőt, és ismét minden lapot levédesz. Elég lenne egyenként a 2 laphoz beállítani a makróból módosítást, és végrehajtani a szűrő beállítását.
A 2. makró első sora is legyen ActiveSheet.Protect UserInterfaceOnly:=True
.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Cece04
tag
Sziasztok,
segítsetek kérlek, mert nem jutok egyről a kettőre sehogy sem
van egy adott dátumom ebben a formátumban :
yyyy.mm.dd ,2016.06.11
ezt szeretném ilyenre átalakítani: dd/mm/yyyy , azaz 11/06/2016.
Próbáltam úgy, hogy lecserélem a pontot semmire és az így kapott
20160611-et text to columns-ban az áhított formátumra váltani,
de nem történik semmi.
Nem tudom mi lehet a gond, segítsetek kérlek, ha van ötlet.
A valósággal az a gáz, hogy nincsen hozzá háttérzene...
Dr V
őstag
Sziasztok!
Az egyik excel fájlom meghalt, ha megnyitom egyből le is fagy. Szerencsére van belőle másolatom, viszont az eredeti fájlban van kb 5 sor egyszerű szöveg, amire nagy szükségem lenne.
Hogyan tudnám kibányászni azt a néhány sort a hibás fájlomból?
bsasa1
csendes tag
Szia!
Cellaformázásban megadod neki egyéni formátumban amit írtál: dd/mm/yyyy, és át is alakítja.
bara17
tag
Sziasztok!
Lehetséges a 2010-es Excelben az, hogy vonaldiagramban egérrel arrébb húzom az adatsort és vele együtt változnak az adatsor értékei, tehát nem kéne kézzel áírnom az adatokat hanem elég lenne mozgatni a görbét.
Köszönöm a segítséget.
Cece04
tag
Szia,
köszi szépen, sikerült!
annyi kiegészítés, hogy a 2016.06.14 formátumban lévő pontokat előbb
/-re kell cserélni, és akkor már variálható a dátumformátum, ahogy te is írtad
Köszi
A valósággal az a gáz, hogy nincsen hozzá háttérzene...
lappy
őstag
nézd meg ezt ez talán segít
Bámulatos hol tart már a tudomány!
moklys1
aktív tag
lappy
őstag
Adatok- ismétlődés eltávolítása
Bámulatos hol tart már a tudomány!
Dr V
őstag
Sziasztok!
Van két cellám. Az egyikbe beírok egy számot 1-10ig. A másik cellbában szerepelnek a számok 1-10ig.
Egy olyan függvényre lenne szükségem, ami egy harmadik cellába beírja a második cella alapján az első cellában megadott számot. Ha a második cellába nem szerepel a megadott szám, akkor oda ne másoljon semmit. Melyik függévnnyel lehetne ezt megoldani? Esetleg makró lenne a megoldás? Utóbbi sajnos számomra kínai.
lappy
őstag
én ezt nem értem példákat tudnál mondani
Bámulatos hol tart már a tudomány!
Dr V
őstag
Remélem így már érthető.
alevan
őstag
Sziasztok. Lenne egy excel fájlom 50+ munkalappal és minden munkalap több ezer sorral. Az lenne a feladatom, hogy megfordítsam az adatokat:
Minden sheetből egy adott sort (pl. a 1125. sor) egy másik fájlban egymás alá kel tegyek.
Egy nagyon hülye példa:
És ez az eredmény lenne számomra fontos:
"Ezért lovagol a pokolba a konzumer IT piac. A hülye igények... . Azt sem tudod, hogy mit akarsz de az jöjjon havonta frissités formájában."
lappy
őstag
Ehhez csak makró kell abban nem tudok segíteni
Bámulatos hol tart már a tudomány!
lenkei83
tag
Ha csak 1-10 közötti tartományt kell vizsgálni, akkor a szoveg.keres vagy szoveg.talal függvény elegendő.
[ Szerkesztve ]
Dr V
őstag
A vizsgált tartomány 1-kb12 között van és pozitív egész számokból all.
Pontosan hogy nézne ki a képlet?
DeFranco
nagyúr
a legyűjtés nem para, azt megcsinálod egy indirektbe ágyazott fkeressel akár, viszont ha minden sornak egyedi munkalapot kell csinálni, akkor az több ezer sornál egyrészt abnormálisan sok munkalap, másrészt kézzel kivitelezhetetlen.
a példa jó, de a konkrét feladat méretéről tudnál írni valami konkrétabbat?
[ Szerkesztve ]
moklys1
aktív tag
Köszi, igen ezt tudtam, csak tegnap amikor csináltam, csak az "A" oszlopot jelöltem ki és akkor tolja a többi adatot törléskor. Lényeg az, h nem kell kijelölni semmit, hanem már maga a funkció kiválasztásánál kell kivenni a pipákat azokból az oszlopokból amiket nem szeretnék, h figyelembe vegyen.
[ Szerkesztve ]
alevan
őstag
60 sheet és jelenleg még csak 4000 sor.
Migrálunk excelből más rendszerbe, és így kérik (persze nekem kell megcsinálni...). Úgy is jó, ha 12000 sheet helyett 12000 fájl a végeredmény (sőt, elvileg így még jobb).
Nekem az is jó lenne, ha a 60 sheetből a 60 sort egy 61. sheetbe másolja, és én onnan mentem manuálisan. Sőt, így még jobb lenne, mert így is úgy is át kell nézzük mindet egyenként hibakeresés miatt, onnan már egy más fájlba mentés egy másodperc.
"Ezért lovagol a pokolba a konzumer IT piac. A hülye igények... . Azt sem tudod, hogy mit akarsz de az jöjjon havonta frissités formájában."
DeFranco
nagyúr
hát ide valami ipari megoldás kell... én ehhez kevés vagyok.
bteebi
veterán
Sziasztok!
Végül sikerült megoldanom . Megosztom, hátha valakinek jó lesz ötletet nyerni.
Sub szamkereso()
Dim azonosito As Long, elso As Long, pageno As Integer, file As Variant
azonosito = ActiveSheet.Range("A1")
file = Dir("D:\proba\" & "*.pdf")
Do While (file <> "")
If Mid(file, 5, 6) < azonosito And Mid(file, InStrRev(file, "szam") + 4, 6) > azonosito Then
elso = Mid(file, 5, 6)
pageno = 1 + Int((azonosito - elso) / 10)
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate ("D:\proba\" & file & "#page=" & pageno)
Set IE = Nothing
End If
file = Dir()
Loop
End Sub
Egy apróságot leszámítva tökéletesen működik - ez pedig az adott oldalszámra ugrás. Úgy tűnik, hogy 1.4-es és 1.5-ös verziójú pdf-ekkel működik, de az 1.6-tal már nem (nem ugrik arra az oldalra, amelyikre kellene, csak az első oldalt nyitja meg). Van arra ötletetek, hogy miért lehet ez, vagy hogy át lehet-e valahogy állítani? Igazából az a kérdés, hogy ez szkennelési beállítástól függ(het)-e, vagy pedig a pdf verziójától?
Cancel all my meetings. Someone is wrong on the Internet.
Dr V
őstag
Végül az alábi függvény let a megoldás:
=IFERROR(IF(ISNUMBER(SEARCH($C$1;B4));$C$1;"");"")
lenkei83
tag
És mi a helyzet akkor, ha mondjuk 1-et keresel és a számsorod így néz ki: 2 6 4 10 ?
Az 1-et meg fogja találni a 10-esnél, és ki fogja dobni eredményként.
Delila_1
Topikgazda
Van itt 3 makró.
Sub Gyujtes()
Dim lap As Integer, usor As Long
Sheets(1).Range("N:Q") = ""
'Címsor az első lapon az N1:Q1-be
Sheets(1).Range("N1:Q1") = Sheets(1).Range("A1:D1").Value
For lap = 1 To Worksheets.Count 'Lapok tartalma az első lapra
usor = Sheets(1).Range("N" & Rows.Count).End(xlUp).Row + 1
Sheets(lap).Range("A1").CurrentRegion.Offset(1).Copy Sheets(1).Range("N" & usor)
Next
Rendez
End Sub
Sub Rendez()
Dim usor As Long
Sheets(1).Select
usor = Range("N" & Rows.Count).End(xlUp).Row
Range("N1").CurrentRegion.Select
ActiveWorkbook.Sheets(1).Sort.SortFields.Clear
ActiveWorkbook.Sheets(1).Sort.SortFields.Add Key:=Range("N2:N" & usor), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(1).Sort
.SetRange Range("N1:Q" & usor)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Fajlokba usor
End Sub
Sub Fajlokba(usor)
Dim utvonal As String, elso As Long, ucso As Long, nev As String
utvonal = "D:\Mentés\" '*** Ezt írd át! **************
elso = 2: ucso = 2: nev = Sheets(1).Range("N2")
Do
nev = Sheets(1).Cells(elso, "N")
If nev = "" Then Exit Do
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = nev
Range("A1:D1") = Sheets(1).Range("A1:D1").Value 'Címsor az új füzetbe
ucso = Application.Match(nev, Sheets(1).Columns(14), 1)
Sheets(1).Range("N" & elso & ":Q" & ucso).Copy Sheets(nev).Range("A2")
ActiveSheet.Move
ActiveWorkbook.SaveAs Filename:=utvonal & nev & ".xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
elso = ucso + 1
Loop
Sheets(1).Select
MsgBox "Kész", vbInformation
End Sub
A harmadikban írt át a csillagokkal jelzett sorban az útvonalat.
Az első makrót (Gyujtes) kell indítanod, az majd hívja a másik kettőt.
Az első lap N:Q oszlopába összegyűjti a többi lap adatait, rendezi a nevek szerint, majd új lapra másolja egyenként a nevekhez tartozó sorokat. Ezt az új lapot áthelyezi egy új fájlba, és menti a megadott névvel, majd be is zárja.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
róland
veterán
Köszönöm! Így tényleg működik.
http://logout.hu/cikk/mi_is_az_a_htpc/teljes.html; Három emeleten át egy teljes liftrapszódiát játszik!
lenkei83
tag
Szívesen!
alevan
őstag
Köszi
(#31786) DeFranco Sebaj, azért köszönöm.
"Ezért lovagol a pokolba a konzumer IT piac. A hülye igények... . Azt sem tudod, hogy mit akarsz de az jöjjon havonta frissités formájában."
Delila_1
Topikgazda
Kipróbáltad?
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
alevan
őstag
Igen. Picit módosítottam a célomnak megfelel
"Ezért lovagol a pokolba a konzumer IT piac. A hülye igények... . Azt sem tudod, hogy mit akarsz de az jöjjon havonta frissités formájában."
Delila_1
Topikgazda
Akkor jó.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
menledge
senior tag
Sziasztok!
SOS-ben szükségem lenne segítségre!
Tud olyat az excel, hogy egy számsorból kihoz két különböző összeget? vagy akár egyet?
Nem biztos, hogy érthetően fogalmazok, megpróbálom érthetően leírni. Mondjuk vannak számok 1-100-ig
és én pl. azt szeretném, hogy az 56-ot hozza ki egyes számokból.
Remélem tud valaki segíteni!
Előre is köszönök bármilyen ötletet!
Üdv!
alfa20
senior tag
Szia,
magyarán szét akarod bontani a számok?
ha jól értem, akkor egy megoldás a sok közül A1: 56
B1: =HA(HOSSZ(A1)=1;0;BAL(A1;1))
C1: =JOBB(A1;1)
"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
lenkei83
tag
Sziasztok!
Látott már valaki olyan error handlinget ami külön fileba vagy külön munkalapra logolja a hibás sorokat eljárásonként, és ha valamelyik sor hibás akkor debug nincs csak logba írás?
Létezhet ilyen egyáltalán?
Üdv.:
P.
lappy
őstag
Szerinte úgy érti hogy 100 számból az összege legyen 56
Magyarul összeadom majd kivonok és a végeredmény 56.
Amúgy tudna csak nem függvénnyel az tuti, de makróval se lenne egyszerű.
[ Szerkesztve ]
Bámulatos hol tart már a tudomány!