-
Fototrend
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
-
felora:)
tag
válasz KaliJoe #24767 üzenetére
Szia!
Eddig fasza, nagyon jóóó, eljutottam addig, hogy meg van a legördülő menüm, az + pont, hogy címet is adhattam neki, de még annyi kéne, hogy pl. ha kiválasztom a legördülő listából, hogy "IGEN" akkor generálja be, az "A16"-os cellába, hogy pl. "OKÉ", ha a "NEM"-et választom ki, akkor azt generálja be, hogy: "NEM OKÉ". azt hogyan?
Ja! még annyit, hogy minden cellának majd a szöveget az "A16"-osba kell begenerálnia, szépen egymás után.
[ Szerkesztve ]
-
Delila_1
veterán
válasz felora:) #24801 üzenetére
"minden cellának majd a szöveget az "A16"-osba kell begenerálnia, szépen egymás után."
Ezt úgy érted, hogy az A16-ban az utoljára kiválasztott értéknek megfelelően jelenjen meg az OK vagy a NEM OK szöveg?Ha igen, az A16 képlete legyen:
=HA(INDIREKT("A" & DARAB2(A1:A15))="Igen";"OK";"NEM OK")
Az A1:A15 helyett azt a tartományt add meg, ahol kiválasztod az igen, vagy nem szöveget.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
KaliJoe
tag
Sziasztok,
Tudtok jó megoldást arra, hogy hogyan lehet ciklusból megcímezni 24 különböző CheckBoxot, amelyek neve csak egy sorszámban tér el? A CheckBoxok egy Frame-ben belül vannak.
A cél, h egy cellákban adott listából feltöltsem a CheckBoxNN.Caption tulajdonságát.Ahová be akarom tölteni programból:
Vagy csak manuálisan lehet az értékeket megadni? Emigyen:
ChboxNév01.Caption = Worksheets("Személylap").Cells(byt_AktuálisSor, "B").Value ,
helyett
ChboxNév01.Caption = Worksheets("Személylap").Cells(2, "B").Value
ChboxNév02.Caption = Worksheets("Személylap").Cells(3, "B").Value
ChboxNévNN.Caption = Worksheets("Személylap").Cells(xx, "B").Value[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
KaliJoe
tag
Kedves Blogozók,
Én még csak újonc vagyok itt és éppen csak néhány napja csatlakoztam Hozzátok, de nagyon meglepett az a kedves hozzáállás, amivel egymás (köztük az én) problémái(m) iránt viseltettek. Magam is ilyen gondolkodásúnak tartom magam, úgyhogy nagyon örülök, hogy köztetek lehetek!
Evvel az üzenettel és képpel kívánok Boldog Új Esztendőt, és köszönöm meg értékes segítségeteket.
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
DrojDtroll
veterán
Köszönök, az összes ez évi segítséget, és kívánok minden cellabűvölőnek sikerekben gazdag boldog új évet.
-
zoli1962
csendes tag
Mutt segítsége jó lett De még egy problémám lenne. Van olyan oszlop ahol nem minden cellába kerül adat (szám) És ott ez a függvény nem jó. Tehát az oszlopba írt utolsó cella adatát írja ki egy új munkalap adott cellájába, de az oszlopba lehet valahol üres cella. Ezen a honlapon találtam tippeket : http://www.offcafe.hu/13szept.html akár melyiket írom a névkezelőbe nem jön össze , sőt érdekes módon (ilyet még nem láttam) egy idő múlva a cella hivatkozást átírja
-
Delila_1
veterán
válasz zoli1962 #24811 üzenetére
A HOL.VAN("zzzz";A:A;1) képlet az A oszlop utolsó, szöveggel kitöltött sorát adja eredményül.
Nem tudom, hasznodra lesz-e ez a képlet, nem ismerem az előzményeket. A jelenlegi kérdésedből úgy látom, az egyes oszlopok alsó sorát szeretnéd meghatározni.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
veterán
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
veterán
válasz zoli1962 #24814 üzenetére
A Munka2 lap C oszlopának utolsó tagját (ami szám), a
=HOL.VAN(9,99999999999999E+307;Munka2!C:C;1)
képlettel kapod meg, foghíjas oszlop esetén is.
A Munka1!A1 képlete ennek alapján
=INDIREKT("Munka2!C" & HOL.VAN(9,99999999999999E+307;Munka2!C:C;1))
[ 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.
-
csferke
senior tag
válasz Delila_1 #24817 üzenetére
Sziasztok!
Egy táblázat A-F oszlopaiból szeretném kinyomtatni az A,B és F oszlopokat de csak azokat a sorokat amelyeknek az oszlopa nem üres.
Eddig eljutottam
de itt a nyomtatásban látszanak azok a sorok is melyeknek az F oszlopa üres.Ezt a nyomtatást egy ActiveX Command Button-al kellene lefuttatni Excel 2007-ben.
köszi
[ Szerkesztve ]
-
Delila_1
veterán
válasz csferke #24818 üzenetére
Tegyél autoszűrőt a táblázatodba. Az A, B, és F oszlopban a szűrésnél mindegyik oszlopban vedd ki a pipát az "Üres" négyzet elől. Rejtsd el a C:E oszlopokat, jelöld ki a nyomtatandó területet, a nyomtatás párbeszédablakban "A kijelölt terület" opciót add meg.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
KaliJoe
tag
Sziasztok,
Van egy felsorolásom, amelyik a hét napjait tartalmazza, magyarul.
Van egy űrlapon két Combobox-om, amelyek .Value paraméteit a felhasználó állítgatja, természetesen a hét számát választja ki az egyikkel és a hét napját a másikkal.A problémám akkor keletkezik, amikor vissza akarom fejteni ezeket az adatokat újra dátummá, vagy dátumértékké, emígyen:
dat_BeírandóDátum = DateAdd("n", (CBox_Hét.Value - 1) * 7 + CBox_NapNeve.Value, Date)
vagy emígyen:
dat_BeírandóDátum = DateAdd("n", (CBox_Hét.Value - 1) * 7 + enu_HétNapja = CBox_NapNeve.Value, Date)
Miközben enu_HétNapja tökéletesen tudja (és értéket is rendel a hét napjaihoz), hogy mennyit ér mondjuk 'péntek', ahogy ezt az alábbi kép is mutatja:Persze, arra is rájöttem, h enu_HétNapja = CBox_NapNeve.Value összefüggésre max. egy False válaszra méltat az Interpreter... mivel:
... és közben CBox_NapNeve.Value típusa karakterlánc (magától értetődően), amikor nekem számot kellene az összeadásba adnom... :-(
Tehát a kérdésem az, h hogyan kellene helyesen megfogalmazni a fentiekben Látható sort VBE módra, hogy az összefüggés helyesen adja az éven belül eltelt napok függvényében a dátumot?[ Szerkesztve ]
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
csferke
senior tag
válasz Delila_1 #24819 üzenetére
Arra gondoltam, hogy a nyomtatási parancsban valahol meg lehet adni, hogy ne nyomtassa azokat a sorokat ahol F oszlop cellája üres.
Valamikor a múltban tőled kaptam 2 néhány soros makrót. Egyik eltünteti az üres sorokat a másik visszahozza őket . Beillesztettem közéjük a nyomtatást. Működik. Picit lassú, de mivel csak évente párszor kell ez a nyomtatás, hát kivárom.
-
-
BenJoe80
senior tag
Sziasztok
és boldog új évet mindenkinek!
A következőhöz lenne segítségre szükségem. Excel 2003-ban szeretnék egy legördülő listát létrehozni. A legördülő listában szerepeljen a "Kontó szám" és a hozzátartozó "Kontó név". Ebből a listából a megfelelő tétel kiválasztása után csak a "Kontó szám" látszódjon a cellában.
Ezt hogy tudom megoldani Excel 2003-ban?
A szóban forgó táblázat innen letölthető.
Az táblázatban az "Acc." lapon találhatóak a "Kontó számok" és a hozzátartozó "Kontó nevek". A legördülő listát pedig a "January" lapon az "A/C" oszlopba (D5:D70 tartomány) szeretném, de úgy, hogy csak a "Kontó számok" látszanak.
A segítséget előre is köszönöm!
[ Szerkesztve ]
Megisznak egy deci pálinkát. Miért? "Olyan savam vót, meg köllet innom egy deci pálinkát, aszittem megbolondulok." Aztán megisznak négy liter bort. Miért? "Há' semmi savam nem volt má'!"
-
tgumis
tag
sziasztok
hogy tudom azt megoldani makróval hogy a sárgával jelzett részen lévő adatok kijelölése után egy másik munkalapon a piros színnel jelölt részre irányított beillesztés transzportálással a munkalap utolsó üres sorába kerüljön
Próbálkoztam userformmal de macerás és egy csomó hiba van benne és sürgésen prezentálnom kellene de nem megy légy szí segítsetek. -
Delila_1
veterán
válasz BenJoe80 #24823 üzenetére
Feltettem ide.
Az Acc. lap C oszlopában összefűztem a kétféle adatot, közöttük pár szóközzel. A sárga hátterű tartománynak a lista nevet adtam. Ezt vittem érvényesítésként a January lap B oszlopába. Nem valószínű, hogy ebben az oszlopban kellene választanod, de nem írtad, melyikben szeretnéd.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fferi50
Topikgazda
válasz tgumis #24824 üzenetére
Szia!
Én a munkalap Selection_Change eseménykezelőjébe tenném be a következőket:
Megnézném, hogy a kérdéses terület van-e kiválasztva (ezt az intersect függvénnyel tudod megtenni)
Ha igen, rákérdeznék, hogy másoljam-e át (msgbox eredménye yes vagy no).
Ha másolni kell, akkor megkeresem a második munkalapon az utolsó sort és a cellák értékét egyesével átadom első cella az első oszlopba, második cella a második oszlopba . és így tovább.Üdv.
[ Szerkesztve ]
-
tgumis
tag
válasz Fferi50 #24826 üzenetére
Mint írtam készűl egy szebb megoldás viszont most csak egy olyan makrót szeretnék ideiglenes megoldásnak,hogy kijelöl egy adott területet(a sárga tartományt) az 1. munkalapon majd azonnal be is illessze a 2.munkalap utolsó üres sorába. A gond ott van, hogy hogyan adom meg neki a transzportálást és az utolsó üres sort.
-
BenJoe80
senior tag
válasz Delila_1 #24825 üzenetére
Szia Delila_1!
Először is köszi az önzetlen segítségedet úgy most, mint a múltban (volt pár alkalom).
Megnéztem az általad módosított táblázatot, de amit én igazából szeretnék, hogy a legördülő lista az "A/C" oszlopban (D5:D70 tartomány) legyen. Mégpedig úgy, hogy a legördülő listában legyenek a választható, összesített tételek (pl.: 1000 Income, 1100 Other income... stb.), viszont amint kiválasztom a megfelelő tételt, az "A/C" oszlopban ((D5:D70 tartomány) csak a tétel kódok legyenek láthatóak (tehát: 1000, 1100... stb.)
Ez megoldható?
Egyenlőre előre-hátra lapozok az adott hónap és az "Acc." lap között, mert fejből nem tudom az összes tétel kódját és arra gondoltam, így egyszerűbb lenne. Viszont a tétel neve nem kell(ene).
Megisznak egy deci pálinkát. Miért? "Olyan savam vót, meg köllet innom egy deci pálinkát, aszittem megbolondulok." Aztán megisznak négy liter bort. Miért? "Há' semmi savam nem volt má'!"
-
Fferi50
Topikgazda
válasz tgumis #24827 üzenetére
Szia!
Az utolsó üres sort megkapod a következőképpen:
az A oszlopban
usor=cells(rows.count,1).end(xlup).row+1ha más oszlopban szeretnéd, akkor az oszlopszámot átírod.
Transzponálni nem kell erőlködnöd. Simán átveszed az értékeket:
pl.
Munka2.cells(usor,1).value=Munka1.cells(1,4).value
Munka2.cells(usor,2).value=Munka1.cells(2,4).value
Munka2.cells(usor,3).value=Munka1.cells(3,4).value
Sőt:
For xx= 1 to 3
Munka2.Cells(usor,xx).value=Munka2.cells(xx,4).value
NextEz a kód a Munka1. D1:D3 cellájának értékét átteszi a Munka2 utolsó sorának első -második és harmadik cellájába. Az oszlopszámokat szükség szerint állítsd át.
Üdv.
[ Szerkesztve ]
-
BenJoe80
senior tag
válasz slashing #24830 üzenetére
Aha... akkor azt hiszem várnom kell valakire, aki okos is meg rá is ér mert halvány lövésem sincs, hogy hogyan álljak neki. Makróval még sosem dolgoztam... hajaj! Pedig reméltem, hogy ma kész leszek...
Megisznak egy deci pálinkát. Miért? "Olyan savam vót, meg köllet innom egy deci pálinkát, aszittem megbolondulok." Aztán megisznak négy liter bort. Miért? "Há' semmi savam nem volt má'!"
-
tgumis
tag
-
tgumis
tag
válasz Fferi50 #24836 üzenetére
Sub megrendeo_nyil_tart_masol()
'
' megrendeo nyilvantartas masolasa utolso ures sorba a 2-es munkalapramasol Makró
'
usor = Cells(Rows.Count, 1).End(xlUp).Row + 1
Munka2.Cells(usor, 1).Value = Munka1.Cells(2, 2).Value
Munka2.Cells(usor, 2).Value = Munka1.Cells(3, 2).Value
Munka2.Cells(usor, 3).Value = Munka1.Cells(4, 2).Value
Munka2.Cells(usor, 4).Value = Munka1.Cells(5, 2).Value
Munka2.Cells(usor, 5).Value = Munka1.Cells(6, 2).ValueEnd Sub
ez a makróm de nem müxik
-
-
Wyll
őstag
Sziasztok!
Van kezdetben egy főlap munkalapom, és egy BASIC munkalapom.
A főlap segítségével a júzer létre fogja hozni egyenként a BASIC munkalap sok-sok másolatát, mindet egy-egy egyedi névre átnevezve, és a főlapra ezen egyedi lapok bizonyos cellái be lesznek linkelve.
A BASIC lapon elég sok összetett képlet van, így annak másolatain is elég sok összetett képlet lesz.
Továbbá a BASIC laphoz tartozik még egy tonna bonyolultan definiált név is (amiket a képletek használnak), amik Munkalap szintűek, így aztán minden egyes másolathoz is tartozni fog egy-egy tonna, az adott másolatra érvényes név is.
Namost tesztelgetés közben azt vettem észre, hogy már 10 lap körül is igencsak érezhetően belassul egy-egy ilyen másolatnak a létrehozása. Ez nem túl biztató, mivelhogy az a terv, hogy nagyságrendileg 150 ilyen másolatot akar majd a júzer összesen létrehozni...
A file mérete ránézésre nem tűnik vészesnek, 510kB. Viszont a megnyitása már most is tart vagy 20-30 másodpercig.
A kérdésem, hogy mennyire bölcs dolog így ez az egész konstrukció?
Megáll-e a lassulás egy elfogadható szinten, vagy lineárisan, netán exponenciálisan csak romlani fog?Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
slashing
senior tag
Ha még nem illesztetted be őket akkor érdemes lehet sokat tud gyorsítani rajta, csak a végén ne felejtsd el visszakapcsolni.. A tonnányi képlet kiszámolás tuti sokat számít arra mindenképpen érdemes berakni az első kapcsolót.
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.Enableevents=false -
Delila_1
veterán
válasz BenJoe80 #24831 üzenetére
Kissé megkésve, de sok szeretettel.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
KaliJoe
tag
Sziasztok,
Írok egy jelenléti ív programot. Oda jutottam, hogy egy újabb vizsgálatnál ki akarom íratni a dolgozó teljes nevét. Ehhez most éppen a rövid név áll rendelkezésemre, ami egyezik a dolgozó jelenléti adatait nyilvántartó Munkalap nevével. Viszont a beírt VBE sor hibára fut. Megnéztem előtte sima képlettel ott rendben van. Az adatok:
Az Excel sor: =INDEX(Személylap!B2:K25;HOL.VAN("KalinaJL_1";Személylap!K2:K25;0);1)
A VBE sor kiemelve a kódrészlettel:
For Each wsh_DolgozóRövidNév In Worksheets
If dat_BeírandóDátum <= Worksheets(wsh_DolgozóRövidNév.Name).Cells(Worksheets(wsh_DolgozóRövidNév.Name).Cells(1, 1).Value, const_DolgozóNévOszlop).Value Then
int_Válasz = MsgBox("A kiválasztott" & Chr(10) & Chr(13) & _
Chr(9) & WorksheetFunction.Index(const_SzemélylapAdatbázis, WorksheetFunction.Match(wsh_DolgozóRövidNév.Name, const_SzemélylapRövidNévOszlop, 0), 1) & Chr(10) & Chr(13) & _
"nevű dolgozó adatbázisában későbbi időpont az utolsó bejegyzés, mint az Általad választott dátum. Akarod felülírni az űrlapon megadott információkkal az adatbázisban lévőt illetve beszúrni, ha nem létezik bejegyzés erre a dátumra?", _
vbQuestion + vbYesNo + vbDefaultButton2, "Felülírás-Beszúrás?")
If int_Válasz = vbYes Then
bol_Beszúrás = True
ElseIf int_Válasz = vbNo Then
Exit Sub
Else
'Úgy vesszük, mintha Nemet mondott volna = Visszalépés az űrlaphoz, hogy módosíthasson
Exit Sub
End If
End If
Next wsh_DolgozóRövidNévA piros rész dob hibát, miközben, az értékeket rendesen tudja:
A hibaüzenet:
Kinek, mi az ötlete, mi lehet a gond? És, főleg, mi lehet a megoldás?
Frazeológiám: Az ember nem kávéra, nem is kávéházra vágyik, az ember lelke barátra vágyik, a kávé csupán ürügy... :-) ;)
-
BenJoe80
senior tag
válasz Delila_1 #24842 üzenetére
Nagyon szépen köszönöm!!! Közben kértem segítséget máshonnan is és ha nem baj összehasonlítanám a tieddel. A te makród:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then
Application.EnableEvents = False
Range(Target.Address) = Left(Target, 4)
Application.EnableEvents = True
End If
End SubA másik amit kaptam:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D:D")) Is Nothing And Target.Value <> "" Then
ActiveCell.Value = Left(Target.Value, 4)
End If
End SubBár mindkét makró pontosan azt teszi amire szükségem van, csupán kíváncsiságból: mi a különbség?
Megisznak egy deci pálinkát. Miért? "Olyan savam vót, meg köllet innom egy deci pálinkát, aszittem megbolondulok." Aztán megisznak négy liter bort. Miért? "Há' semmi savam nem volt má'!"
-
BenJoe80
senior tag
válasz Delila_1 #24842 üzenetére
Még egy utolsó kérdés: hogy lehet a legördülő lista szélességét beállítani? Megfigyeltem, hogy az általad módosított táblázat legördülő listájában szépen olvasható a kód és név (legnagyobb része) egymás mellett. Amit én csináltam, ott meg a kód is csak ímmel-ámmal fér be legördülő lista szélességébe.
Pontosítok. A táblázatodban a legördülő lista szélesebb mint maga az oszlop, míg az enyémben csak olyan széles, mint maga az oszlop.
[ Szerkesztve ]
Megisznak egy deci pálinkát. Miért? "Olyan savam vót, meg köllet innom egy deci pálinkát, aszittem megbolondulok." Aztán megisznak négy liter bort. Miért? "Há' semmi savam nem volt má'!"
-
gaborlajos
csendes tag
Sziasztok!
Segítséget szeretnék kérni a megoldáshoz. Van egy oszlopom amiben nevek vannak, és lehetnek benne üres cellák is, és ezek ismétlődhetnek is.Egy másik oszlopba át kéne íratnom egymás alá, de minden nevet már csak egyszer. Hát ez meghaladja a képességeimet.
Előre is kösz. -
Delila_1
veterán
válasz BenJoe80 #24845 üzenetére
1. Az Application.EnableEvents = False sor letiltja, hogy az eseménykezelő makró újra lefusson, mikor a Left függvény beírja az első 4 karaktert a D oszlopba, majd True-ra állítva ismét engedélyezi a futást.
A Worksheet_SelectionChange típusú makró minden esetben lefut, mikor új adat kerül billentyűzetről a lapra, ilyen az egérrel kiválasztott adat is. Mindkét makró a beírt értéket felülírja egy rövidebb értékkel, ami újabb beírás, ismételten lefut a makró, ha nem tiltjuk ezt le. Ezúttal a 4 karakterből álló adat 4 első karakterét venné, ami gyakorlatilag nem változtat az új beíráson.
Mivel alkalmanként az ideiglenes letiltás csupán 1 újabb futást "takarít meg", nem látható a futási idő rövidülése. Enélkül is elmegy.2. Nem maga az érvényesítés legördülője lett szélesebb, hanem a kiválasztáskor az általam feltett füzetben még üres a következő oszlop, ezért abban (is) látszik a kiválasztott, több karakterből álló szöveg.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
BenJoe80
senior tag
válasz Delila_1 #24847 üzenetére
Köszönöm!
Az enyémben is üres (tőle balra és jobbra is), ugyanakkor ha a tiedet megnyitom, akkor balra-le megnyílik a legördülő lista és jó széles, olvasható. Nálam meg csak olyan széles mint maga az érvényesítés oszlopa.
Megisznak egy deci pálinkát. Miért? "Olyan savam vót, meg köllet innom egy deci pálinkát, aszittem megbolondulok." Aztán megisznak négy liter bort. Miért? "Há' semmi savam nem volt má'!"
-
Fferi50
Topikgazda
válasz gaborlajos #24846 üzenetére
Szia!
Ha 2010-es (esetleg 2007?) vagy annál újabb exceled van, akkor adatok -> ismétlődések eltávolítása.
Ha korábbi, akkor adatok -> irányított/speciális szűrő. Másolás más helyre, csak az egyedi adatok. Ekkor viszont az adatok első cellája fejléc kell legyen.Üdv.
Új hozzászólás Aktív témák
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest