Hirdetés
- Kormányok / autós szimulátorok topikja
- ThinkPad (NEM IdeaPad)
- HiFi műszaki szemmel - sztereó hangrendszerek
- Azonnali fotós kérdések órája
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Házimozi belépő szinten
- TCL LCD és LED TV-k
- Fejhallgató erősítő és DAC topik
- Nem tetszik a PC-gyártóknak az Xbox új iránya?
- Apple MacBook
-
PROHARDVER!
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
-
lapa
veterán
...hmmm. sor minden cellája... szóval ha már pár ember volt olyan kedves, hogy megismertetett anno a vba-val azt hiszem az a legkevesebb, hogy próbálom átadni ugyanezt még több embernek.
a vba nem bonyolult, csak annak tűnik. rövid összefoglalás:
1 programkészítés:
1.1 bepipálod a menük közül a ''visual basic'' menüt.
1.2 megnyomod a ''rec'' gombot (mint a videón).
1.3 mentés mehet a tesztmunkafüzetbe.
1.4 csinálsz valami egyszerűt (pl egy cella kiszínezése).
1.5 megnyomod a ''stop'' gombot.
2 megtekintés:
2.1 a ''visual basic'' eszköztáron a ''visual basic editor'' gombra kattintasz.
2.2 az editorban baloldalt a könyvtárszerkezetben a tesztmunkafüzet alatt van ''modulok''. erre duplán kattintva jobb oldalon megjelenik a program, amit csináltál.
2.3 ha megnézed nem vészes (persze little english jól jön), kijelöli a cellát, majd a kijelölésen hajtja végre a műveletet.
2.4 az 1.1-2.3 lépéseket ismételve lehet nézkélődni, hogy milyen általad csinált dolgot hogyan rögzít. a leggyakrabban a kijelölt (selection) résszel foglalkozik.
3 továbbá
célszerű aktiválni az ''immediate window''-ot az editor ''view'' menüjében. az immediate ''azonnali'', egyszerű dolgokat helyben megcsinál. ha kérdezni szeretnél, csak rakj minden elé ?-et. pl. ?now kiadja az aktuális időt. hát nem tündéri?
a cellákat a makró általában vmi fix hivatkozással írja bele a programba. ezt én nem szeressem. sztem egyszerűbb ez:
cells(<sor>,<oszlop>).select ez kijelöli a megadott cellát.
cells(1,1).select ez pl. kijelöli az A1 cellát.
range(cells(1,1),cells(2,2)).Select a range használatával csak két végpontot kell megadni (a kijelölés itt A1:B2 lesz)
ezzel már jól lehet jelölgetni. ofkorsz a fentieket lehet próbálgatni az ''immediate'' ablakban, ezekhez nem kell ''?''.
a kijelölt részekkel nem sokra megyünk, ha sok cellán akarjuk ismételni a műveletet (pl. #321). persze néha elég az elején a kijelölt területet átírni (nem harap) de nem mindig. csinálhatunk ciklust (kicsit brute-force de legalább egyszerű). erre nagyon jók a cell hivatkozások. egy alap ciklus:
for i = 1 to 256
'legyen i betű amit használunk és egytől 256-ig vegyen fel egyesével növekvő értéket. 256 az oszlopok száma, tehát egy egész sor.
cells(1,i).select
'mindig kiválasztja i oszlop első sorát.
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:=''0'', Formula2:=''1''
Selection.FormatConditions(1).Font.ColorIndex = 6
'fenti két (három...) sorban egy feltételes formázást rögzítettem korábban. ha a cella értéke 0 és 1 között van, legyen sárga a cella. nem is fontos tudni, mi van odaírva, ha rögzítéssel (''rec'') csináltad tuti jó lesz.
next i
'utolsó sor, ez mondja meg a ciklusnak, hogy eddig tartott és most kezdje a mókát újra a következő i értékkel. i helyett (szinte) bármit használhatsz.
ha a fentieket bemásolod az immediate-be, akkor ha minden igaz egyből műxik is. persze itt a példában használt formázás mindig az aktuális cellára vonatkozik, de lehetne ilyen is:
Selection.FormatConditions.Add Type:=xlExpression, Formula1:=''=$A$2=4''
Selection.FormatConditions(1).Font.ColorIndex = 6
a fenti azt eredményezi, hogy ha az A2 cella értéke 4 lesz, akkor a formázott (bármelyik) cella besárgul. persze ezt is rögzítettem, a rák se tud ilyeneket kívülről.
sztem aki már képes arra, hogy a gyakran használt képleteit ne varázslóval rakja be csak beírja, annak fél órás munka a fentiek megértése és utána csak használni kell, jön magától. remélem mindent korrektül írtam és pár ember kedvet kap hozzá.
Új hozzászólás Aktív témák
- Microsoft és egyéb dobozos és OEM szoftverek
- PC Game Pass előfizetés
- PC Szervizeket, Gépépítőket keresek B2B szoftver partnerségre (E-számlával)
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- AKCIÓ! MSI Cyborg 15 A12VF FHD GAMER notebook - i5 12450H 16GB DDR5 512GB SSD RTX 4060 8GB
- Intel Core i3-8100/ i5-9500 / i7-8700 / i7-9700 /i5-10500T /i7-10700 processzorok- számla, garancia
- Honor Magic6 Lite / 8/256GB / Kártyafüggetlen / 12Hó Garancia
- Xbox Game Pass Ultimate kedvező áron, egyenesen a Microsoft-tól! - AUTOMATA BOLT
- HP EliteBook 830 G5 13,3" i7 8650u, 16GB RAM, SSD, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50
