Hirdetés

2024. május 4., szombat

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

(#7801) Surfym@n válasza föccer (#7795) üzenetére


Surfym@n
senior tag

Köszi az ötletet sikerült.

Így már működik a 2. értéktengely is.

28 év és 2.8-as rekesz felett már nincs mese...

(#7802) GBandeee


GBandeee
csendes tag

Sziasztok!

Excelben kellene segítség.

Hogyan lehet egy oszlopban lévő számok közül a legnagyobb 25-öt kiírattatni?
Nem egyszerű sorba rendezésre van szükségem, mert az oszlopban lévő számok változhatnak a műveletek során és azzal túl sok idő megy el, hogy mindig kijelöljem és sorba rendezzem az oszlopot...

Valamilyen függvényes, vagy más megoldás kellene - ha van. Tehát beírom a számokat, az excel kiszámolja az oszlopban lévő függvények szerint, majd valamilyen módon láthatnám a legnagyobb 25-öt.

Köszönöm!

(#7803) Yaye


Yaye
őstag

Sziasztok,

Van valakinek megoldása arra, hogy a beillesztéssel máshonnan hozott, szám formájú adatokat, amiket mégis szövegként jelenít meg, hogyan lehetne tömegesen észhez téríteni?

Arra a jelenségre gondolok, amikor egy szám típusú cellába spécipasztázok egy "csak értéket", akkor annak ellenére hogy a beillesztés után a cella típusa továbbra is szám, mégis szöveg módjára jelenik meg, balra igazítva. A cellába duplakattintva szerkesztéshez, majd változtatás nélkül leenterezve helyreáll a rend, na de ezt nem csinálhatom meg egyenként mind a sokszáz/ezer beillesztett cellával :(

üdv
Yaye

(#7804) Delila_1 válasza GBandeee (#7802) üzenetére


Delila_1
Topikgazda

=nagy(tartomány;1), =nagy(tartomány;2), ... =nagy(tartomány;25)

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

(#7805) Delila_1 válasza Yaye (#7803) üzenetére


Delila_1
Topikgazda

Egy üres cellába beviszel egy 1-est. Másolod, kijelölöd a tartományt, ahol szövegként szerepelnek a számok. Jobb klikk, irányított beillesztés, Szorzás.

Ezzel az összeset felszoroztad eggyel, amivel számmá is alakítottad mindet. A szorzó 1-est kitörölheted.

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

(#7806) Yaye válasza Delila_1 (#7805) üzenetére


Yaye
őstag

Köszi, ezt ismertem, és majdnem jó is, de mégsem. A szorzás után ugyanis a cellák formátuma a segédegyes cellájának formátumát veszi föl. Ha az eredeti cellákban különbözőképp formázott számok/dátumok vannak, akkor az mind jól elszáll.

Viszont kicsit még próbálkoztam, és kis kiegészítéssel jó: az *1 (vagy +0) speciális beillesztésnél is alkalmazni kell a "csak értéket" és akkor nem túrja szét a formátumokat. Legjobb, úgy alakít számmá egy már eleve szám értéket, hogy nem alakít át semmit. :DDD

[ Szerkesztve ]

(#7807) föccer válasza Yaye (#7806) üzenetére


föccer
nagyúr

Két lépésben kell a beszúrást megcsinálni.

1: irányított beillesztés-> formátumot, majd irányított beillesztés -> értéket.

üdv, föccer

Építésztechnikus. Építőmérnök.

(#7808) Delila_1 válasza Yaye (#7806) üzenetére


Delila_1
Topikgazda

Melyik verziót használod? A 2003-as nem viszi át kéretlenül a formátumot.

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

(#7809) föccer


föccer
nagyúr

No, következő nagy kérdés. Kezdek komolyabban foglalkozni a makrózással, de most megint megakadtam.

Szóval:
Adott, egy létező Sheet, amin van egy commandbutton. Ehhez tartozó click() metódusba az van írva, hogy:

hozzon létre egy új Sheetet

Sheets("vezerlo").Select
Sheets.Add

Majd erre az új lapra rakjon be egy új commandbuttont:

ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=60, Top:=71.25, Width:=144.75, Height:= _
57).Select

Ez valahogy úgy kellene kinéznie, mint ha Delphi-ben tolnék egy form2.ShowModal metódust, amikoris a Form2-n lenne egy gomb.

A kérdés az, hogy hogyan tudnám azt lekódolni, hogy ehhez az újonnan (egyébként kódból létrehozott) gombhoz rendeljek hozzá különböző történéseket? A példa kedvéért azt, hogy ha megnyomom az új gombot, akkor törölje az újjonnan létrehozott Sheet-et...

Remélem érthető voltam :)

A segítséget előre is köszi.

üdv, föccer

Építésztechnikus. Építőmérnök.

(#7810) Yaye válasza Delila_1 (#7808) üzenetére


Yaye
őstag

Hát, nekem átvitte, pedig bizisten nem kértem meg rá :) 2003 sp3

@ föccer: épp hogy nem akartam semmiféle formátumot átvinni. Speciális, "értéket" beillesztés nem is vitte át, a célcellák beillesztés után is maradtak az előre beállított formátumok, csak épp a tartalmukat jelenítette meg hibásan, szövegmód, balra igazítva. Ezért kellett az újabb, 1-el szorzós úgy-szerkesztek-hogy-nem-szerkesztek trükkös spécipaszta, de az is úgy hogy a formátumhoz véletlen se nyúljon ("értéket").

(#7811) föccer válasza Yaye (#7810) üzenetére


föccer
nagyúr

Na, ugye az excel megkülönbötzet egy cellán belül cella értéket, és cella formátumot. Ha beírod a cella értéket (és csak a cella értékét), akkor nem fog változni a cella formátuma. Így a frissen beszurt értéket, a már meglévő formátumba fogja "kényszeríteni". Amikor belemész a cellába, és nyomsz rajta egy entert, akkor az Excel megvizsgálja a cella értékét, és ha egyértelműen be tudja azonosítani, hogy az szám, akkor átállítja a formátumot is szám-ra. Ezért van az, hogy akkor helyesen meg fog jelenni.

A sima beillesztés azért működik, mert ott a cella formátumát, és az értékét is átviszi.

Vagy az a cél, hogy a szám típusú értéket, a szöveg típusú cellaformátum mellett úgy jelenítsen meg, mitnha szám lenne? Akkor a cella formázásnál kell megadni, hogy jobbra zárt, osz jóccakát. De attol még szöveg formátuma marad...

Vagy nem értem, hogy mit szeretnél elérni... :(

Üdv, föccer

Építésztechnikus. Építőmérnök.

(#7812) Yaye válasza föccer (#7811) üzenetére


Yaye
őstag

Na, azt hittem elég egyértelmű. :)
Van egy táblázatom, nevezzük első táblázatnak, aminek az oszlopainak a formátuma (szám, dátum, szöveg, általános stb.) szépen be vannak állítva. Van egy másik táblázatom (második táblázat), amiben mindenféle adat, számok, alfanumerikus dolgok vannak, de ennek a második táblázatnak minden cellája szöveg formátumú.
Ha simán a második táblázatból a cellákat az elsőbe átkopipésztelem, akkor értelemszerűen hozza a forráscellák formátumát is, és az első táblázatban beállított formátumaim fölülíródnak szövegre. Ezért speciális beillesztéssel csak az értéket másolom át. Ekkor az értékek bekerülnek ahogy kell, de a célcellák beállított formátuma megmarad. Ha beillesztés után megnézem a cellák formátumát, szépen látni hogy szám, dátum, satöbbi, ahogy eredetileg is volt. Ennek ellenére azonban a cellában az adatot úgy jeleníti meg minha szöveg volna, balra igazítva, ott is ahol az érték és a formátum egyaránt szám. Tehát a cella formátuma és annak bemutatása ellentmondásos. Az ellentmondást úgy lehetett feloldani hogy duplakattintással szerkesztésre beléptem a cellába, majd bármi változtatás nélkül ki, és akkor az igazítás a formátumnak megfelelővé vált. Ezt a rengeteg kattintgatást váltotta ki a második speciális beillesztés az egyessel szorzással.

(#7813) Fire/SOUL/CD válasza Yaye (#7812) üzenetére


Fire/SOUL/CD
félisten

Hali!

Érdekes jelenség, ehhez kellene a munkafüzet (nyilván ha nem publikus tartalma van, akkor tárgytalan). Alapban ilyen nem fordulhatna elő(és nálam nincs is ilyen jelenség), tippem szerint valamelyik oszlopban vegyes formátum van, csak kinézetre "azonos"...

Amúgy ha újra formáztad volna pl az egész oszlopokat számra, dátumra, szövegre stb?

Fire.

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7814) GBandeee válasza Delila_1 (#7804) üzenetére


GBandeee
csendes tag

Delila_1 nagyon köszönöm a segítséget. Sikerült! :)

Szintén ezzel kapcsolatosan, hogyan lehet megvalósítani, hogy ne magát a legnagyobb számot írja ki, hanem a mellette lévő (hozzá tartozó szöveges részt).

Pl. Kiderül hogy a 404 a legnagyobb szám, a mellette lévő adat 'alma', akkor kiírja, hogy alma, stb...

Bonyolítva a helyzetet, meg is számolja, hogy hány 'alma', 'körte', stb... legnagyobb van az első 25 között, pl:

alma: 16
körte: 4
barack: 3
szilva: 1
dió: 1

(Tehát összesen 25.)

Köszönöm!!!

(#7815) Delila_1 válasza GBandeee (#7814) üzenetére


Delila_1
Topikgazda

Nem írtad, melyik értéked melyik oszlopban található. Írom a saját elképzelésem szerint.

Az A oszlop tartalmazza a neveket (alma, körte), B-ben a hozzájuk tartozó összegek.
Hogy ne kelljen a 25 db NAGY függvénybe egyenként beírni a második paramétert, a C1:C25 tartományba beírtam 1-től 25-ig a számokat.
D1-be: =INDIREKT("A"&HOL.VAN(NAGY(B:B;C1);B:B;0))
E1-be: =NAGY(B:B;C1)
F1-be: =SZUMHA(D:D;D1;E:E)

A 3 képletet együtt lemásolod a 25. sorig.

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

(#7816) perfag válasza Delila_1 (#7815) üzenetére


perfag
aktív tag

Gondolkodtam én is a feladványon. Igen, szerintem is ez a maximum amit ki lehet belőle hozni. Egy megjegyzéssel: azonos értékek esetén nem fog intelligensen működni.
#7814-ben ott a minta: szilva: 1, dió: 1. Az 1 mellé a szilvát fogja kiírni mindkétszer.

(#7817) Delila_1 válasza perfag (#7816) üzenetére


Delila_1
Topikgazda

Igazad van. Akkor kicsit összetettebb a feladat, több oszlop kell hozzá.

Az A és B marad a megnevezés, és a hozzá tartozó összeg.
C1-> =B1+SOR()*0,0001
D1:D25 -> 1-től 25-ig sorszám
E1-> =INDIREKT("A"&HOL.VAN(F1;C:C;0))
F1-> =NAGY(C:C;D1)
G1-> =INT(F1)
H1-> =SZUMHA(A:A;E1;B:B)

A C1-et kell lemásolni az eredeti adatok mellé, az E1:H1 tartományt pedig a 25. sorig.

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

(#7818) kenesei1982


kenesei1982
aktív tag

excelben ki tudom kapcsoni valahol, h automatikusan ne írja át dátummá a számokat a cellában?
van egy oszlop számokkal "," a tizedesjel, de át akarom írni mindet "."-ra, de amikor replace all-al átírja egy csomó dátummá válik, holott a cella formázásnál number van megadva. próáltam text-et is adni neki már, de akkor is átírja.

– Alkudozz rendesen. Ez nem ér tizenkilencet. – Az előbb azt mondtad, hogy húszat ér! – Jaj, ugyan barátom, gyerünk, alkudj!

(#7819) Fire/SOUL/CD válasza kenesei1982 (#7818) üzenetére


Fire/SOUL/CD
félisten

Hali!

Használj más tizedesjel elválasztót, jelen esetben a pontot...[link]

Fire.

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7820) GBandeee válasza Delila_1 (#7817) üzenetére


GBandeee
csendes tag

Nagyon köszönöm! Ismételten működik! :)

Viszont, ha a G és H oszlopot kitörlöm, akkor is tökéletesen működik, pedig direkt írtam egyforma számokat több helyre is és nem okozott problémát. Rendesen kiírta, hogy hány alma, szilva, stb van. Nem keverte össze. Lehet, hogy ahhoz valamilyen különleges esetre lenne szükség, amit nem tudok? :) Mi szükség van a G és H oszlopokra?
Szóval lényeg, hogy működik! :)

Most már csak egy utolsó kérés:

Számszerűen számolja össze, hogy hány alma, szilva stb... van összesen a kiválasztott legnagyobb 25 között.

Tehát így írja ki:

14 alma
4 barack
3 dió
2 körte
2 szilva

Még egyszer köszönöm!

(#7821) Delila_1 válasza GBandeee (#7820) üzenetére


Delila_1
Topikgazda

Nekem nem egészen tiszta, hogy mit szeretnél. Egy előző kérdésedből úgy vettem ki, hogy a 25 legnagyobb értékű gyümölcs neve mellé egyrészt a legnagyobb értékeket, másrészt a SZUMHA függvény eredményét. Vagyis ha az alma 2× is szerepel a 25 legnagyobb érték között (16 és 15 értékkel), akkor legyen alma 16, és alma 15, egy másik oszlopban pedig az alma mellett szerepeljen azoknak a számoknak az összege (B oszlop), amelyikek mellett az A oszlopban az alma szó található. Ha a fenti 16-on és 15-ön kívül az almának van még 3, 5, és 2 értéke is, akkor az utóbbi oszlopban 41 legyen az összeg.

A sorrend: A #7814-ben alma:16; körte:4, a mostaniban 14 alma; 6 barack szerepel. A változó igényeidnek megfelelően az egyes oszlopok sorrendjét felcserélheted, egyszerűen áthúzod azokat az új helyükre.

Akkor vegyük előlről a függvényeket: A és B marad, ahogy volt.
C1-> =B1+SOR()*0,0001
D1:D25 a sorszám
E1-> =NAGY(C:C;D1) ha ezt az oszlopot úgy formázod, hogy egész számokat mutasson, akkor valóban nincs szükség az INT függvényes oszlopra.
F1-> =INDIREKT("A"&HOL.VAN(E1;C:C;0))

Nem vagyok biztos benne, de azt hiszem, a következő oszlopban azt az értéket akarod kiíratni, ahányszor a legnagyobb 25-ben szerepel pl. az alma. Ennek a függvénye
G1-> =DARABTELI(F:F;F1)
Egy kicsit kicifrázva, hogy az első előfordulásnál 1, a másodiknál 2 legyen:
H1-> =DARABTELI(F$1:F1;F1)

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

(#7822) kenesei1982 válasza Fire/SOUL/CD (#7819) üzenetére


kenesei1982
aktív tag

és ezt hol találom office 2003 alatt?
meg ez a megoldás nem olyan szimpatikus. nem lehetne mégis kikapcsolni vhol az automata kovertálást?

– Alkudozz rendesen. Ez nem ér tizenkilencet. – Az előbb azt mondtad, hogy húszat ér! – Jaj, ugyan barátom, gyerünk, alkudj!

(#7823) GBandeee válasza Delila_1 (#7821) üzenetére


GBandeee
csendes tag

Huuu, igazából ÉN nem értem, hogy mit írtál ezért megpróbálom még egyszer leírni érthetőbben. :) Bocsánat! :)

Tehát van két oszlopom:
A oszlop: Ebben vannak a gyümölcsök nevei
B oszlop: Ebben vannak a gyümölcsökhöz tartozó számok

A feladat első részét, hogy a legnagyobb 25 számhoz tartozó gyümölcs nevét írja ki megoldottad, amit köszönök. (A G és H oszlopra szerintem nem volt szükség.)

Már csak annyit kellene tenni, hogy számszerűen írja ki, hogy a legnagyobb számú gyümölcsökből összesen mennyi van. Tehát szerintem az E oszlopba került szöveges adatokat összesíteni kellene egy külön helyen. (Ez ugye lehet akármi, mert, ha megváltoztatom a gyümölcsöket, és a mellettük lévő számot, akkor változik a végeredmény is, mint ahogy két példában le is írtam.)

Egy harmadik példa szerint (lehetőleg csökkenő sorrendben írja ki) így alakul a végeredmény:

Például, ha a szilvából van a legtöbb (9 legnagyobb számú), akkor ilyen sorrendben írja ki:
(két oszlop, öt sor)

9 szilva
7 barack
6 alma
3 körte
0 dió

(Tehát csak azt a 25-öt legnagyobb számot vizsgálja, ami már az előbb ki lett számolva.)

(#7824) GBandeee válasza GBandeee (#7823) üzenetére


GBandeee
csendes tag

Rosszul írtam az utolsó sort:

Csak azt a 25-öt legnagyobb SZÁMHOZ TARTOZÓ SZÖVEGET vizsgálja, ami már az előbb ki lett íratva...

(#7825) Delila_1 válasza GBandeee (#7824) üzenetére


Delila_1
Topikgazda

1 cellába akarod íratni a számot és a szöveget?
=egyik_cella&" "&másik_cella

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

(#7826) Ceree


Ceree
senior tag

Sziasztok!

Egy olyan problémám van, amit már napok óta nem tudok megoldani. Adott egy programból exportált excel tábla (elég nagy), amiben sajnos a számadatok szövegként vannak tárolva. Ezen oszlopok átalakítását makróval kell előkészítenem a további műveletekhez. Az oszlopok "1"-gyel való beszorzása hozza az eredményt, azonban ha ezt makróba rögzítem, egy bizonyos oszlop értékeit elrontja. Ebben az oszlopban 15,4929 ; 7,563 ; 18,8524 formátumban vannak a számok, amik egyébként %-okat jelentenek. A makró végrehajtása után eltűnnek a tizedesvesszők, sőt, vannak olyan cellák, amik formátuma nem változik meg (pl 6,25) (ilyenek a többi oszlopban is vannak, amiben van tizedesvessző). Hogy tudnám ezt megoldani? Az eljárás egyébként frankón megy, csak makróba rögzítve nem.

Előre is köszönöm a válaszokat:
Ceree

Másolat_eredetije

(#7827) glutamin


glutamin
őstag

Sziasztok!

Bár eredetileg Word-hö kapcsolódik a kérdésem, de Excelben is gondolom hasonló a menete. Szóval:

Hogy tudom megoldani azt, hogy az általam kiválasztott eszköztár a word/excell következő indításakor is fent legyen. Kvázi elmenteném ezt az állapotot.

Elvileg ez az információ a normal.dot fájlban tárolódik, de gőzöm sincs h lehet ezt menteni.

„When you have money in hand, only you forget who are you. But when you do not have any money in your hand, the whole world forget who you are. It's life.“

(#7828) mooncsy


mooncsy
csendes tag

Sziasztok!

Egy kis segítséget szeretnék kérni.

Open office excelben sikerült megcsinálnom a lenyíló cellát, 10 választási lehetőséggel.
Azt hogyan tudom megcsinálni, hogy ha a H oszlopban a kérdésekre kiválasztom a választ, akkor az adott válaszhoz tartozó értéket beírja a D oszlop megfelelő cellájába?
HA fügvénnyel próblkoztam, viszont csak az első értéket tudtam megcsinálni,amint a többit is beírtam nem működött.

Előre is köszönöm a segítséget!!

M

(#7829) Jarod1


Jarod1
addikt

miképpen lehet azt megcsinálni hogy ha 1 szót beírok 1 cellába akkor a teljes sor változzon zöld háttérszínre?

(#7830) Jarod1 válasza Ceree (#7826) üzenetére


Jarod1
addikt

nem .vcs kiterjesztéssel menti ki a programból?

(#7831) Delila_1 válasza Jarod1 (#7829) üzenetére


Delila_1
Topikgazda

A laphoz kell rendelned a makrót (lapfülön jobb klikk, Kód megjelenítése, a jobb oldalon kapott üres lapra másold be):

Private Sub Worksheet_Change(ByVal Target As Range)
Rows(Target.Row).Interior.ColorIndex = 4
End Sub

A fenti makró bármelyik cellába írt szövegnél zöldre festi a teljes sor hátterét. Ha azt akarod, hogy egy bizonyos oszlopba történt beírásra zöldítsen, akkor egy feltételhez kell rendelni a szín megadását.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then Rows(Target.Row).Interior.ColorIndex = 4
End Sub

Ez a makró csak akkor színez, ha a B (2.) oszlopba viszel be valamilyen értéket (szöveg, szám, dátum, logikai). A Target.Column értékével add meg a a megfelelő 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.

(#7832) Jarod1 válasza Delila_1 (#7831) üzenetére


Jarod1
addikt

big thanx, és ha bizonyos szóra zöldítsen csak azt hol tudom megadni?

(#7833) Delila_1 válasza Jarod1 (#7832) üzenetére


Delila_1
Topikgazda

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value="Bizonyos" Then Rows(Target.Row).Interior.ColorIndex = 4
End Sub

Ugyanez az oszlop megadásával együtt:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value="Bizonyos" And Target.Column= 2 Then Rows(Target.Row).Interior.ColorIndex = 4
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.

(#7834) Jarod1 válasza Delila_1 (#7833) üzenetére


Jarod1
addikt

kössz, viszont e szót egy program írja be 1 Xlt sablonba és így nem változik meg a színe pedig a szót beírja, ha kézzel beírom akkor változik a szín..valami ötlet?

(#7835) Jarod1 válasza Jarod1 (#7834) üzenetére


Jarod1
addikt

áh,, sikerült csak nagybetűvel kell írni, Big thanx!!!!! :R

(#7836) Delila_1 válasza Jarod1 (#7834) üzenetére


Delila_1
Topikgazda

Azt kell figyeltetni, aminek következtében a cella értéke felveszi a Bizonyos szót.
Pl. ha a B10 értéke akkor lesz Bizonyos, ha a C10-be beírsz egy 1-est, akkor a makró:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Value = 1 Then _
Rows(Target.Row).Interior.ColorIndex = 4
End Sub

Ebben most két új érdekesség van. Ha a feltételhez (IF) nem tartozik hamis ág (Else), akkor egy sorba írhatod a feltételt, és azt, hogy mi történjen, ha ez teljesül, nem kell End If-fel lezárni.
A másik, hogy a hosszúra sikerült sorokat meg lehet törni úgy, hogy egy szóköz után egy alsó kötjelet teszünk, és folytatjuk a következő sorban az utasítást. Jobban áttekinthető lesz a makró, nem kell hozzá görgetni a képernyőt. A fordító program, ami a Visual Basic-ből gépi nyelvre ülteti át az utasításokat, hogy értelmezhető legyen a gép számára, soronként fordítja az utasításokat. Ezeket a megtört sorokat 1 sorként értelmezi, egyszerre ülteti át gépi kódba. Nagyobb programoknál észrevehető a gyorsabb futás.

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

(#7837) GBandeee válasza Delila_1 (#7825) üzenetére


GBandeee
csendes tag

Szia Delila_1!

Nem, nem egy cellába szeretném írni a szöveget és a számot.
Összesen 2 oszlop és 5-6 sor (attól függően hogy hány gyümölcs van összesen).

Tehát még egyszer a kérés, kérdés:

- Van egy SZÖVEGES oszlop (tartalma változó lehet) van benne alma, dió, körte, barack, szilva, stb...

A kérésem a következő: Írja ki, hogy hány alma, dió, barack, stb... van benne a következő formában:

dió 12
alma 5
körte 3
barack 2
szilva 1

Lehetőleg amiből a legtöbb van az legyen legfelül és csökkenő sorrendben legyen alatta a többi.

Köszönöm! :)

(#7838) Delila_1 válasza GBandeee (#7837) üzenetére


Delila_1
Topikgazda

Szia GBandeee,

Szerintem ezt már rég megkaptad.
Küldd el a fájlt, mert úgy látom, nem tudunk zöldágra vergődni másképp.

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

(#7839) GBandeee válasza Delila_1 (#7838) üzenetére


GBandeee
csendes tag

Szia Delila_1!

Átküldtem az itteni email címedre az anyagot. Köszönöm a segítséget.

Bandeee

(#7840) bandus


bandus
veterán

sziasztok!

ismét hozzátok fordulok segítségért :) kellene nekem egy olyan makro, ami képes arra, hogy egy hosszú (~1000 soros) oszlop minden második cellájából kitörli az adatot, majd ezután törli az excel táblából azokat a sorokat, ahol a megüresedett cellák vannak, és így kapok egy összefüggő adatsort :)

köszönöm szépen előre is a segítséget :R

mod: jelen esetben ez a megoldás a páros sorokból töölné a cellát, majd a sort.

[ Szerkesztve ]

"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"

(#7841) bandus válasza bandus (#7840) üzenetére


bandus
veterán

basszus, látszik, hogy késő van... elég csak minden második sort kitörlő makro :)

"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"

(#7842) Fire/SOUL/CD válasza bandus (#7841) üzenetére


Fire/SOUL/CD
félisten

Hali!

Igen, jó meglátás, minden 2. sort kell törölni, vagy ha úgy tetszik a páros sorokat.
Itt egy CommandButton-hoz tartozik a makró, és az A oszlop alapján határozza meg az utolsó használt sor indexét. Ennek abban az esetben nincs jelentősége, ha minden oszlopban ugyanannyi sor van használatban.

Private Sub CommandButton1_Click()
Dim LastRow As Integer

Application.ScreenUpdating = False
LastRow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
If LastRow >= 2 Then
For i = 1 To LastRow \ 2
Rows(i + 1).EntireRow.Delete
Next i
Else: MsgBox ("Legalább 2 sort tartalmaznia kell az adott oszlopnak!")
End If
Application.ScreenUpdating = True

End Sub

Fire.

UI: Vigyázz, mert nem lehet visszavonni a műveletet! Szóval először egy másik táblán teszteld... ;]

[ Szerkesztve ]

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7843) bandus válasza Fire/SOUL/CD (#7842) üzenetére


bandus
veterán

bemásoltam, ahová kell, de egy expected end sub hibaüzenettel kidob :F

mod:
hatalmas programozói tudásommal megoldottam a dolgot :D

mindössze az első sort keleltt kitörölnöm, és tökéletesen működik. köszönöm a segítséged :R most kb. a tizedére csökkentetted az időt, amit a szakdolgozatomra kell szánnom :) :R

[ Szerkesztve ]

"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"

(#7844) Ceree válasza Jarod1 (#7830) üzenetére


Ceree
senior tag

Nem, nem abban a formátumban. Eleve xls-ben jön ki.

Hosszas bogarászás után rájöttem, hogy a nyanvadt pont és vessző angol-magyar nyelvben lévő különbözősége miatt volt a hiba. Kezelése így sem volt egyszerű, de sikerült.

Köszönöm!

Másolat_eredetije

(#7845) A_ScHuLcZ


A_ScHuLcZ
addikt

Függvénnyel kapcsolatban kérnék segítséget!

Nem én csináltam a táblázatot, csak nekem kellene kijavítani, hogy működjön rendesen. Röviden: 1 mező tárolja az aktuális dátumot, ez a B2.
Az A oszlopban találhatók napokra lebontva a dátumok, az E oszlopban a napi értékek %-ban. Eddig nincs is vele baj, viszont van egy F oszlopunk is, amelyben csak az aktuális dátumot tartalmazó sorban kell értéknek lennie (átmásolni az E-ben lévő értéket), az összes többi cellájának 0 kellene hogy legyen az értéke, és ezt nem hajlandó megcsinálni a HA függvény, kérdés hogy miért?

=HA(SZÖVEG($B$2;"TT.MMMM JJJJ")=SZÖVEG($A14;"TT.MMMM JJJJ");E14;0)
ez most épp a 14. sor, de értelemszerűen az A és E mezők számai változnak.

Ötletek? :F Se 2003 se 2007 alatt nem akar működni, és állítólag ott ahonnan kaptuk (ott 2003 van) működik, de csak állítólag... szóval fene tudja..

[ Szerkesztve ]

"I'd tell you a joke about UDP, but you probably wouldn't get it."

(#7846) A_ScHuLcZ válasza A_ScHuLcZ (#7845) üzenetére


A_ScHuLcZ
addikt

Azt elfelejtettem írni, hogy mit csinál a jó helyett, minden értéket átmásol... :/ Kerekíti egészre, ami még nem is lenne akkora baj (bár jobb lenne ha pontos értéket másolna), de hogy mindet másolja az viszont nagy baj...

"I'd tell you a joke about UDP, but you probably wouldn't get it."

(#7847) Fire/SOUL/CD válasza A_ScHuLcZ (#7846) üzenetére


Fire/SOUL/CD
félisten

Hali!

Ha ERRE gondolsz, akkor tedd ezt

1. A oszlop és B2 cella formázása Dátumra
2. E oszlop formázása Százalékra
3. F oszlop formázása Százalékra, majd jobbra igazítása
4. F1 cellába =HA(A1=$B$2;E1;SZÖVEG(0;"#0")), majd lemásolni ameddig szükséges.

Remélem jól értettem a feladatot. :U

Fire.

[ Szerkesztve ]

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#7848) A_ScHuLcZ válasza Fire/SOUL/CD (#7847) üzenetére


A_ScHuLcZ
addikt

Köszönöm a segítséget, a megoldásoddal rávilágítottál arra, hogy hol keressem a hibát, a feltételben megadott formátum volt a rossz, mivel a dátumozásnál egyénit használtak, így azt átírva oda már működik tökéletesen!

Még egyszer köszönöm a segítségedet! :)

[ Szerkesztve ]

"I'd tell you a joke about UDP, but you probably wouldn't get it."

(#7849) Azura


Azura
csendes tag

Sziasztok
Írtam egy makrot és nem tudom, hogy miért vijjog, ha elindítom.
A Vlookup-ot emeli ki, hogy az a hiba oka.
Elvileg a sheet2-n létre van hozva egy lista (Márka). Ezt a listát meghivatkozom a sheet1-en az a1-a5 cellákban és azt szeretném, hogy ha az elem nincs benne a listában, akkor a cella szane legyen kék.

Sub lista()
Cells.Interior.ColorIndex = 0
For i = 1 To 5
If IsError(VLookup(Cells(i, 1), Márka, 1, False)) = True Then
Cells(i, 1).Interior.Color = vbBlue
End If
Next
i = i + 1
End Sub

Úgy sikerült, hogy a B oszlopba beírtam a képletet (=ISERROR(VLOOKUP(A1;Márka;1;FALSE))) és akkor a következő makró működött:

Sub lista()
Cells.Interior.ColorIndex = 0
For i = 1 To 5
If Cells(i, 2) = True Then
Cells(i, 3).Interior.Color = vbBlue
End If
Next
i = i + 1
End Sub

Előre is köszi

(#7850) Sickboy25


Sickboy25
addikt

sziasztok

Két kérdéssel fordulnék hozzátok (nektek ez gyerekjáték lesz):

Adott egy táblázat, ami kiszámolja adott cellák értékeit és ezzel kapcsolatban kérdezném, hogy:

1. X hely van, tudok valamiféle hivatkozást csinálni, hogy az x hely közül nekem az első 3 vagy 5 legnagyobb értéket megjelölje különböző színekkel? Ezek folyamatosan változó értékek... Vagy csináljak inkább egy diagrammot?

2. Szeretném jelszóval levédeni, de csak a kijelölt oszlopokat, a többi módosítható legyen. Ezt nem sikerült, mert állandóan levédi az egész munkafüzetet...

Köszi a segítséget!

‎"Az élet olyan, mint az ásás. Néha hátráltat egy- két gyökér, de annak jól odab*szol ásóval, azt’ haladsz tovább!"X360 gamertag: sickboyhun

Útvonal

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