Excel kérdés

Oldal 1 / 49Következő →

Jelentkezz be a hozzászóláshoz.

#2417
Rendben!
Köszönöm!
Delila1
#2416
Privátban megadom a címem, oda küldd el a fájlt, hátha sikerül összehozni.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2415
Üdv!
Sajnos nem úgy működik, ahogy szeretném. :(
A listából ki tudom választani a neveket és hozzá is rendeli a többi adatot, de nem tudok újat bevinni, mert hibával leáll.
Illetve a form bezárásakor szeretném kiüríteni a formot, de a névnél itt is hibát jelez.
És a meglévő adatok kiegészítése sem megy.
Delila1
#2414
sor = Range("A1").End(xlDown).Row

Ez adja meg az utolsó kitöltött cella sorát az A oszlopban. Ekkor az adatbevitellel felülírod az utolsó sort. Ha új sorba akarsz írni, akkor
sor = Range("A1").End(xlDown).Row + 1
legyen a sor meghatározása.

Ha egy meglévő sor adatait akarod módosítani, akkor ki kell keresned a módosítandó sort egy jellemzője szerint.
sor=Application.WorksheetFunction.Match(Nev, Columns(1),0)

Vigyázat! Itt a sor változó Variant típusú legyen! Ha deklarálod a változókat, akkor Dim sor As Variant, de az As Variant el is hagyható.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2413
Köszi a megoldást! Szuperül működik! :)
Azonban egy új problémával szembesültem. :(
A már bevitt adatok kiegészítésekor új sorba teszi az egészet és megmarad a régi sor is.
Így viszem be az adatokat:

Private Sub Bevitel_Click()
Application.ScreenUpdating = True
Sheets("Nevek").Activate

sor = Range("A1").End(xlDown).Row + 1

Cells(sor, "A") = Nev
Cells(sor, "B") = Telepules
Cells(sor, "C") = Utca
Cells(sor, "D") = Hazszam * 1
Cells(sor, "E") = Nem
Cells(sor, "F") = Eletkor * 1
Cells(sor, "G") = Ruhameret

End Sub

Hogyan tudom megoldani, hogy kiegészítéskor, változtatáskor ne keletkezzen új sor, de ha teljesen új adatsort szeretnék bevinni, az a végére kerüljön? Esetleg mondjuk még az egészet táblát bevitel után abc rendbe tegye?
Előre is köszi a segítséget! :)
Delila1
#2412
A sor változó értékmegadása hibás. A Range elé WF-et írtál WSN helyett, ezt kijavítva működik.

Nem lenne egyszerűbb így?
sor = WF.Match(Nev, WSN.Columns(1), 0)

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

Delila1
#2411
Szia!

Hol adod meg a kezd% és a veg% értékét?

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2410
Kedves Mindenki!
Kis segítséget szeretnék kérni!
Próbálkozom egy egyszerű kis nyilvántartó elkészítésével Excelben. Vezérlőkkel oldottam meg a bevitelt és jól is működik.
Viszont akadt egy kis problémám: szeretném, ha az első adat (név) bevitelekor a comboboxban kiválasztás alapján a már bevitt
adatok is megjelennének, de sajnos nem sikerül összehoznom. Hibát jelez. :(

Private Sub Nev_Change()

Set WSN = Sheets("Nevek")
Set WF = Application.WorksheetFunction

sor = WF.Match(Nev.Value, WF.Range("A" & kezd% & ":A" & veg%), 0) + kezd% - 1
Nev = WSN.Cells(sor, "A")
Telepules = WSN.Cells(sor, "B")
Utca = WSN.Cells(sor, "C")
Hazszam = WSN.Cells(sor, "D")
Nem = WSN.Cells(sor, "E")
Eletkor = WSN.Cells(sor, "F")
Ruhameret = WSN.Cells(sor, "G")

End Sub

Mi lehet a hiba?
Előre is köszönöm a segítséget!
Delila1
#2409
Szia!

Kijelölöd a cellákat (Shift vagy Ctrl segítségével). Beírod a számot, majd Ctrl+Entert nyomsz.
A kijelölésben legyen benne a fejléces cella is.
Utoljára szerkesztette: Delila1, 2020.06.08. 06:33:38

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

strepsils
#2408
Sziasztok ! Hogy lehet azt megcsinálni hogy a kijelölt cellák mindegyikébe ugyan azt a számot írja be amit fölül a fejlécben megadok?

Hogy ne kelljen ezerszer ugyan azt beírni ha van ezer cellám .
Atika :o)
#2407
Szuper, köszönöm.

(¯`•.¸¸.•´¯`•.¸¸.•~>

Delila1
#2406
A függvény negyedik paramétere 1 és 0 lehet. A nulla pontos keresést eredményez, az 1 pedig közelítőt. Az utóbbi elhagyható. Ha nem adsz meg negyedik paramétert, 1-nek értelmezi ezt az Excel, és ebben az esetben emelkedő sorrendbe rendezett adatokra van szükség.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

Atika :o)
#2405
Sziasztok, letezik olyan funkcio az excelben mint a lookup ugye ami osszehasonlit adott oszlopokat es beir egy erteket az osszehasonlitas alapjan. Csak az a bajom, hogy en pl kodokat hasonlitok ossze es ha ezek nincsenek novekvo sorrendbe rakva akkor az excel nem tudja megcsinalni a lookup parancs segitsegevel.

(¯`•.¸¸.•´¯`•.¸¸.•~>

Delila1
#2404
Remélem, erre gondoltál...

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

lalakov
#2403
Köszönöm. :)
Delila1
#2402
Szóval az AK-ból akarod kivonni az AJ-t.

Az AL47 képlete =HA(AK47>AJ47;AK47-AJ47;24-AJ47+AK47)
Az AL oszlop formátuma: <ó>:pp:mm

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

lalakov
#2401
Köszönöm. :) Az ebből való számolás nem akar összejönni. Ha 24 óra alatt vagyok akkor ((AJ47-INT(AJ47))*24) a képlet, de felette 24 óránként +24-ket kéne hozzáadni. Ezt próbáltam úgy csinálni, hogy AN47-be beírtam a 24:00:00-et, a AO47-be beírtam a 48:00:00-at és a AP47-be beírtam a 72:00:00-öt.
A képletnek ezt írtam be, de nem jó: =HA(((AJ47<AN47;AJ47-INT(AJ47))*24);HA((((AJ47>AN47;AJ47-INT(AJ47))*24)+24);HA((((AJ47>AO47;AJ47-INT(AJ47))*24)+48);HA((((AP47>AN47;AJ47-INT(AJ47))*24)+72);""))))
Mit rontok el? Vagy van esetleg egyszerűbb megoldás?
Delila1
#2400
A cellaformátumon kell változtatnod.

<ó>:pp:mm

A szögletes zárójelek közé tett órát kiírja.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

lalakov
#2399
Újabb problémába ütköztem. Átléptem a 24 órát és ahelyett hogy 25 órával számolna, 1 órát ír. "HA" függvényben hozzá tudnék adni +24-et, de mivel 1-nek látja és nem 25-nek, így ez nem működik.
lalakov
#2398
Türelmetlen voltam :) , kaptam már választ. Ha másnak is kéne beírom a megoldást: Idő= A2 akkor =(A2-INT(A2))*24.
lalakov
#2397
Sziasztok!

Egész számot szeretnék elosztani idővel(óra, perc formátum), de SUM-ban nem jó eredményt ad. Milyen képletet kéne használni?
Megpróbáltam az órát perccé alakítani ( =KONVERTÁLÁS(D36;"hr";"mn") ), de szerinte a 6:00:00 óra az 15 perc. Ennél a formátum kódnál: <ó>:pp:mm helyes értéket ad 360:00:00, de ezzel nem tudok továbbra sem számolni. Nem találtam olyan lehetőséget, hogy csupán 360 -at adjon ki.
#2396
Mindkettőt megtettem, de semmi változás. :(
Továbbra is értetlenül állok a dolog előtt!
Sajnos ez van.
Mindenesetre mindenkinek köszi a segítséget! :)
Delila1
#2395
Telepítetted a VBA-t?
Adj egy javítást az Office-ra, az valószínűleg rendbe teszi.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2394
Nincsenek képletek benne, csak adatok. Megpróbáltam, amit írtál, de valami nem jó. Hibával leáll.
Egyébként én is próbáltam már másik gépen szintén 2016-osban és ott is jól működik. Csak az én gépemen nem! :(
Bosszantó, de ez van!
Majd nem az alakzattal indítom.
Delila1
#2393
Ha nem képletek vannak a másolandó tartományban,
Range("B" & sor & ":F" & sor).Copy WSA.Range("C" & sor1)
formában is megadhatod a másolást.

Nálam csont nélkül lefut a 2016-os verzióban.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2392
Így már ír ki hibát! Run-time error '1004': Range osztály PasteSpecial metódusa hibás.
Delila1
#2391
Kipróbálhatod azt is, hogy a makró elejére beírsz egy Stop utasítást. Indítod az alakzattal, a stopnál leáll, onnan lépésenként futtatod az F8-cal.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2390
Már próbáltam, de nem változott semmi.
Annyit korrigálnék, hogy nem jelez hibát, de nem is fut végig. Az első adat válogatása és másolása után leáll.
Delila1
#2389
Töröld ki az alakzatot, rajzolj újat, és ahhoz rendeld hozzá a makrót.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2388
Igen. Az van hozzárendelve. Valószínűleg valami kis vacak beállítási probléma, de nem tudok rájönni, hogy mi... :(
Delila1
#2387
Nézd meg, hogy az alakzathoz a Masolas makró van-e rendelve.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2386
Nem ír ki hibát. Végigfut, viszont nem ccsinálja meg a "dolgát". Csak az első adatsort válogatja és másolja át a lapokra, a többit már nem. Egy alakzatra való kattintással indul normál esetben és akkor nem működik. Ha viszont a Visual Basicből vagy a Fejlesztőeszközök fülön a Makrókra kattintva indítom, akkor tökéletesen működik. Ezért állok értetlenül a dolog előttt.
Delila1
#2385
Hol akad el, és mit ír ki hibának?

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2384
Köszönöm a segítséget, de továbbra sem működik.
Az alábbi makróról lenne szó!

Sub Masolas()
Dim WSJ As Worksheet, WSS As Worksheet, WSA, sor
Dim usor As Integer, sor1 As Integer, sor2 As Integer, sor3 As Integer, sor4 As Integer, sor5 As Integer, sor6 As Integer
Application.ScreenUpdating = False

Set WSS = Sheets("Alap")
Set WSA = Sheets("Második")
Set WSJ = Sheets("Harmadik")

If WSS.Range("E13") = "" Then
MsgBox "Nincsenek másolható adatok!", vbOKOnly + vbExclamation
Exit Sub
End If

'***************************************************************************
'Előző adatok törlése
WSA.Range("C10:G59, C68:G117, C126:G175, C184:G233, C242:G291, C300:G349") = ""
WSJ.Range("C10:G59, C68:G117, C126:G175, C184:G233, C242:G291, C300:G349") = ""

sor1 = 10: sor2 = 68: sor3 = 126: sor4 = 184: sor5 = 242: sor6 = 300
'***************************************************************************

WSS.Select
usor = Range("E12").End(xlDown).Row
For sor = 10 To usor
Select Case Cells(sor, "G")
Case Range("B6").Value
Range("B" & sor & ":F" & sor).Copy
WSA.Range("C" & sor1).PasteSpecial xlPasteValues
Range("B" & sor & ":F" & sor).Copy
WSJ.Range("C" & sor1).PasteSpecial xlPasteValues
sor1 = sor1 + 1
Case Range("B7").Value
Range("B" & sor & ":F" & sor).Copy
WSA.Range("C" & sor2).PasteSpecial xlPasteValues
Range("B" & sor & ":F" & sor).Copy
WSJ.Range("C" & sor2).PasteSpecial xlPasteValues
sor2 = sor2 + 1
Case Range("B8").Value
Range("B" & sor & ":F" & sor).Copy
WSA.Range("C" & sor3).PasteSpecial xlPasteValues
Range("B" & sor & ":F" & sor).Copy
WSJ.Range("C" & sor3).PasteSpecial xlPasteValues
sor3 = sor3 + 1
Case Range("B9").Value
Range("B" & sor & ":F" & sor).Copy
WSA.Range("C" & sor4).PasteSpecial xlPasteValues
Range("B" & sor & ":F" & sor).Copy
WSJ.Range("C" & sor4).PasteSpecial xlPasteValues
sor4 = sor4 + 1
Case Range("B10").Value
Range("B" & sor & ":F" & sor).Copy
WSA.Range("C" & sor5).PasteSpecial xlPasteValues
Range("B" & sor & ":F" & sor).Copy
WSJ.Range("C" & sor5).PasteSpecial xlPasteValues
sor5 = sor5 + 1
Case Range("B11").Value
Range("B" & sor & ":F" & sor).Copy
WSA.Range("C" & sor6).PasteSpecial xlPasteValues
Range("B" & sor & ":F" & sor).Copy
WSJ.Range("C" & sor6).PasteSpecial xlPasteValues
sor6 = sor6 + 1
End Select
Next

Application.CutCopyMode = False
Application.ScreenUpdating = True
Range("E13").Select
End Sub

A lényege az, hogy az egyik lapon vegyesen vannak az adatok (max 6 féle) amelyet másik két lapra válogat és másol át.
A makró elindul, de csak az első elemet másolja át a lapokra, a többit nem.
2007 éa 2010 alatt tökéletesen működött, illetve van még jónéhány másik makró is ugyanebben az Excel fileban, amelyek tökéletesen működnek. Csak ez az egy nem. :(
Előre is köszi!
Delila1
#2383
A bővítményeknél jelöld be az Analysis ToolPak és az Analysis ToolPak-VBA bővítményeket. Ha ezután sem működik, tedd ki ide a kérdéses makrót, akkor talán megfelelő választ kaphatsz.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2382
A VBA-ba Sub-al indulnak a makrók. Ezt nem lehet átírni, mert hibát jelez. A nevében sem tudom átírni, úgyhogy továbbra sem értem, hogy hová kellene beírnom a Call-t.
Elnézést az értetlenkedésért! :)
tigerbácsi
#2381
A VBA -ba kell átírnod a modulokban.

kiad

Call kiad

A kiad nevű makrot e két módon kérheted, egy makron belül.
régen elég volt csak a makro nevét bekérned, most a régieknél be kell hívni.

Az Élet nem más mint egy hosszú Halál! \"Belül én már rég meg haltam csak a maszkom él.\" - Junkies Nyúljon meg a nyaka bogyokának, s legyen kék a nyelve!

#2380
Köszi a választ, de ezt nem egészen értem. A makróim alakzatra kattintásra indulnak és nem begépelem a nevét. Hová írjam a Call parancsot?
tigerbácsi
#2379
Nekem is volt ehhez hasonló problémám. Bár gépcsere nélkül. Úgy tudtam megoldani, hogy ha makróból indítasz egy másik modulon lévő makrót akkor nem elég csak a makró nevét begépelni mint azt tesszük pl a 2007-esben, hanem meg kell hívni
Call makrónév (azaz Call parancs segítségével) nekem így működnek a régi makróim.

Az Élet nem más mint egy hosszú Halál! \"Belül én már rég meg haltam csak a maszkom él.\" - Junkies Nyúljon meg a nyaka bogyokának, s legyen kék a nyelve!

#2378
Sziasztok!
Egy számomra megfejthetetlen, érdekes problémával fordulnék a nálam jóval nagyobb tudással rendelkező "szakikhoz".
Készítettem egy makrót évekkel ezelőtt, 2007-es Excelben. Sokáig használtam, és tökéletesen működött 2007-esben és 2010-esben is. Majd gépcserét követően 2016-os Excel került a gépemre, és ott már nem működik jól. Csak egy része fut le, majd megáll de hibaüzenetet nem küld. Viszont a Visual Basicből indítva hibátlanul fut.
Teljesen értetlenül állok a dolog előtt.
Aki tudja, hogy mi lehet a hiba, az kérem írja meg!
Köszi!
#2377
Úgy néz ki, hogy így már tökéletesen működik!
Nagyon szépen köszönöm a segítséget! :)
#2376
Talán ez jó:

With fldlg
.Title = "Mentés másként"
.InitialFileName = "neve" & Range("e4") & " " & Range("g4")
.FilterIndex = 2
End With

#2375
Sziasztok!

Egy makró problémám lenne!
Szeretnék egy munkafüzetet makróbarát munkafüzetként elmenteni, de sajnos hiába állítom be, csak sima excel sablonként meni el.
Nem tudtam rájönni, hogy mi a probléma.
Hátha valaki tud segíteni.
Itt a makróm:

Sub Mentés_Másként()

Dim fldlg As FileDialog
Set fldlg = Application.FileDialog(msoFileDialogSaveAs)
With fldlg
.Title = "Mentés másként"
.InitialFileName = "A mentett dokumentum neve" & Range("e4") & " " & Range("g4")
End With

rv = fldlg.Show
If rv Then

ActiveWorkbook.SaveAs fldlg.SelectedItems(1), FileFormat:=xlOpenXMLWorkbookMacroEnabled

End If
Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

Előre is köszi!
Utoljára szerkesztette: Storey, 2018.07.09. 14:13:20
#2374
Köszi, ez a megoldás és szuper!
#2373
Köszönöm, nagy segítség volt!
#2372
Vagy egy kicsit egyszerűbben, egy segéd oszloppal
AL oszlop:
=HA(AJ2="","",AM2-MAX($AM3:AM$22))
AM oszlop (segéd oszlop)
=HA(AJ2="","",SZUM($AK2:AK$21))
A "MAX(AM3:AM22)" tartománynak egyel hosszabbnak kell lennie, mint a bevitt adatoknak (adatok a AM21-ig vannak)
És így nincs "Hiányzik" hiba.

Utoljára szerkesztette: Nekem, 2018.06.28. 20:33:11
Delila1
#2371
Az AL2 cella képlete

=HA(ÜRES(AJ2);"";SZUM(INDIREKT("AK"&SOR()&":AK"&HOL.VAN(INDIREKT("AJ"&SOR())+1;AJ:AJ;0)-1)))

Ezt másold le. Az utolsó egységnél #HIÁNYZIK eredményt kapsz, ezt az egy összesítést "gyalog" add kell megadnod.

Program az, ami az adatokat hibaüzenetté konvertálja. Lassú munkához idő kell.

#2370
Sziasztok!

Én Google Sheetsben akadtam el. Lehetséges az, hogy egy A1-es cellába írt képlettel megadjam az A2-nek az értékét?

Konkrét példa:
Van egy ilyen képletem:
=IF(F3="Done",G3="Not yet received",G3="Waiting for Rec") – nyilván helytelen azzal a G3= résszel.

(Azért nem tudom ezt az egészet a G3-ban megadni, mert legördülő listám van, és az valamiért nem működik együtt a képlettel.)
A célom az lenne, hogy egy teljesen független cellában adom meg ezt a képletet, csak egyszerűen arra nem tudok rájönni, hogy hogyan tudom egy tök random cellából megváltoztatni a G3 értékét. Lehetséges egyáltalán?


#2369
Sziasztok,

Arra keresek megoldást, hogy a lenti képen látható táblázatban batchek láthatóak a bal szélső oszlopban. Egy batch pirossal körbe van keretezve. Minden batchnek szeretném képlettel meghatározni az össz mennyiségét. A batchek mennyisége minden esetben eltérő és 29000 soros a tábla így egyesével rengeteg idő lenne szummmázni. Tehát batch 1 áll 640, 1280, 640, 640, 640 kg-ból amik összege 3840. Ezt szeretném minden egyes batch mellett látni. Tudtok segíteni? Előre is köszönöm.
norbre
#2368
és mi a megoldás? :)

** ha elfordítod a fejed, könnyebb elhitetni magaddal, hogy nem is tudsz a dologról, és pláne nem vagy felel?s ** "Manapság mindenki vissza akar menni a természetbe. Kár hogy autóval"

Oldal 1 / 49Következő →