Hirdetés

2024. április 23., kedd

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#3001) sekli válasza sekli (#2996) üzenetére


sekli
addikt

up! :U

(#3002) gsc73


gsc73
aktív tag

Hy!

Hogyan tudom megváltoztatni egy cella háttérszínét VB-ben? A szintaxis miatt nem jövök rá. A cellákra a "Cells (x,25)" -tel hívatkoznék, mert egy ciklusban van.

g.

u.i.: különben a súgóban hogyan lehetne megkeresni az ilyen, és ehez hasonló kérdéseket, mert órákat töltök el azzal, hogy a megfeleő szintaxist kitaláljam. (makró rögzítése, és szerkesztése abben az esetben (sem ) használható)

[ Szerkesztve ]

kedvenc szavaim: palack, flakon, kredenc, fridzsider, ibrik, trafik, szvetter, fregoli, rezsó, sparhelt, vájdling, szifon, gardrób, partvis, spejz, tégely, drót, abrosz, lavór...szocreál.

(#3003) Delila_1 válasza gsc73 (#3002) üzenetére


Delila_1
Topikgazda

cells(x,25).select
selection.font.colorindex=színkód 'karater színe
selection.interior.colorindex=színkód 'háttér színe

Rögzítesz egy makrót, ahol megváltoztatod a karakter-, ill. a háttér színét. Onnan kimazsolázod azt, amire kiváncsi vagy.
Próba:

For sor = 1 To 255
Cells(sor, 1).Select
Selection.Value = "Színkód=" & sor - 1
Selection.Font.ColorIndex = sor - 1
Cells(sor, 2).Select
Selection.Interior.ColorIndex = sor - 1
Next

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3004) gsc73 válasza Delila_1 (#3003) üzenetére


gsc73
aktív tag

Szia!

Köszönöm a segítséget, amit leírtál, azzal sikerült megoldanom!

A makró rögzítése, átszerkesztése általában segít, de ebben az esetben nem segített.
Rögzítettem egy makrót, miközben megváltoztattam egy cella háttérszínét. Ezt kaptam eredményül:

With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With

Ebből, sajnos nem sikerült kitalálnom a megfeleő szintaxist, bár az is igaz, hogy VB ismereteim sem széleskörűek... :U Aki gyakorlott, annak biztosan következik az egyikből a másik.

g.

[ Szerkesztve ]

kedvenc szavaim: palack, flakon, kredenc, fridzsider, ibrik, trafik, szvetter, fregoli, rezsó, sparhelt, vájdling, szifon, gardrób, partvis, spejz, tégely, drót, abrosz, lavór...szocreál.

(#3005) fap333


fap333
aktív tag

Üdv mindenkinek!
A következő a problémám: Van egy táblázat, amit naponta egy oszloppal bővítenék, és mindig az utolsó 3 oszlop átlagát szeretném látni egy másik helyen.
Erre szeretnék valami egyszerű módszermert magamsól nem nagyon tudok mit kitalálni.
Előre is kössz!
Peti

10 fajta ember létezik. Aki ismeri a bináris számrendszert, és aki nem.

(#3006) TheDj


TheDj
csendes tag

Sziasztok!

Kedves kolleganőnk olyat alkotott, ami fölött mi értetlenkedve álltunk...
Excelben dolgozik a Drága és az internetes közületi telefonkönyvből bemásolt egy e-mail címet. A cellában megjelenik a cím, viszont úgy tűnik nincs sehol egyik cellában sem. (fent a szerkesztési sorban nem látszódik semmi). Ha ráklikkelünk előjön az Outlook és egy előre beállított form alapján már írhatnánk is egy levelet. Jobb klikkre azonban feltűnik, hogy egy flash objektumról van szó.
Mivel automatikus mentésre van állítva és 5-10 percenként ment az "Undo" lehetőségét már elvesztettük. Valahogy szeretnénk kivenni belőle,de mivel egy cellában sem látszódik és kijelölni sem lehet, nem tudjuk mitévők legyünk!
Már rákerestem és az egyetlen link amit találtam nem működik. Pls, akinek van valami ötlete ossza meg velem/velünk!
Előre is nagyon köszönöm a segítséget!

(#3007) Delila_1 válasza gsc73 (#3004) üzenetére


Delila_1
Topikgazda

A With sorban megadunk egy objektumot, amire a változtatások vonatkoznak. Jelen esetben a kijelölt terület (selection) hátterét (interior). A további sorok ponttal kezdődnek, amit úgy kell értelmezni, mintha a With sorban írtakat folytatnánk (With nélkül):

selection.interior.colorindex=15
selection.interior.pattern=xlsolid 'nincs mintázat
selection.interior.patterncolorindex=xlautomatic 'a mintázat színe

A két utóbbi kitörölhető, mivel alapbeállítás, és akkor már nincs szükség a With, End With-ra sem.

Ezt a makrót most rögzítettem, a karakter típusát változtattam meg. '******-gal jelöltem, ami nem szükséges, törölhető.

With Selection.Font
.Name = "Tahoma"
.Size = 10 '******
.Strikethrough = False '******
.Superscript = False '******
.Subscript = False '******
.OutlineFont = False '******
.Shadow = False '******
.Underline = xlUnderlineStyleNone '******
.ColorIndex = xlAutomatic '******
End With

Végül ennyi marad: Selection.Font.Name = "Tahoma"

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3008) Delila_1 válasza TheDj (#3006) üzenetére


Delila_1
Topikgazda

Egy próbát megér:
A Szerkesztés/Csatolások-at nézd meg. Ha "él" ez a menüpont, akkor módosítsd a csatolás címét saját magára, az érintett file-ra. Ezzel gyakorlatilag megszűnik a csatolás, a menüpont is le lesz tiltva.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3009) Delila_1 válasza fap333 (#3005) üzenetére


Delila_1
Topikgazda

Másold be az alábbi makrót:

Sub Atlag()
Sheets("Munka1").Select
usor = ActiveSheet.UsedRange.Rows.Count
uoszlop = ActiveSheet.UsedRange.Columns.Count
Sheets("Munka2").Select
For sor = 2 To usor
Cells(sor, 1).Select
ActiveCell.FormulaR1C1 = "=AVERAGE(Munka1!RC[" & uoszlop - 3 & _
"]:RC[" & uoszlop - 1 & "])"
Next
End Sub

A Munka1 lap 3 utolsó oszlopát átlagolja a Munka2 A oszlopába.
Ha B oszlopba kell az átlag, a Cells(sor,1)-et írd át Cells(sor,2)-re, és az ActiveCell.FormulaR1C1 kezdetű sorban az uoszlop-3 és uoszlop-1 értékeket is növeld eggyel (uoszlop-3 és uoszlop-2).

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3010) lúzer válasza Delila_1 (#3009) üzenetére


lúzer
veterán

Te aztán vágod! :R

Egy kérdésem lenne: honnan tudod, hogy melyik az utolsó oszlop?
Van információja az excelnek, hogy innentől kezdve üres oszlopok jönnek?
Mi ez az infó?

ui: ActiveSheet.UsedRange.Columns.Count ez ugye?

[ Szerkesztve ]

MO. RIP. - az utolsó kapcsolja le a villanyt.

(#3011) Delila_1 válasza lúzer (#3010) üzenetére


Delila_1
Topikgazda

Igen, és az utolsó sor értékét a fölötte lévő sor adja.
Vigyázni kell arra, hogy ha voltak az aktív táblázat területén kívül eső cellákban valamikor értékek (most már törölve vannak - szépen magyarul), vagy most is vannak benne kósza adatok, akkor azokkal a címekkel számol a makró, és hamis értéket ad.
A makróba érdemes egy stoppot tenni a két érték bekérése után, és ellenőrizni. Ha többet mutat az usor és az uoszlop nevű változó a kelleténél, a felesleges sorokat és oszlopokat törölni kell. Nem a benne lévő adatot, hanem a teljes sort ill. oszlopot.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3012) lúzer válasza Delila_1 (#3011) üzenetére


lúzer
veterán

Kösz :R

MO. RIP. - az utolsó kapcsolja le a villanyt.

(#3013) Delila_1 válasza lúzer (#3012) üzenetére


Delila_1
Topikgazda

Egy másik fórumon a moderátor lekapott azért, mert a "köszönöm"-re "szívesen"-nel válaszoltam. Itt még nem kaptam ki, úgyhogy szívesen.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3014) Delila_1 válasza lúzer (#3012) üzenetére


Delila_1
Topikgazda

Másik módja az utolsó sor, ill. utolsó oszlop megkeresésének, arra az esetre, ha a lapon több, egymástól üres sorokkal, oszlopokkal elválasztott adataink vannak:

Kiválasztjuk egy olyan oszloponak az első celláját, amelyikben biztosan folyamatosan vannak az adatok, pl. A1.

Range("A1").Select
Selection.End(xlDown).Select ' ez azonos azzal, mint amikor Ctrl+le-nyilat nyomunk
usor = Selection.Row
Range("A1").Select
Selection.End(xlToRight).Select ' Ctrl+jobbra-nyílnak felel meg
uoszlop = Selection.Column

Ha biztos, hogy az alsó sorban minden oszlopban van adat, a második Range-re nincs szükség.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3015) jasszer


jasszer
senior tag

Egy munkalapon belül szeretném kiszűrni az ugyanolyan tartalmú, azonos oszlopba tartozó cellákat (lehet h uaz az adat kétszer lett felvéve, két különböző cellába), van erre vmi gyors módszer? (az is elég lenne ha kiderülne h miből van duplikáció, nem kell h odaugorjon, v ilyesmi)

Apokalipszis? Ezeknek?!

(#3016) Amazonas válasza jasszer (#3015) üzenetére


Amazonas
senior tag

link

[ Szerkesztve ]

(#3017) jasszer válasza Amazonas (#3016) üzenetére


jasszer
senior tag

Köszi!

Apokalipszis? Ezeknek?!

(#3018) mimi_bacsi


mimi_bacsi
tag

Régebben szó volt róla, de most nem találom: egy cellában van több adatom:
pl: Név azonosító szám titulus dátum szám szám2 szám3

Hogy tudom úgy szétszedni, hogy természetesen minden logikai rész egy cellába (külön) kerüljön?

(bocs, tudom, hogy már volt, de nem találom.....)

(#3019) Amazonas válasza mimi_bacsi (#3018) üzenetére


Amazonas
senior tag

Kijelölöd a szétszedendő cellákat.
Adatok menü -> Szövegből oszlopok... -> "Tagolt" elé pötty, majd a "Tovább" után add meg, hogy mi választja el az adatokat (vessző, szóköz, stb.)
A legszerencsésebb a pontosvessző lenne, mint elválasztójel a forrásban, ahonnan másolsz.
A szóköz azért nem a legszerencsésebb, mert a vezeték- és keresztneveket is külön oszlopba fogja venni. Persze attól függ, hogyan jobb neked, meg milyen az adathalmaz...

[ Szerkesztve ]

(#3020) mimi_bacsi válasza Amazonas (#3019) üzenetére


mimi_bacsi
tag

Köszönöm, igaz...;-))) :C

(#3021) sonar


sonar
addikt

Azt meg lehet, csinálni, hogy a meghívott fv abba a cellába dolgozzon amelyikből veszi az adatot?
Itt ez a fv:

=IF(G1="MEMORY:1",1,IF(G1="MEMORY:0",0,IF(G1="MEMORY:-1",-1)))

és az eredmény is a G1 cellába kerüljön vissza. Közbeszúrt oszlopokkal meg tudom csinálni, de az kicsit macerás

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3022) Amazonas válasza sonar (#3021) üzenetére


Amazonas
senior tag

Egyszerű függvénnyel szerintem nem lehet megcsinálni, mert egyrészt körkörös hivatkozás lenne, másrészt ha beviszel egy adatot a cellába, az kitörli onnan a függvényt.
Esetleg makróval... Delila? :)
A vesszőket egyébként cseréld pontosvesszőkre.

(#3023) Delila_1 válasza sonar (#3021) üzenetére


Delila_1
Topikgazda

Ha már Amanozas így megbízik bennem, itt a makró. (Igazad van Amazonas, körkörös hivatkozás lenne).

Sub mem()
Range("G1").Select
Selection.End(xlDown).Select
usor = Selection.Row
For sor = 1 To usor
nev = Right(Cells(sor, 7).Value, 2)
If Left(nev, 1) = ":" Then nev = Right(nev, 1)
Cells(sor, 7) = nev
Next
End Sub

[ 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.

(#3024) sonar válasza Amazonas (#3022) üzenetére


sonar
addikt

Igen tudom,hogy körkörös hivatkozás lenne. Ezért kérdeztem, hogy nincsen e rá vmilyen trükk. Makróval próbálkozom... csak vmilyen apróság mindig megszivat.

Vessző pontos vessző érdekes téma. Az én excelemben csak pontos vessző jó tagolásra, de a kolléga gépe meg csak a vesszőt fogadja el. :F :Y pedig elméletileg ua minden.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3025) sonar válasza Delila_1 (#3023) üzenetére


sonar
addikt

Már próbálom is :R

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3026) Delila_1 válasza sonar (#3024) üzenetére


Delila_1
Topikgazda

Munkalapon ";" makróban ",".

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3027) sonar válasza Delila_1 (#3023) üzenetére


sonar
addikt

Le a kalappal KIRÁLY VAGY EXCELBEN :R :R :R

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3028) sekli válasza sekli (#2996) üzenetére


sekli
addikt

mondjatok meg batran, ha ez lehetetlen...! :B

(#3029) Delila_1 válasza sonar (#3027) üzenetére


Delila_1
Topikgazda

Kösz, de csak szeretnék.
És legalább királynőt írtál volna...

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3030) Delila_1 válasza sekli (#2996) üzenetére


Delila_1
Topikgazda

Írd le, hogyan állítottad be az 5 percenkénti frissítést. Azután lehet, hogy valamelyikünk tudja folytatni.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3031) sonar válasza Delila_1 (#3026) üzenetére


sonar
addikt

nev = Right(Cells(sor, 7).Value, 2)

Ezt elmagyaráznád? Egyedül ezt a részt nem igazán értem - egész pontosan ezt nem értem:
Cells(sor, 7).Value - ez mit ad vissza?

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3032) Delila_1 válasza sonar (#3031) üzenetére


Delila_1
Topikgazda

A soradik (aktuális sor) 7. (G) oszlopában levő értéket, annak is a jobboldali 2 karakterét.
Ezt teszi be a nev változóba.
Azután az esetleges mínusz jel miatt tovább vizsgálja. Ha a két karakterből álló nev baloldali 1 karaktere – left(nev,1) – kettőspont, akkor a nev jobboldali 1 karakterét veszi alapul, egyébként pedig a teljes nev változót (pl. -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.

(#3033) sonar válasza Delila_1 (#3032) üzenetére


sonar
addikt

Ha ez a H oszlop tartalma: USB:0 v USB:-1 v USB:1 akkor most ez a script mér nem akar lefutni rendesen? Elirtam vmit?

Range("H1").Select
Selection.End(xlDown).Select
usor = Selection.Row
For sor = 1 To usor
nev = Right(Cells(sor, 4).Value, 2)
If Left(nev, 1) = ":" Then nev = Right(nev, 1)
Cells(sor, 4) = nev
Next

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3034) Delila_1 válasza sonar (#3033) üzenetére


Delila_1
Topikgazda

A nev=right(cells(sor,4).value,2) sorban a 4-et írd át 8-ra. Ez a H oszlop sorszáma az ABC-ben.
A cells(x,y)-nál az x a sor száma, az y az oszlopé.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3035) sonar válasza Delila_1 (#3034) üzenetére


sonar
addikt

Áhh kösz, épp most jöttem rá én is :R

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3036) Delila_1 válasza sonar (#3035) üzenetére


Delila_1
Topikgazda

OK

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3037) sonar válasza Delila_1 (#3034) üzenetére


sonar
addikt

Progamoztam én régebben VB-ben csak elkeveredtem ebben, nem esett le, hogy az a 7 koordináta, azt hittem a String hossza ( Memory: ) :) de hát mindig tanul az ember vmi újat

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3038) sonar


sonar
addikt

Arra esetleg van megoldás, hogy vesszővel tagolt szöveget autómatán berántsa excelbe?

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3039) Delila_1 válasza sonar (#3038) üzenetére


Delila_1
Topikgazda

Nézd meg Amazonas #3019-es hozzászólását, és esetleg rögzítsd makróban.
A behívandó file nevét egy Inputboxban bekérhetnéd, ha az változhat.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3040) sonar


sonar
addikt

Sziasztok, a problémám, az, hogy van a következő szerkezetű fájlom több száz rekorddal. Az a hibás ahol van 0, azokra a sorokra lenne szükségem. Hogyan tudom én ezt kiszűrni?

Date Time Shift MEMORY USB HDD_READ TUNER2_INIT
2008.01.19 6:10 DE 1 0 1 1
2008.01.19 6:12 DE 1 1 1 1
2008.01.19 6:14 DE 1 1 1 1
2008.01.19 6:15 DE 1 0 -1 -1
2008.01.19 6:17 DE 1 0 1 1
2008.01.19 6:18 DE 0 1 -1 -1

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3041) Delila_1 válasza sonar (#3040) üzenetére


Delila_1
Topikgazda

Első sorban állsz, Adatok/Szűrő/Autoszűrő.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3042) sonar válasza Delila_1 (#3041) üzenetére


sonar
addikt

Ezt próbáltam először, de ez nem jó mivel ha először a Memory -s 0 kat veszem ki, utánna már nem veszi ki a HDD-s 0-kat.
Most alakítgatom az általad adott makrót (ami 0,1,-1 re bontotta a táblát,) úgy nézki, hogy vhogy összejön.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#3043) Amazonas válasza sonar (#3042) üzenetére


Amazonas
senior tag

Egyszerre több oszlopot is szűrni egyidejűleg, teljesen „személyre szabott” feltételekkel.
Ha jól értem, amit akarsz, akkor minden érintett oszlopot szűrj le így:
Autofilter-t ráteszed, ahogy Delila mondta, majd a az érintett oszlopoknál a legördülő menüből az (Egyéni...)/(Custom...) szűrőt választod.
A párbeszédablakban pedig add meg, hogy Tartalmaz (Contains) 0.

[ Szerkesztve ]

(#3044) lúzer válasza sonar (#3042) üzenetére


lúzer
veterán

adatok/sorbarendezés

rendezze.... majd....

MO. RIP. - az utolsó kapcsolja le a villanyt.

(#3045) Smogus


Smogus
őstag

Segítsetek!

Egy excel munkafüzetben van több érték és nekem miden értéket 5%-al kell megnövelnem, hogy lehet ezt a legegyszerűbben?

Előre is köszi.

Ha az emberi agy elég egyszerű lenne ahhoz, hogy megértsük, akkor egyszerűségünkben erre már nem lehetnénk képesek. -- http://smogus.deviantart.com/ --

(#3046) Delila_1 válasza Smogus (#3045) üzenetére


Delila_1
Topikgazda

=A1*(1+5%)
Ezt másold végig az adataid mellett.
Ha az értékeket fixre akarod venni (ne képlet legyen), akkor a növelt értékeket tartalmazó cellákat kijelölöd, másolod, és Szerkesztés/Irányított beillesztés/Értéket beilleszt – másik helyre, vagy az eredeti összegek helyére.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3047) Delila_1 válasza sonar (#3042) üzenetére


Delila_1
Topikgazda

Azt akarod, hogy minden sorod eltűnjön, ami nullát tartalmaz? Ha igen,
Első oszlop szűrése, törlés.
Második oszlop szűrése, törlés.
....
n-edik oszlop szűrése, törlés.
Ez gyorsabb művelet, mint a leírása.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3048) Smogus válasza Delila_1 (#3046) üzenetére


Smogus
őstag

Nagyon köszönöm :D
Örök hála!

Ha az emberi agy elég egyszerű lenne ahhoz, hogy megértsük, akkor egyszerűségünkben erre már nem lehetnénk képesek. -- http://smogus.deviantart.com/ --

(#3049) Delila_1 válasza Smogus (#3048) üzenetére


Delila_1
Topikgazda

Szívesen, jó munkát!

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#3050) sonar válasza Delila_1 (#3047) üzenetére


sonar
addikt

A nullásoknak kell maradni, de majd csak Hétfőn - ma szabin vagyok :)

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.