Ü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.
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ó.
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
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! :)
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
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
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.
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.
Az AL47 képlete =HA(AK47>AJ47;AK47-AJ47;24-AJ47+AK47) Az AL oszlop formátuma: [ó]:pp:mm
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?
Ú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.
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.
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! :)
Telepítetted a VBA-t? Adj egy javítást az Office-ra, az valószínűleg rendbe teszi.
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.
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.
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.
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
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!
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.
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! :)
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.
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?
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.
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!
Ú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! :)
Talán ez jó:
With fldlg .Title = "Mentés másként" .InitialFileName = "neve" & Range("e4") & " " & Range("g4") .FilterIndex = 2 End With
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
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.
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?
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.
Sziasztok! Sikerült megoldani :) További szép napot
Sziasztok! Excelben ha levédem a munkalapot (zárolt ill. nem zárolt cellák) akkor mit kell beállítani, hogy a nem zárolt cellákba tudja megjegyzést beírni.
Sziasztok, van exelben egy tablazatom ami 10 sorbol all. Akarok csinalni egy makrot ami letrehoz egy uj lapot es oda atmasol csak par oszlopot az elso laprol. Eddig meg meg minden ok. A kerdesem az lenne, hogy a macroban hogyan tudom azt megcsinalni, hogy o figyelembe vegye, hogy csak 10 sorom van. (persze az lehet valtozo aztan kevesebb, vagy tobb). Remelem ertheto mit szeretnek :)
Sziasztok. Valaki le tudná írni nekem táblázatban hogy kell azt megcsinálni hogy ha begépelek egy szöveget a cellába és ha az egyezik egy mintával akkor igaz hamis elvén egy másik cellában felfedődjön ez a szöveg. Ha nem egyezik a szöveg akkor maradjon üres a másik cella.
Sziasztok. Ha fikszalni akarok egy szamot, hogy ha lehuzom akkor ne novelje, hanem mindig ugyan az legyen azt hogy kell?
Küldd el privátban a fájlt, hátha tudok valamit kezdeni vele.
Az sajnos nem működik, az egészet egybe számolja onnantól, ha több sort veszek fel... Akkor is ha a sorjelölőn, akkor is ha csak a cellákat jelölöm ki...
Kijelölöd az első formázott sort, felveszed a formátumfestő ecsetet (Kezdőlap bal oldalán). Ecset alakú lesz a kurzorod, amit lefelé végig húzol a sorjelölőkön.
Sziasztok!
Szeretném valamilyen feltételes formázással kiemelni az értékeket soronként... Az elsőt megcsináltam és másoltam a formátumot még 50x... ennél biztos lehetne gyorsabban, de hogyan?
Sziasztok, segítséget kérek. Van két oszlopom, A és B, A-ban a vásárolt tétel megnevezése, B-ben az értéke. A B gumi 600 gumi 600 sör 312 gumi 600 sör 312
egy másik cellában össze akarom adatni az azonos tételeket fügvénnyel. az oszlop folyamatosan bővül újabb sorokkal, hosszú lenne a B1+B2+B4....., és rendezem is az oszlopokat, változna a sorrend.
Köszönöm a választ - legalább tudom, hogy nem bénáztam
Annyit hozzátennék, hogy (a 2007-es excel-ig biztosan) lehetséges aposztróffal kezdve + - és = jelekkel kezdeni a cella tartalmát, Ekkor sima szövegnek veszi. Pl.:
A plusz, a mínusz, és az egyenlőségjellel kezdődő cellatartalmakat az Excel képletként értékeli. Írhatsz a + helyett pl. t betűt (teljesítve), vagy ü betűt, ami a Wingdings fontnál pipa jelet ad, vagy bármi mást.
Megoldható egyetlen képlettel a következő probléma? vannak beszállítók (1, 2, 3, 4, 5, stb...kóddal), tartozik egy dátum hozzájuk és egy jelölő mező (szállítási dátumonként), hogy valamely feltételt teljesítettek-e vagy sem ("+": teljesítette, üres a cella, ha nem). Meg kellene számolni, hogy egy adott beszállító (pl. 1-es) hányszor teljesítette a feltételt, vagyis, hány érvényes + jele van.
Az meg megoldhato valahogy, hogy ha valamilyen adatot viszek at az eggyik cellabol a masikba = segitsegevel es ha az a cella ures akkor ne irjon 0 a masikba?