- Asszociációs játék. :)
- Fűzzük össze a szavakat :)
- Mindent a StreamSharkról!
- Szólánc.
- Bambanő háza tája
- Nagy "hülyétkapokazapróktól" topik
- Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- PLEX: multimédia az egész lakásban
- Ingyen kellene, de tegnapra
- Ep128Emu felhasználói képeskönyv
-
LOGOUT.hu
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
-
Delila_1
veterán
A personalba írt kis makrótól kérdezem meg az aktuális cella karakter- és háttérszínét.
Sub Szin_lekerdezes()
MsgBox "Karakter: " & Selection.Font.ColorIndex & _
Chr(13) & "Háttér: " & Selection.Interior.ColorIndex
End SubIgaz, ez a ColorIndexet adja meg.
Kipróbáltam a makródat egy sárga hátterű cellán állva. Utána átállítottam ezt a sárgát a beállításoknál egy kislibazöldre, de ugyanazt az RGB összeállítást kaptam.
-
Emu
őstag
Annyi a lényeg, hogy az értékesítés több termékből tevődik össze, aminek az arányait is szemléltetni szeretné az oszlopokon. Az oszlopokat pedig 2 sorban szeretném elrendezni, hátul a 2010-es havi lebontású értékesítésnek az oszlopai előtte pedig 2011 január-február, a többi hónap meg egyenlőre 0. Így érthető volt?
-
-
-
scott_free
senior tag
hm, köszi.
bonyolítanám egy picit még a helyzetet:
lehet, hogy egy ez már programozás, de megoldható egy ehhez hasonló struktúra-rendszer kezelése és bővítése az excellel?
értelemszerűen az egymás alatti szintek összetartoznának, egy-egy tartományt képeznének.
(a bennük lévő adatok összeadódnának - tehát az 1-be beletartozna minden 1-gyel kezdődő sor, az 1.2-be az 1.2-vel kezdőd sorok, stb.)manuálisan mindezt meg tudom csinálni, de automatizálható-e egy ilyen táblázat? bővíthetővé tehető-e úgy, hogy pl. egy új sor felvitelénél egy legördülő menüből ki lehetne választani, hogy hova, melyik sor alá tartozna és akkor oda is tenné be? (pl. föl szeretnék vinni egy új sort 1.3-ként, akkor elég lenne kijelölnöm azt, hogy az 1-hez tartozzon, és automatikusan beteszi oda)
nem tudom, mennyire érthető ez így?
-
Delila_1
veterán
A felsővezetők kezébe kerülő diagramok értelmezéséről nekem is van egy kedvenc történetem.
Kollégám készített nekik egy hasábdiagramot a tényleges energia költségekről. A vezér visszadobta azzal, hogy túl magasak az értékek. Igen, de ezek már megtörténtek. A kolléga magasabbra állította az Y tengely maximumát, így a hasábok ehhez képest alacsonyabbak lettek.
Az új diagramot elfogadták...[ Szerkesztve ]
-
-
A 2000-től a 2007-es Office-ig bezárólag, 6.0-ás VBA "motort használ", azonban ezen azonosság ellenére vannak olyan programozástechnikai eltérések (elsősorban pl deklarálásokban, függvényhívásokban), amikre oda kell figyelni és ez 2003 vs. 2007-re is igaz. A 2010-es Office már 7.0-ás "motort használ", ami alapvetően kompatibilis teljesen a 6-ossal, csak kibővített funkciókkal rendelkezik és ami nem mellékes, ugye a 2010-es Office x64-es változatban is elérhető.
[ Szerkesztve ]
-
Hali!
Ja ez más kérdés, szóval megoldható. Le kell kérni a már megnyitott munkafüzet(ek) teljes nevét az útvonallal együtt (Fullname). Ha még nincs megnyitva megnyitod csak olvasásra avagy sem. Az is lekérhető, hogy az épp megnyitott vagy már korábban betöltött munkafüzet az readonly avagy sem.
Private Sub CommandButton1_Click()
MsgBox (ThisWorkbook.FullName)
If ThisWorkbook.ReadOnly = True Then
MsgBox ("Csak olvasásra")
Else:
MsgBox ("Szerkeszthető")
End If
End SubFire.
-
Hali!
Azt Te döntöd el (ReadOnly paraméter), hogy csak olvasásra nyitod meg, ergó akkor tudod, hogy hogy "kell" elmentened.
(Pontosabban csak olvasásra megnyitott fájl esetén nincs mit menteni, hisz nem lehet módosítani sem)Fire.
[ Szerkesztve ]
-
ulrik19
tag
-
Hali!
Szép feladat, bravó!
Nos ha az ügyfél azonosítók sorba vannak rendezve, akkor az alábbi kód elméletileg azt teszi, amit a feladat előír, remélem nem értettem félre semmit...
A D2 cellába másold be az alábbi kódot, aztán meg a D2-t másold le.
=HA(C2=MAX(OFSZET(C2;0;0;DARABTELI($A$2:$A$15;A2);1));B2;HA(A2=A1;D1;KERES(MAX(OFSZET(C2;0;0;DARABTELI($A$2:$A$15;A2);1));OFSZET(C2;0;0;DARABTELI($A$2:$A$15;A2);1);OFSZET(B2;0;0;DARABTELI($A$2:$A$15;A2);1))))
Fire.
-
Hali!
Nem tudom, hogy közép- avagy felsőoktatási intézményből származik-e a feladat és azt sem, hogy ez csak egy házi feladat vagy komolyabb tétet képviselt.
Pont az benne a jó(legalább is számomra), hogy bizony el kell rajta meditálni és ezáltal egy kicsit frissül az ember agya. Ha az excel-ben egész nap csak pl makrózol, akkor egy idő után más dolgok kikopnak és fordítva. Ezért szeretem néha "felfrissíteni" a rég használt/elfeledett dolgokat.Fire.
-
-
Hali!
"Érdekes, hogy nem minden gépen jön elő a hiba üzenet."
Elméletben az általad javasolt hiba, minden gépen elő kellene hogy jöjjön...De kitudja.
De mindegy, mert az a lényeg, hogy megoldjuk a kolléga gondját, a módszer lényegtelen, mennél több javaslat, annál nagyobb esély a sikerre.
Fire.
[ Szerkesztve ]
-
WildBoarTeam
senior tag
Hát szerintem érdemesebb lenne a feltételes formázást úgy megadni, hogy az E oszlop alapján "zöldítsen". Mivel ott meg van adva, hogy ha az A1 szerepel valamelyikben, akkor ne 0 legyen az érték. Ezt kihasználva, ha pl. beírom, hogy "Alsó", akkor mindegyik "Alsó..."-val kezdődő sort bezöldíti.
Amúgy én még beletenném, hogy első lépésként ki lehessen választani a keresés alapját. Értem ezalatt azt, hogy lehessen konkrétan a megyére, vagy magára a kastélyra szűkteni a keresést. Bár ez másodlagos.[ Szerkesztve ]
-
Cuci3
tag
Szerintem al-nál vagy eg-nél sárga lap kell, de a B1-ben nem kellene megjeleniie semminek. Mivel nem egyértelmű az azonosítás (egyértelmű azonosítás: vagy teljesen megegyezik a név, vagy csak egy ilyen névkezdetű város van).
Viszont ez esetben az előbbi fájl is rossz.
[ Szerkesztve ]
-
ulrik19
tag
Sajnos (?) a VB elég rugalmasan kezeli ezt a témakört. abban sem vagyok biztos, hogy a dim x, y as string esetében x és y is string lesz-e,nem csak y. (és x meg variant)
Viszont ha ezzel lenne a gubanc, akkor már korábban is jelentkeznie kellett volna.
Ha a kódban nem történt változás, valamint ugyanazon a gépen, ugyanazzal az excellel lett megnyitva, de más adatokkal, akkor az adatokkal van a "hiba". Pontosabban ott kell keresni ennek a hibának a forrását. (pl. vlookup-nál a hibajelzést: #missing)
Nálam ilyen esetben szintén ugyanez a hiba jött elő. Ami megoldódott az cells(x,y).Text alkalmazásával.
-
ulrik19
tag
vagy ha marad az INDEX()-es képlet, akkor megvizsgálni, hogy az adott sheet az aktuális év-e (valahol gondolom szerepel az adott évszám)
ha igen (tehát 2010-es as sheet), akkor az index() az aktuális hónapot kell venni (most ugye 2 a február miatt)
ha nem (azaz 2009-es vagy előbbi), akkor az index()-nél mindenképp 12-vel számoljon.
de itt jön be az én módosításom: ha nem index()-szel oldod meg, hanem simán a decemberi egyenleg linkelésével, akkor tök mindegy milyen évről van szó.
[ Szerkesztve ]
-
ulrik19
tag
ebben a modellben nincs értelme az INDEX() használatának, mert befizetések (és jó eséllyel számlák sem) lehetnek előre könyvelve, vagyis a példánál maradva (mai nap), a februáritól kezdve egészen decemberig minden hónap egyenlege azonos lesz, méghozzá az aktuális (-500)
Tehát tökéletes a megoldásod, de a táblázat alatti INDEX() részre nincs szükség (szerintem, mert elegendő a decemberi egyenleget az adott az összesítő cellába írni. talán akkor hasznos lehet, ha a jövőbeni hónapok egyenlegénél nullát szeretnénk látni mindenképp)
[ Szerkesztve ]
-
ulrik19
tag
Miért gond az, hogy a C3-ban számolódik az oszlop? A cím()-nél az 5. paraméter egyébként a munkalap neve, tehát így is írhatod (talán picit még szebb is):
=INDIREKT(CÍM(A1;A2;1;IGAZ;A3))
ahol A1-ben van a sorszám, A2-ben az oszlopszám, A3-ban a munkalapnév
természetesen részben vagy egészben konkrét értéket is beleírhatsz a függvénybe:=INDIREKT(CÍM(4;3;1;IGAZ;"sheet1"))
ami a sheet1!$C$4 értékét adja vissza. (a 3. paraméter a relatív/abszolút hivatkozást állítja, jelen esetben $oszlop$sor-ra, azaz mindkettő abszolút, a 4. paraméter pedig azt jelzi, hogy A1, vagy S1O1 típusú legyen a hivatkozás, jelen esetben A1, viszont az INDIREKT() miatt édes mindegy lesz, hogy relatív/abszolút, illetve A1/S1O1 a beállítási mód, mert mindenképp egy adott konkrét cella ÉRTÉKÉT fogod felhasználni. -
ulrik19
tag
-
-
Cuci3
tag
A megoldás szerencsére meglett, de ilyet se tapasztaltam még: a szerkesztés menü picit megváltozik, ha SHIFT folyamatos lenyomása mellett hívjuk le. A Másolásból Kép másolása lesz.
Ez a rendszerszemlélet olyan Microsoftos.
És persze a kód is meglett, lentebb csak érdekességnek:
ActiveSheet.ChartObjects("Diagram 1").Activate
ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture
Range("F4").Select
ActiveSheet.Paste[ Szerkesztve ]
-
Szia!
Működik, köszönöm!Application.CutCopyMode = True 'Biztos kel ez a sor? Nekem tök felelslegesnek tűnik.
Hát szerintem igen. Mert elötte kikapcsolom a vágólapot (így küszöbölöm ki a "nagy méretű adat van a vágólapon, biztos hogy bezárja a file-t" ablakot. Vissza meg azért kapcsolom, mert ha még egyszer futtatom akkor is lefusson... vagy ez hülyeség?
-
-
ulrik19
tag
Így van, ahogy Delila írta, meg kell fordítani a gondolatot. Ugyanis a next automatikusan megtörténik, amint a ciklusmag végére ér a folyamat. Vagyis, ha az elágazásod arról szól, hogy mikor nem egyezik meg a sheet neve a vizsgálandóval, akkor ha egyeznek, nem történik semmi a cikluson belül.
For Each lap In Workbooks(valtozo).Worksheets
If lap.Name <> el Then
... ide jön amit végeztetni akarsz ...
End If
Next -
Hali!
Sajnos a Pascal vagy C/CPP-ban megszokott Continue utasítás itt nem létezik, helyette a Goto utasítást kell bevetni.
(az Exit For/Exit Do egyenértékű a Break Pascal vagy C/CPP utasítással, az Exit For kilép a For ciklusból, míg az Exit Do, a Do-Loop ciklust szakítja meg.)Példaprogi
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
j = 0
For i = 1 To ThisWorkbook.Worksheets.Count
If ThisWorkbook.Worksheets(i).Name = "Munka5" Then GoTo label001
j = j + 1
label001:
Next
MsgBox (j)
End SubFire.
[ Szerkesztve ]
-
gsc73
aktív tag
Igen, az kellene, ha Importálni akarnék, és ott pontosan meg lehet adni az elválasztó karaktereket, de nem az a cél. Egyébként ez 2007-ben is pontosan ott van. A cél hogy automatikusan legyen rendezve megnyitás után.
Üdv: g.
u.i.: én is úgy tudtam hogy Te, de a valóság néha más....
-
Delila_1
veterán
Egy – bosszantó – érdekesség:
Ha előre beírom a dátumot (eredmény 25.okt), és utána adom meg a 2009.10.25 formátumot, a kimutatásban nem engedélyezi a csoportosítást. Ha viszont előre megadom a formátumot a teljes oszlopra, és azután írok bele értékeket, egy rossz szava nincs a csoportosítással szemben, simán végrehajtja.
A súgóban a csoportosítással kapcsolatban van egy ilyen mondat: Numerikus tételek, dátumok és időpontok csoportosítása bizonyos típusú forrásadatoknál nem lehetséges.A bizonyos típus mibenlétéről nem esik szó.
Ez is az Excel egyik rejtelme... -
Hali!
Mr. Nagy feladata elég egyértelmű, amit korábban írtam, szerintem az is...De sebaj, akkor kérdésekkel válaszolok.
"Én változáskor az autofilterből..."
Mi változik? Milyen esemény(Event) fut le, amikor valaki lenyitja az autofiltert, kijelöl egy vagy több elemet, majd leokézza?
(mert hogy a Worksheet_Change esemény biztosan nem fut le például)Fire.
UI: az irányított szürés meg kizárja az autofilter-t mellesleg...
[ Szerkesztve ]
-
Cuci3
tag
Kicsit másabb progi, de lényegében ugyanaz. Sajnos a Nyomtatás menü Mégse gombja valahogy nincs nevesítve, VBA rögzítő sem érzékeli, neten sem találtam meg. Ezért nyomtatás előtt felugrik egy aranyos kis kérdés, hogy tényleg ki akarod-e nyomtatni. Egy idő után idegesítő lehet, dehát ez is csak egy félmegoldás (a kérdésem után még simán kattinthat az ember a mégsére a nyomtatási ablakban).
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim kerdes As Integer
kerdes = MsgBox("Valóban ki akarod nyomtatni?", vbQuestion + vbYesNo)
If kerdes = 6 Then
If ActiveSheet.Name = "Munka1" Then
ActiveSheet.Range("A3") = ActiveSheet.Range("A3") + 1
End If
ElseIf kerdes = 7 Then
Cancel = True
End If
End Sub -
Geby
senior tag
Félig rájöttem, a formátumát számra változtatva növeli az értéket, de elég furcsán.
Ha rámegyek a fájl menü nyomtatás menüre, akkor már nyomtat is, és ha mondjuk beírom hogy 3 példány, akkor az első lap amit még azelőtt nyomtatott ki hogy ténylegesen akartam volna nyomtatni az kijön egy számmal, a másik 3 példány meg eggyel nagyobb számmal. -
Geby
senior tag
-
-
EmberXY
veterán
Azt látom, hogy miről beszéltetek, de a makró kapcsán egyértelműen magamra ismertem, és mivel nem is gondoltam volna, hogy valaki ezen akar majd lovagolni, kicsit meglepődtem.
Ha félreértés, akkor félreértés, de akkor részemről nincs harag.
Bár továbbra sem értem, hogy a kettőtök beszélgetéséből kiszűrt konzekvencia hogyan jutott arra a szellemi szintre, hogy a makróval kapcsolatos kérdés képezze a hozzászólásod tárgyát...
Na ez a kacifántos mondat. -
EmberXY
veterán
Köszönöm az elismerő besorolást a "lusta, munkaidőben csak makrók futtatásában unatkozó" kategóriába.
Én csak azt nem értem, hogy miután ez a fórum az Excellel kapcsolatos, és én e témában kérdeztem, erre volt egy segítőkész fórumozó, aki segített (mellesleg neked is), kvázi kibeszéltük a témát-------->mindezt együttvéve mi a franc közöd van ahhoz, hogy én mit írok, milyen választ kapok?
Rajtam legalább látszik, hogy nem értek 100 %-ig az Excelhez, ezért kérdezek, te meg csak süketelsz itt.
Mi a gondod?"fogalamzzatok pontosan..
"
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Villanyszerelés
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- The Division 2 (PC, XO, PS4)
- BestBuy topik
- MSI notebookok
- PlayStation 1 / 2
- Milyen billentyűzetet vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Friss AI funkciók várhatók a korábbi Samsung Galaxy S modellekre
- Honor 200 - kétszázért pont jó lenne
- További aktív témák...