- mefistofeles: A 15 centi nagyon rövid.........
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: AMD Ryzen 7 7700X vs AMD Ryzen 9 9900X AIDA64, és PCMark 10 Benchmarkokban mérve
- Gurulunk, WAZE?!
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- The DJ: Kínai fake videókártyák hardveres BIOS módosítása (gyári állapotra)
- Elektromos rásegítésű kerékpárok
- Magga: PLEX: multimédia az egész lakásban
-
LOGOUT
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
-
m.zmrzlina
senior tag
válasz
Delila_1 #10599 üzenetére
Így bizony.
Erre a te színlekérdezős makród is azt válaszolja (akármilyen színe van a háttérnek) hogy átlátszó.
És gondolom az Interior.Colorindex miatt a visszaadott színek az 56-os számozás szerint adódnak vissza.
-
Delila_1
veterán
válasz
m.zmrzlina #10598 üzenetére
Ja, hogy előállítottál egy színátmenetes formázást, és abból szeretnéd megtudni egy közbenső szín paramétereit?
-
m.zmrzlina
senior tag
válasz
Delila_1 #10597 üzenetére
Állíts egy cellát alapban arra a színre, amit majd a feltétellel akarsz létrehozni, és ezt kérdezd le.
Ezzel a módszerrel kérdés nélkül is le tudnám kérdezni.
Az "alapban arra a színre állítás"-sal van gondom (ezt nem tudom másolni sem irányított beillesztéssel sem formátum másoló ecsettel)
-
Delila_1
veterán
válasz
m.zmrzlina #10596 üzenetére
Nem az üreset, hanem a feltételes formázás nélkülit. Ha alapállásban sárga a háttér, annak a kódját adja meg.
Állíts egy cellát alapban arra a színre, amit majd a feltétellel akarsz létrehozni, és ezt kérdezd le.Nekem a personal.xls-ben van egy kis makróm erre a célra, mert időnként le akarok kérdezni 1-1 színt. Kitettem hozzá egy ikont.
Sub Szín_lekérdezés()
If Selection.Font.ColorIndex = -4105 Then
MsgBox "A karakter színkódja: " & " fekete (automatikus, -4105)"
Else
MsgBox "A karakter színkódja: " & Selection.Font.ColorIndex & " "
End If
If Selection.Interior.ColorIndex = xlNone Then '-4142
MsgBox "A cella hátterének színkódja: " & " átlátszó, -4142"
Else
MsgBox "A cella hátterének színkódja: " & Selection.Interior.ColorIndex & " "
End If
End Sub -
m.zmrzlina
senior tag
válasz
Delila_1 #10594 üzenetére
Ahogy a formátumfestővel úgy az irányított beillesztéssel is tudom másolni. (ti ha a formátum másolása után kitöltöm adattal a cellákat) Én azt reméltem, hogy a feltételesen formázott celláknak csak a színét le tudom másolni üres cellákba.
De ez nem is nyomaszt annyira engem mint az Immediate ablakos lekérdezés. Ott ha üres a cella ha van benne adat mindig a fehér cella háttérszínét adja a ?ActiveCell.Interior.Color parancs.
-
Delila_1
veterán
válasz
m.zmrzlina #10591 üzenetére
A formátumfestő ecsettel simán másolható a formátum.
-
Pá
addikt
Köszi szépen mindkettőtöknek.
Makrót semmiképp sem akarok a táblázatba és a form-ot úgy értettem, hogy sima excel táblázat, semmi csicsa.Valószínűleg delila megoldása lesz a tuti, ha lesz kedvem megcsinálni, mert igazából ez csak egy apró design elem lett volna, alapvetően nem befolyásolná a táblázatom működését. Ha ennyire bonyolult, akkor lehet, hogy nem éri meg szöszölni vele, majd meglátom mennyire fogok unatkozni.
-
Delila_1
veterán
Kikeresed a tartomány max. és min. értékeit, ezek különbségét osztod annyival, ahány árnyalatban akarod megjeleníteni a karaktereket.
A csatolt képen a B1 a min., C1 a max., D1 az osztás, és az E1:E6 tartomány adja a határértékeket a feltételes formázáshoz. Kerekítheted is a számokat.
A formázást meg úgy tedd, ahogy m.zmrzlina ajánlotta.Szerk.: semmi szükség a HA függvényre, elég az =$B$1+$D$1*SOR()-1 az E2 cellától, az első érték (E1) a min. érték legyen.
-
m.zmrzlina
senior tag
Szerintem ebből makró lesz de ezzel kapcsolatban nekem is van kérdésem.
Miért nem lehet egy feltételesen formázott cella háttérszínét Másolás>Irányított beillesztés>Formátum módszerrel lemásolni?
Illetve ha ilyen cella háttérszínének az értékét szeretném lekérdezni az Immediate ablakban az ?ActiveCell.Interior.Color paranccsal akkor a fehér (vagy Nincs kitöltés) értékét adja ( 16777215-öt)?
(Ismerjük a viccet? "Angolórát adok-veszek.")
-
m.zmrzlina
senior tag
Egy form-ot szeretnék csinálni, amibe mindig becopyzok egy oszlopnyi adatot és mindig az aktuális adatok határozzák meg a tartományt.
Így már értem, valóban nem a szín a probléma gyökere. A "form" gondolom nem VBA UserForm hanem egy megfelelően kialakított Excel munkalap, ugye?
-
Pá
addikt
válasz
m.zmrzlina #10588 üzenetére
Nem a szín kevergetés az elsődleges probléma (bár kétségtelenül eléggé demotiváló
)
Az a baj, hogy nem tudok megadni tartományokat. Egy form-ot szeretnék csinálni, amibe mindig becopyzok egy oszlopnyi adatot és mindig az aktuális adatok határozzák meg a tartományt. Szóval az oszlop legkisebb tagjától tartana a legnagyobbig mindig a tartomány, de ez nyilván dinamikusan változik, attól függően, hogy épp mit másolok bele.
Szóval nem tudok megadni abszolút sarokköveket, mindig az aktuális adatokat kéne egymáshoz relatíven színezni. Ezért lenne jó az excelbe beípített cellaszínező, azt leszámítva, hoyg jobb lenne ha a betűket színezné.
-
m.zmrzlina
senior tag
Ez sajnos nem jó nekem. Én ezzel a módszerrel szeretném megoldani, ha lehet, csak a cellák helyett a betűket színezze.
De bizony, hogy jó.
Csak a példámban egy szín világosság értéke változik neked pedig az kell, hogy (ha nem is silány 5 lépésben) két szín átmenjen egyikből a másikba. Sajnos ha ragaszkodsz a példádban lévő látványhoz akkor nem fogod megúszni az egyéni színek felvételét. Minél finomabb átmeneteket akarsz annál többet.
A 2007-es Excel alapból nem tudja (vagy legalábbis én nem tudok róla) azt a formázást amit szeretnél, szóval kénytelen leszel szegelgetni.
Mi a tartomány (legkiseb-legnagyob szám) amit kezelni szeretnél. Lehet nekiállok egy kicsit művészkedni. (Jelzem botrányos színlátásom van
)
-
Pá
addikt
válasz
Delila_1 #10581 üzenetére
Köszi szépen. Ez végül is a célnak megfelel, bár én eredetileg ezekkel szerettem volna megoldani. Elegánsabb megoldásnak érezném, de sajnos elég korlátozottan lehet szabályokat megadni hozzájuk és sehogy sem tudtam rábírni őket, hogy úgy viselkedjenek, ahogy szeretném.
m.zmrzlina: Ez sajnos nem jó nekem. Én ezzel a módszerrel szeretném megoldani, ha lehet, csak a cellák helyett a betűket színezze.
-
m.zmrzlina
senior tag
válasz
medvezsolt #10584 üzenetére
Nyisd meg a kérdéses munkafüzetet és új modulba másold be ezt majd futtasd:
Sub PasswordBreaker()
'
' Published by Jacob 'm3Rlin' Dybala (www.m3Rlin.org)
' Original post: http://www.m3rlin.org/wordpress/excel-worksheet-protection-code-breaker
' Feel free to visit and write a comment!
'
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox "One usable password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
ActiveWorkbook.Sheets(1).Select
Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next:
Next: Next: Next
Next: Next: Next:
Next: Next: Next
End Sub -
válasz
mr.nagy #10583 üzenetére
Munkalapot alapban nem tud menteni az Excel, ha mentesz, akkor a munkafüzetet mented, ami meg a munkalapok összessége. Makróval az kivitelezhető, hogy egy adott munkalapon bekövetkezett változásokat kimentsen, de akkor gondoskodni kell arról is, hogy azt a legközelebb, a munkafüzet újbóli megnyitásakor be is töltse/módosítsa...
-
medvezsolt
senior tag
nincs valami jó jelszó feltörő progitok Excelhez? Van egy levédett munkalapom és felkéne tudni oldanom:S
-
mr.nagy
tag
Sziasztok!
Azt, hogy lehet megoldani ha a munkafüzet egy adott munkalapjába valami változtatás történik akkor csak azt az adott munkalapot mentse automatikusan, de a többi lapot ne.
-
m.zmrzlina
senior tag
Az első kérdésedre:
A tartományt (a legkisebb és a legnagyobb szám közötti tartományt ) felosztod annyi részre ahány szintű átmenetet akarsz csinálni. Minél több a szint annál finomabb lesz az átmenet. Az 5 célszerűnek látszik mert ahhoz nem kell egyéni szinekkel bajlódni csak kiválasztani a "Téma szinei"-ből.
Aztán minden szinthez csinálsz Feltételes formázást az alábbiak szerint:
Az intervallumok határait megadod a "következők között van" utáni két cellában, és a Betűtipus fülön kiválasztasz az adott intervallumhoz egy betűszínt. Célszerűnek látszik a legvilágosabbal kezdeni és minél nagyobbak a számok annál sötétebb színt választani.
A végén a szabálykezelőben ilyesmit kell látnod:
-
Delila_1
veterán
Önmagára mutatást nem írhatsz, de a számok melletti oszlopba beteheted a következő képletet a B2 cellától kezdve:
=HA(A1>A2;"ň";HA(A2=A1;"ů";"ń"))
A képletet tartalmazó oszlop legyen Wingdings karakterű.
Arra az esetre, ha nem sikerülne valamiért a képlet beillesztése, a C:E oszlopba beírtam a karakterek kódját, de választhatsz helyettük bármi mást.
-
Pá
addikt
Újra itt vagyok.
Feltételes formázással kapcsolatban lenne két kérdésem.
1. Van a színskála, amikor egy csomó cellát úgy színez be, hogy mondjuk a legkisebb érték zöldes, aztán fokozatosan megy át sárgába és a legnagyobb érték teljesen sárga lesz. Ez nekem tökéletes is lenne, annyit szeretnék változtatni rajta, hogy ne a cellát (a hátteret) színezze, hanem a betűt.2. Látom feltételes formázással lehet odabiggyeszteni a cellákba különböző ikonokat, pl nyilacskákat. Van egy oszlopom és úgy szeretném feltételesen megformázni, hogy minden cella csekkolja a fölötte lévő cellát. Ha ahhoz képest nagyobb az értéke, akkor felfele nyílat kapjon, ha kisebb, akkor lefele nyílat. Igazából ezt megtudnám csinálni, ha egyesével beállítgatom a cellákat. De kényelmesebb lenne, ha lenne egy olyan képlet, amit ha beírok az összes cellába, akkor rögtön működne.
Igazából az érdekelne, hogy lehet-e és ha igen hogy lehet, egy cellában önmagára hivatkozni? Persze nem úgy, hogy megadom a cella konkrét betűjét és számát, csak úgy általánosságban önmagára? Amit ha bemásolok minden cellába, akkor minden cella önmagára értelmezi? Illetve ezt tovább gondolva, hogy lehet mindig a szomszédos cellára hivatkozni? -
bnorci71
addikt
Szia
#10526-ra ránéznél
-
pameli79
csendes tag
Pl. Írok egy pár cellába, azután formátumot váltok, de a cellákban listából választom ki a szöveget. Van egy lap, aminek, csak bizonyos celláit szeretném kiemelni.
-
pameli79
csendes tag
ui. Szeretném a makrót kerülni, és Excel 2002-m van.
-
pameli79
csendes tag
Kedves Excel Szakértők!
A következő a problémám. Hogyan lehet azt beállítani. hogy a feltételes formázásom, csak bizonyos ideig tartson, azután ne formázzon, vagy másféle formátumban tudjak dolgozni, de a másik formátum is megmaradjon? Ill. hogyan tudom lekérdezni egy tartomány cellánkénti értékeit? -
válasz
cortez25 #10563 üzenetére
[link]
A video vége felé van, ami a lényegRemélem így már világos lesz, mi is az Autufilter/Szűrés és hogy megfelel-e számodra.
-
gigi183
csendes tag
válasz
m.zmrzlina #10548 üzenetére
Bocsi a késői reagálásért
Szépen működik köszönöm szépen!
-
cortez25
senior tag
Igazából azt kellne megoldani,hogy ugyanolyan találat esetén addig fusson tovább míg más számot nem talál, ami meg ugyanaz azt válaszul beadja a kért oszlopot azokkal a sorokkal amiben megtalálta a kért számot. hogy működne ez a szűrős dolog?
-
cortez25
senior tag
válasz
Fire/SOUL/CD #10561 üzenetére
kiválasztom a tétel a legördülő menüből...vagy?
-
-
cortez25
senior tag
válasz
Fire/SOUL/CD #10559 üzenetére
Valami olyan kellene ami továbbdobja az FKERES-t?
-
-
cortez25
senior tag
Sziasztok!
Azt szeretném megoldani,hogy van egy 1700 soros terméklistám,egy másik fülön ugye beírom a kódját és kidobja a megnevezést, ez szimpla FKERES. De egymás után is szerepel a kód, és szeretném a kód alatt szereplő többi sort is visszaadná..
Üdv:
cortez
-
Duplicon
csendes tag
válasz
q13579 #10555 üzenetére
Szia!
Talán ez is segítség. Excel 2007 súgó és útmutató.
-
válasz
q13579 #10555 üzenetére
Ilyesmire gondolsz? Ha igen, akkor ez egy sima halmozott sávdiagram...
-
q13579
senior tag
Sziasztok.
Grafikonkészítésben szeretnék egy kis segítséget kérni.
Terv-tény adatokat szeretnék ábrázolni úgy, oszlopdiagrammban egy időszak egymáson, egymásban szerepeljen.
Értem ezalatt, hogy mondjuk világos kék grafikon lenne egy 200-as érték, és mondjuk sötét kék grafikon pl 170-es érték, amely "rá lenne fektetve" a világoskék grafra. Így szépen lehetne látni, hogy adott időszak tervéhez képest mennyi teljesült.
De egyszerűen nem találok opciót, hogy hogyan lehetne egymásba ékelni két adatsort.
(egyfajta bullet graph-ról lenne szó, csak nem kellene annyira megbonyolítani).
Tudna esetleg valaki valamilyen segédanyagot adni? (office 2007-tel dolgozok).
-
m.zmrzlina
senior tag
válasz
artiny #10551 üzenetére
Ne keress olyan opciót mint pl egy Userformon lévő Textbox specialEffect tulajdonsága.
Szerintem ez a munkalap úgy készült, hogy a készítő kijelölte a teljes munkalapot A1-től IV65536-ig, majd adott neki egy viszonylag világos szürke háttérszínt. Aztán a beviteli mezők (pl:C7) háttérszínét fehérre vagy inkább No Fill (nincs kitöltés-re) állította majd a cella felső és bal oldali keretét egy sötétebb szürkére. Ettől van olyan hatása a cellának mintha süllyesztett lenne, de ezt neked kell megcsinálni, nincsen hozzá gomb ami egy kattintással megadja a stílust. (el lehet művészkedni vele egy darabig ha valakinek van hozzá affinitása)
Szép kis meló lehetett megcsinálni ezt a munkafüzetet még akkor is ha a cella formátumát le lehet másolni és nem kell minden egyes cellánál külön beállítgatni.
-
artiny
őstag
válasz
Fire/SOUL/CD #10552 üzenetére
sikerült mindkettőt felfognom
Kösszi szépen
-
válasz
artiny #10551 üzenetére
"az első nem sikerűl...rámegyek jobb klikk cellaformázás egy kijelőlt cellánál,kitöltés vagy a szegélyezésre(keretezésre) menjek?"
Igen. (szlovákul sajnos nem tudom mi a keret meg a kitöltés)
Alapban (amikor egy teljesen új/üres munkafüzetet hozol létre) minden cella zárolt. Magyarul minden olyan celláról le kell szedni a zárolást, amiket szeretnél szerkeszteni a későbbiekben, de még a lapvédelem beállítása előtt.
-
artiny
őstag
válasz
Fire/SOUL/CD #10550 üzenetére
az első nem sikerűl...rámegyek jobb klikk cellaformázás egy kijelőlt cellánál,kitöltés vagy a szegélyezésre(keretezésre) menjek? (nekem szlovák nyelvu az office-om
)
Zárolt cellánál pedig hiába van csak pár cella kijelolve azutan rakattintok a Lapvédelemre
elojon a Lapvédelem opcio [link]kiveszem a pipákat de az osszes tobbi cella is zárolt lessz. (pedig probaltam ugy is hogy a nem zárolt cellák kijelolese be volt pipálva)
Köszönöm szépen a segítséged
-
válasz
artiny #10549 üzenetére
1. cellaformázás / Kitöltés és Szegély
3. Fejlesztőeszközök lap/Vezérlők csoport/Beszúrás/Űrlap-vezérlőelemek/Léptetőnyíl (ez az objektum épp nem szerepel a linkben, de a lényeg/az elv benne van). Miután beszúrtad a léptetőnyilat, jobb egér jarta/Vezérlő formázása/többi a képen
4. Zárolt cellák, lapvédelem
Nagyon leegyszerűsítve a kijelölt opció elől ki kell venni a pipátJobb egér a cellán (vagy több kijelölt cellán)/cellaformázás/védelem fül. Itt állíthatod, hogy a cellák zároltak legyenek avagy sem
-
artiny
őstag
MS Excel 2007 ben hogyan kell ezeket megcsinálni?
Ebben a táblázatban láttam őket:
http://www.mediafire.com/?xb38oom83813zkm1.) süllyesztett,domború cellát
-süllyesztett hatású pl: C7 cella
-domború hatású pl: B30-ól jobbra kettővel a MEASURE oszlop2.)legördülő lista: B41
3.)számláló gomb,az értéket tudjuk növelni,csökkenteni vele: N23
4.) Hogyan lehet letiltani a belekattintás lehetőségét egyes részeknél a táblázatba?
-
m.zmrzlina
senior tag
válasz
m.zmrzlina #10547 üzenetére
Bocsánat, most látom, hogy ez a kód feltölti az üres cellákat az aktív cella értékével. (amit nem szeretnénk). Ennek kiküszöbölésére tedd be a következő sort az oszlop változó értékadás után a külső FOR ciklus elé:
Cells(Selection.Row, Selection.Column).Select
Ez ugyan megszünteti a a kijelölést de itt már nem baj mert a tartomány mérete ekkor már benne van a változóban.
-
m.zmrzlina
senior tag
válasz
gigi183 #10542 üzenetére
A cellák szétválasztására (ha nem csak egyetlen oszlopról van szó) itt egy másik megoldás:
Sub unmerge_v2()
Dim sor As Integer, oszlop As Integer
sor = Selection.Rows.Count 'kijelölt tartomány mérete
oszlop = Selection.Columns.Count 'köszönet érte Fire-nek :-)
For j = 1 To sor
For i = 1 To oszlop
ActiveCell.unmerge 'cellák szétválasztása
Selection.FormulaR1C1 = ActiveCell.Value 'üres cellák értéke = aktívcella értéke
ActiveCell.Offset(0, 1).Select 'eggyel jobbra
Next
ActiveCell.Offset(1, -oszlop).Select 'vissza a sor elejére
Next
End SubArra figyelj, hogy amikor elindul a makró akkor legyen kijelölve a teljes tartomány amiben szétválasztandó celláid vannak.
Természetesen ez a kód is gyorsabban lefut letiltott képernyőfrissítéssel.
-
m.zmrzlina
senior tag
válasz
Fire/SOUL/CD #10545 üzenetére
Köszönöm!
sorok_szama = Selection.Row.Count-tal próbálkoztam
Az a fránya "s" betű...
-
válasz
m.zmrzlina #10544 üzenetére
sorok_szama = Selection.Rows.Count
oszlopok_szama = Selection.Columns.CountEgy névvel ellátot tartományból pedig így
sorok_szama = Range("tartomany_neve").Rows.Count
oszlopok_szama = Range("tartomany_neve").Columns.Count -
m.zmrzlina
senior tag
Hogyan kell változóba írni azt, hogy egy kijelölt tartomány hány sorból és hány oszlopból áll?
-
m.zmrzlina
senior tag
válasz
gigi183 #10542 üzenetére
Örülök ha működik, ha valami gond van jelezd!
A másik problémád megoldására egy ilyesmiből érdemes kiindulni:
Sub unmerge()
Application.ScreenUpdating = False
Range("B1048576").End(xlup).Select 'beáll az B oszlop utolsó cellájába
Do Until ActiveCell.Value = "Name" 'ciklus amíg fel nem ér a fejlécig
ActiveCell.unmerge 'cellák szétválasztása
Selection.FormulaR1C1 = ActiveCell.Value 'üres cellák értéke = aktívcella értéke
ActiveCell.Offset(-1, 0).Select 'egy cellát fel
Loop
Application.ScreenUpdating = True
End SubA lényeg a ciklusmagban lévő első két sor. Természetesen ha más a tartomány vagy a kilépési feltétel akkor át kell írni de a szétválasztás és a kitöltés szerintem így működhet.
Én a #10537-ben lévő táblázat B oszlopában lévő összevont cellákon teszteltem.
Majd pontosíts!
-
gigi183
csendes tag
válasz
m.zmrzlina #10537 üzenetére
Nahát kedves m.zmrzlina (szeretem a fagyit
) teljesen lenyűgöztél. Itthon tökéletesen működik, remélem benn is fog
Köszönöm szépen!!
Abban esetleg tudsz segíteni, hogy ha van egy táblázatom, mint amit először küldtem, hogy tele van cellaösszevonásokkal, de üres cellákkal is, hogy ha átmásolom egy másik fülre, akkor egyből megoldható legyen, hogy az összevont cellák helyett ezekben egyesével jelenjen meg az összevont felirat.
Pl A2:A5-ban van egy név, de szeretném, ha nekem mind a négy cellába kiírja ugyanazt. Láttam már erre megoldást visszaolvasgatva, csak az azért nem jó nekem, mert előfordulnak eredetileg üres cellák, és azt nem szeretném a legelső felette lévő értékkel kitölteni, hanem azok jók üresen. Persze lehet, hogy ezt már kérdezték és elsiklottam felette...
-
válasz
Fire/SOUL/CD #10540 üzenetére
Kipróbáltam, és úgy néz ki, hogy működik!
Köszönöm szépen! -
Sziasztok!
Lehet, hogy már kérdeztek ilyet, de nem sikerült megtalálnom.
Szóval az lenne a gondom, hogy van két településneveket tartalmazó oszlopom, az egyikben 467 név van, a másikban 1049. Össze kéne hasonlítani az egyiket a másikkal, hogy van-e egyezés. Tehát az A2 cella tartalmát keresse meg a C oszlopban, és a B oszlopba tegyen mondjuk 1-est, ha megtalálta, és oda tegyen jelet, ahol van. Szóval ha az A2 cella értéke a C22-es cellában található, akkor a B22-höz rakja a jelet.valahogy így kéne kinéznie:
oszlop A oszlop B oszlop C
1 telep_M van-e település
2 Ada 0 Belecska
3 Adorján 0 Gyirmót
4 Alibunár 1 Ada
5 Almád 1 AdorjánRemélem nem túl érthetetlen, ahogy leírtam, és még egyszer elnézést, ha már ki volt vesézve valamikor, de az elmúlt 2 órában erre próbáltam rájönni, rákeresni és sehogy sem sikerült
Köszönöm előre is a segítséget!
szerk: szétcsúszik a gyönyörű táblázatom
de talán így is látszik
-
m.zmrzlina
senior tag
válasz
gigi183 #10534 üzenetére
Na próbálkoztam még, és működik, már csak annyit kellene megoldanom, hogy ha az aktuális lapot átmásolom mondjuk egy Today feliratú munkalapra, akkor az Nts oszlopban lévő számok eggyel csökkenjenek, vagy automatikusan, vagy gombbal.
Erre a problémára új modulba (Inset>Module) tedd be a következőt:
Sub masol()
Application.ScreenUpdating = False 'képernyőftissítést tilt
ActiveSheet.Copy after:=Sheets(ActiveWorkbook.Sheets.Count) 'lemásolja az aktív munkalapot és az utolsó munkalap után helyezi el
ActiveSheet.Name = ActiveSheet.Index + 1 'ad neki nevet
Range("E1048576").End(xlup).Select 'beáll az E oszlop utolsó cellájába
Do Until ActiveCell.Value = "nts" 'ciklus amíg fel nem ér a fejlécig
If ActiveCell.Value <> "" Then ActiveCell.Value = ActiveCell.Value - 1 'kivonja az egyet
If ActiveCell.Value = 0 Then 'ha nts=0
Range(ActiveCell.Offset(0, -3), ActiveCell.Offset(0, 4)).Value = "" 'a kívánt cellák tartalmának törlése
End If
ActiveCell.Offset(-1, 0).Select 'egy cellát fel
Loop
Application.ScreenUpdating = True 'képernyőftissítést engedélyez
End SubNekem így néz ki a munkalapom amit kezel:
Kiindulásnak jó aztán majd pontosítasz.
-
ArchElf
addikt
válasz
DopeBob #10531 üzenetére
Alapból nem eszi meg, mert a vesszó az tizedesjegy (tehát a bevitelt számként értelmezi - a dátumot pedig az excel úgy tárolja (egyész szám - dátum; törtszám - óra-perc-másodperc-töredék). Pl ha 12,30-at írsz be, aakorazt automatikusan 1900.01.12 07:12-re konvertálja - de ahogy előttem leírták, két oszloppal már megoldható (vagy esetleg makróval, ami az összes bevitel után lefut az oszlopra).
Esetleg makróból:
Private Sub Worksheet_Change(ByVal Target As Range)
'+ jelre átalakít dátummá
'a 3. oszlopban
Dim OSZLOPSZÁM As Integer
OSZLOPSZÁM = 3
Dim c As Range
Dim dt As Date
If (Target.Columns.Count = 1 And Target.Column = OSZLOPSZÁM) Then
For Each c In Target.Cells
If InStr(c.Value, "+") > 0 Then
dt = CDate(Replace(c.Value, "+", ":", 1, 2))
c.Value = dt
End If
Next
End If
End SubAE
-
gigi183
csendes tag
válasz
gigi183 #10533 üzenetére
Na próbálkoztam még, és működik, már csak annyit kellene megoldanom, hogy ha az aktuális lapot átmásolom mondjuk egy Today feliratú munkalapra, akkor az Nts oszlopban lévő számok eggyel csökkenjenek, vagy automatikusan, vagy gombbal.
Másik hülye kérdésem is lenne.
Van egy tábla, olyan mint amit először küldtem, (a rémes háttérszínes). Ebben dolgozik egy kollégám, aki folyamatosan aktualizálja. Namost valahogy meg kellene oldanom, hogy a fájl amivel dolgozik, nálam is megjelenjen, de az enyémben már lennének plusz sorok, teszemazt összesítések, ilyesmi, de azt nem szeretném, ha ő ezeket a sorokat bármiféleképpen módosítani tudja, legjobb, ha nem is látja. Meg lehet-e oldani valahogy az ilyen kapcsolatot két fájl között, vagy tudtok-e megoldást rá? Csavar még az egészben, hogy neki vannak összevont cellái, viszont az én fájlomban ezeket ki kell iktatni, vagyis azok a cellák amik össze vannak vonva úgy jelenjenek meg, hogy mindegyikben ugyanaz az érték van ami az összevont cellában (akár 5-6 soron keresztül is).Remélem érthetően fogalmaztam...
-
gigi183
csendes tag
válasz
Delila_1 #10491 üzenetére
Sziasztok.
Megpróbáltam, de sajnos nem sikerült. Argument not optional feliratot dob ki. Nem tudom mi lehet a hiba. A makrókat engedélyeztem, gombhoz hozzárendeltem, de lehet valamit nem jól csináltam, nem értem
Illetve a kód amit küldtetek, az csak azt csinálja nem, hogy a 0-ás sorokat kitörölné, de nekem az kellene, hogy először eggyel csökkent minden értéket és utána ami 0 azt kitörli. Balra 3 cellányit jobbra meg 4-et most már, mert kibővítették a táblámatIlletve ha összehoznánk ezt, akkor ugyanúgy működne angol excel alatt is?
-
bnorci71
addikt
válasz
Fire/SOUL/CD #10529 üzenetére
ha ismerném a makró működését nem kellene segítség
fogalmam nincs mit csinál, de majd jön Delila_1 és megmondja mi a hiba -
DopeBob
addikt
Sziasztok, egy kis tipp kéne
Elég nagy mennyiségű időpontot kell felvinni naponta Excelben (óra:perc). Ki lehet valahogy váltani a kettőspontot? Pl, hogy a vesszőt is elfogadja, és akkor elég a numpadot csépelni.
-
cellpeti
nagyúr
válasz
Fire/SOUL/CD #10527 üzenetére
valamikor el kell kezdeni angolt tanulni
-
válasz
bnorci71 #10528 üzenetére
Mint írtam nem olvastam vissza és az üres sort is csak példának hoztam. Ezzel a sorral van gond
Set lel = .Find(Cells(sor%, "E"), LookIn:=xlValues)
Ha tudod ez mit is csinál(bízom benne, hogy tudod, nem csak úgy bemásolgatod a makrókat, anélkül, hogy ismernéd a működését), akkor hasonlítsd össze a 41.sort az előzőekkel, és remélhetőleg rájössz, hogy az miben különbözik az előző soroktól...
-
bnorci71
addikt
válasz
Fire/SOUL/CD #10527 üzenetére
Na ehhez én már nagyon kevés vagyok,de -józan paraszti ésszel és logikával- az üres sor cella nem okozhatna neki gondot, mert az első sorba is van rögtön üres cell. A 40. sorig mégis lefut a makró.
-
válasz
bnorci71 #10526 üzenetére
A macro-ban nincs hibakezelés, mert azt feltételezi, hogy minden vizsgálat esetén megtalálja a keresett értéket. Ezek szerint nem, azaz van olyan sorod/cellád, amiben nem lehet megtalálni. Nem olvastam vissza, de feltételezem nem jelezted Delila_1 felé, hogy pl üres sorok/cellák is vannak...
cellpeti
Kezdőknek és egyből 2010 ez az, amit javasolni tudok (nem Magyar) -
Delila_1
veterán
válasz
bnorci71 #10520 üzenetére
Írtam hozzá egy makrót, amit az excel1.xls füzetedhez másolj be.
Alt+F11-re bejön a VB szerkesztő. Bal oldalon kiválasztod az excel1-et, Insert menü, Module.
Jobb oldalon kapsz egy üres lapot, oda másold.Ha nem excel1 és excel2 a füzeteid neve, írd át a saját neveidre. Ugyanúgy a Munka1 lap nevét is, ha nálad más a lapok neve. Mindegyik füzet neve egyszer szerepel a makróban, a hozzá tartozó Munka1 lappal egy sorban.
A makró futtatásakor legyen mindkét füzeted nyitva.Sub kieg()
Dim sor%, usor%, lel, sor_lel%, WS As Object
Workbooks("excel1.xls").Sheets("Munka1").Activate
usor% = Range("C60000").End(xlUp).Row
Set WS = Workbooks("excel2.xls").Sheets("Munka1")
For sor% = 2 To usor%
With WS.Columns("I:I")
Set lel = .Find(Cells(sor%, "E"), LookIn:=xlValues)
sor_lel% = lel.Row
If Not lel Is Nothing And WS.Cells(sor_lel%, "D") > "" Then
Cells(sor%, "C") = Cells(sor%, "C") & ". " & WS.Cells(sor_lel%, "D")
End If
End With
Next
End Sub -
cellpeti
nagyúr
válasz
Fire/SOUL/CD #10523 üzenetére
Hát nekem kezdőről kell, nem szoktam foglalkozni az Excel-vel általában. Szegély tudok csinálni táblázatnak és...ennyi
Szóval nekem alapkönyv kellene
-
válasz
cellpeti #10519 üzenetére
Magyar? Felejtős...
Angol E-book-ban tudok segíteni, van olyan könyv, ami pl semmi mással nem foglalkozik csak a Pivot table-el, de annak a legmélyebb bugyraival, de akad Excel 2010 Bible nevű olvasmány is, stb stb.
Egy viszont fontos: Mindegyikhez kell némi alap, mert egy expert-nek szóló kiadványban nem foglalkoznak kezdő szintű ismeretanyaggal, min. haladó előképzettség kell, valamint a 2010-es Excel könyvek is már gyakran halaó ismeretanyagot feltételeznek. -
Geryson
addikt
Egyszerű problémám lenne, ki tudna segíteni? Az érvényesítésnél nem csak 10 elemet szeretnék látni. Lehetőség szerint vagy annyit, amennyi érték kiválasztható (ez néha 2, néha 20), vagy legyen mondjuk 20.
-
bnorci71
addikt
válasz
Delila_1 #10500 üzenetére
Csináltam egy képet, hogy is néz ki a 2 tábla
Talán így egyszerűbb mint, ha magyarázom.
Excel 2003 amit használok, de ha 2007-be egyszerűbb a megoldás abba is meg tudom oldani
Közbe kezdett körvonalazódni amit el kellene érni
Az excel2-ből kellene "D" oszlopot megfelelően az excel1 házszám adatához hozzáfűzni. -
cellpeti
nagyúr
Üdv!
Az egyetemen a következő félévtől MS Excel 2010-vel fogunk dolgozni. Tudnátok jó könyvet(ha lehet magyar nyelven) ajánlani hozzá?
-
VGYke
addikt
Sziasztok! Excelben adatlekérdezéssel nincs sok problémám, beleértve a web lekérdezést.
Viszont most a tudományommal megbuktam, kérlek segítsetek.
Van egy képletekkel teletömött excelem, ahol a kiindulási adattábla egy excel munkalap, amit le lehet tölteni a netről.
Szóval van egy www.akármi címem, amit a böngészőbe beírva, a böngésző helyből felajánlja az excel letöltését/megnyitását.
Ezt a www.akármi címet szeretném valahogy használni az excelemben, hogy megnyitásnál frissítse az adot munkalapot (amit egyébként is letöltene ha böngészőből indítom).
Lehetséges ez? -
Delila_1
veterán
válasz
m.zmrzlina #10516 üzenetére
Azonos területről azonos területre másoltam az adatokat a két makróval, közben nem változtattam semmi mást.
Nem is számít, hiszen Nálad jól működik, nekem meg nem kell, és ha kellene, az átírt makróval nálam is jól megy.
-
Delila_1
veterán
válasz
m.zmrzlina #10514 üzenetére
Ez jó kérdés!
-
Delila_1
veterán
válasz
m.zmrzlina #10512 üzenetére
Igen, ott 2-t kellett volna levonni.
Valamiért ez mégis tudja a 2,9-et. -
m.zmrzlina
senior tag
válasz
Delila_1 #10503 üzenetére
Én csak annyi különbséget látok, hogy lehagytad a .Value-kat ill, hogy bennehagytál egy szóközt a "%" előtt (a végén csak egyet vonsz ki)
Ilyen a szerkezete a celláimnak:
07:27 (0.7 %)
02:10 (3.8 %)
01:14 (0.2 %)
00:00 (0.0 %)
00:37 (0.0 %)
00:00 (0.0 %)Azt tudom (nem olyan rég óta
) hogy a .Value-t el lehet hagyni de a magam számára is áttekinthetőbb a kód ha bennehagyom ezeket a nem kötelező részeket. Kis túlzással még a 2*2+2-t is zárójelezni szoktam (2*2)+2, hogy pár hét múlva is tudjam, hogy mit miért csináltam. (Aztán sokszor még így sem tudom
)
-
vgergo
aktív tag
válasz
Delila_1 #10508 üzenetére
Várj, azt hiszem félreértettük egymást.
csv-t fájlt C++ ban írt progival állítom elő. A C++ program jól működik, ha pl notepad-ban nyitom meg a csv-ket, de nekem nem notepad kell, hanem excel-ben is jól jelenjenek meg.
A problémám csak annyi, hogy nem tudom, hogy milyen formátumú legyen a csv fájl tartalma, ha excel-lel megnyitva az az adat jelenjen meg amit akarok. Excelben NE kelljen semmit sem módosítani/csinálni, mert az excel nem én fogom használni, hanem olyan emberek, akik csak a csv file-re 2x rákattintanak és kész.123E456 elé/mögé mit írjak, hogy az excel cellában 123E456 jelenjen meg.
Eddig ezekkel próbálkoztam:
"123E456"
'123E456 ez majdnem jó volt, csak minden mezőben F2 Entert kell nyomni -
Delila_1
veterán
válasz
vgergo #10507 üzenetére
Úgy értettem a dolgot, hogy a hosszú számok pl az A oszlopban vannak.
A csv fájllá alakítás előtt a makródban meghatározod az alsó sort:
as=range("a1000").end(xlup) ,
a következő sor range("a1:a" & as)=range("a1:a" & as)&""A behíváshoz rögzítesz egy makrót, ami tudja a számkénti megjelenítést, ehhez teszel ki nekik 1-1 gombot az eszköztárra.
-
vgergo
aktív tag
válasz
Delila_1 #10506 üzenetére
Beolvasásnál van olyan opció, hogy melyik oszlopot minek értelmezzen, csak ezek az emberek annyira egyszerű felhasználok, hogy csak 2 kattintással akarják megnyitni a csv file-t. Ők ragaszkodnak ahhoz, hogy olyan léegyen a csv file, hogy 2 kattintással megnyissák minden adat tökéletesen jelenjen meg náluk.
Üres stringgel is próbálkoztam, de nem tetszett nekik, mert mikor kimásoltak egy cella tartalmát, akkor automatikusan az üres stringet is másolták és ahová bemásolták az adatot az a program az üres string-gel már nem működött. -
vgergo
aktív tag
válasz
Delila_1 #10504 üzenetére
Sajnos nem működik.
A másik probléma ezzel, hogy én most egy olyan programot írok, amely csv file-k lesznek az outputjai és ezeket a file-kat egyszerű felhasználók csak 2x rákattintanak és tökéletes formátumban szeretnék ott látni az adatokat. Az az nem mondhatom nekik az, hogy megnyitás után csináld ezt meg ezt. Tehát nincs más választásom, mint olyan formátumot találni a csv file-oknak, amiket az excel automatikusan jól olvas be.
-
Delila_1
veterán
válasz
m.zmrzlina #10501 üzenetére
Nálam egész számokat adott a 2.9, vagy a 0.2 helyett.
Nem tudom már, mi volt a makróink között a különbség, ide rajzolom az enyémet.
A value legtöbb helyen alapérték, nem kell kiírni, anélkül is 50 cm a változó meghatározása.Sub kiemel()
Dim cella As Range, kiemeles As String
For Each cella In Selection.Cells
kiemeles = WorksheetFunction.Substitute(Mid(cella, WorksheetFunction.Search("(", cella) + 1, _
WorksheetFunction.Search("%", cella) - WorksheetFunction.Search("(", cella) - 1), ".", ",")
Worksheets("Munka2").Cells(cella.Row - 10, cella.Column) = kiemeles * 1
Next
End Sub -
vgergo
aktív tag
Sziasztok
Olyan problémám van, hogy az excel rosszul nyitja meg csv file-kat.
pl egy csv file-ra:
"a";"b"
"123E02";"abc"Beolvasás után E-t exponenciálisnak veszi.
Ha a csv file-t átalakítom erre:
"a";"b"
'123E02;"abc"
,akkor '123E02 jelenik meg és F2 ENTER lesz csak jó a mező értéke,Milyen formátumú legyen a csv file, hogy ha az intézőben 2x rákattintok, akkor jól jelenjen meg a csv file az excel-ben.
Előre is köszi a segítséget!
üdv.:vgergo
-
m.zmrzlina
senior tag
válasz
Delila_1 #10490 üzenetére
Igen kell mert nem csak egyszerűen átmásolni akarom egyben az egészet, hanem egyenként minden cellát megcsócsálni.
Sub kiemel()
Dim cella As Range, kiemeles As String
For Each cella In Selection.Cells
kiemeles = WorksheetFunction.Substitute(Mid(cella.Value, WorksheetFunction.Search("(", cella.Value) + 1, WorksheetFunction.Search("%", cella.Value) - WorksheetFunction.Search("(", cella.Value) - 2), ".", ",")
Worksheets("riport").Cells(cella.Row - 10, cella.Column).Value = kiemeles * 1
Next
End SubAz útvonalas munkafüzet sikerén felbuzdulva szeretném kicsit emberi formára hozni egy régebbi munkafüzetemet amivel kapcsolatban itt érdeklődtem.
Ez a ciklus hamarabb lefut 13000 cellán mint amennyi idő alatt az eredeti fájl betöltődik.
A fájl mérete így kb 1/3-a az eredeti fájlnak de az UDF-es megoldásnál is gördülékenyebben működik.
Új hozzászólás Aktív témák
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Antivírus szoftverek, VPN
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával - Nint.hu
- LG 39GS95UE - 39" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- Samsung Galaxy S23+ 256GB, Kártyafüggetlen, 1 Év Garanciával
- Keresek gamer laptopot RTX 3050 , RTX 3060. RTX 4050 , RTX 4060
- Csere-Beszámítás! Ajándék ROG Táska! Asus Rog Ally Z1 Extreme RC71L - 512GB SSD + 16GB LPDDR5
- BESZÁMÍTÁS! ASUS 560M i5 10400F 16GB DDR4 512GB SSD RTX 2060 Super 8GB ZALMAN S2 TG ADATA 600W
Állásajánlatok
Cég: FOTC
Város: Budapest