-
Fototrend
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
-
zsotesz81
senior tag
válasz zsotesz81 #6640 üzenetére
Közben kicsit visszaolvastam, látom van itt minden.
Az volna a kérdésem, hogy VB-ben hogy kell hivatkozni excel cellára. Tehát azt hogy kell megírni, hogy HA L5<L6 akkor "esemény" egyébként "esemény".
Ill. hogy lehet írni olyan msgbox-ot aminek mondjuk van egy igen és egy nem gombja, nem-re történik semmi, igen-re pedig valamilyen esemény végrehajtódik. -
ulrik19
tag
válasz zsotesz81 #6646 üzenetére
tegyetek az összpontszámhoz egy korrekciós értéket:
pl: ha A1 az összpontszám, akkor =A1+sor(A1)/1000
majd a cellaformázásnál vegyétek le a tizedesjegyet (1000 helyett lehet bármi, de a lényeg, hogy a sorszám/1000 ne menjen 0,5 fölé)így ha lesz is két pl. 5 pontos, az egyik 5,001 a másik mondjuk 5,003 lesz (bár 5-nek fog látszódni mind a kettő), viszont az fkeres külön-külön fogja kiértékelni, "kerekítés" nélkül.
persze ha abból indulok ki, hogy lehet fél pont is, akkor úgy is lehet formázni a cellát, talán nem lesz akkor sem gond a korrekcióból, legrosszabb esetben 1000 helyett 10000-t tesztek bele
...az élet igazságos, mert pl. akinek rövidebb az egyik lába, annak hosszabb a másik...
-
ulrik19
tag
válasz zsotesz81 #6685 üzenetére
ha pontosan ennyiből áll a makró, akkor hiányzik a subrutin kezdete és vége (legalábbis a hibaüzenet erre enged következtetni. tehát:
Public Sub elrejtes()
ide jön a kódod
End Sub(a kód neve elrejtes lesz, persze ide bármi mást megadhatsz)
[ Szerkesztve ]
...az élet igazságos, mert pl. akinek rövidebb az egyik lába, annak hosszabb a másik...
-
félisten
válasz zsotesz81 #6690 üzenetére
Hali!
Hát nem tudom, hogy működhet "önmagában", de sebaj...
NEM Row, hanem Rows, módosítsd a megfelelő sorban és működni fog.
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)
-
félisten
válasz zsotesz81 #6692 üzenetére
Hali!
Szerintem csak túl sokat foglalkoztál az Excel-el, egy ideig ne foglalkozz vele, szellőztesd ki a fejed. Fáradtan/"zúgó aggyal" ugyanis egy s betű hiányát(Row vs. Rows) már nem veszi észre az ember, csak szenvedés van...
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)
-
Delila_1
Topikgazda
válasz zsotesz81 #6694 üzenetére
Beírod a neveket, és az Űrlap eszköztárról teszel melléjük 10 jelölőnégyzetet.
Mindegyikhez megadod a cellacsatolást: F2, F4 ... F20. Ezeknek a betűjét írhatod a háttér színével.
Az F1-be írod a felosztandó összeget, a D2-be pedig az ábrán látható képletet, amit lehúzol a D20-ig.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
válasz zsotesz81 #6713 üzenetére
Ez a furcsaság az Excel logikájából fakad. A False a 0 megfelelője. Ezért van például, hogy az FKERES függvénynél akkor keres pontosan, ha az utolsó paramétere False, Hamis, vagy 0.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
félisten
-
félisten
válasz zsotesz81 #6750 üzenetére
Hali!
Ez a kód mindig kilép a legelső "All in"-t tartalmazó cellánál és bezáródik a form. Végig kell szaladni az adott cellatartományon és letárolni, hogy melyik cellákban van All in.
Ehhez alkalmazz tömböt.[link]
Egy megoldási(több elven megoldható) eljárás: A tömböt az elején kinullázod, a for ciklusban meg a megadott indexet eltárolod a tömben. a döntetlenallin szubrutinban meg ezen tömb alapján dolgozol.
(ami nem nulla, ott allin van, ha csak 1 nem nulla van, akkor nyilván senki nem fogadta el az allin-t, ha 2 vagy több akkor meg igen.)Fire.
UI: ma már ennek a gyakorlati kivitelezésében nem biztos hogy tudok segíteni konkrétan(csak este vagy holnap), de más egész biztosan.
[ 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)
-
Delila_1
Topikgazda
válasz zsotesz81 #6767 üzenetére
1.
Sub maksz()
Cells(2, 1) = Application.Max(Range("D5:D14"))
End Sub2. Ezt ahhoz a laphoz kell rendelned, ahol a bevitt adatot akarod figyeltetni. Vagy a lapfülön jobb klikk, és kód megjelenítésére, vagy a VBE-ben a munkalapon duplaklikkre jön elő a szerkesztő felület.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$1" And Target.Value > Cells(2, 1) Then
MsgBox "Hibás adat"
Cells(1, 6).Select 'itt visszaállítom az F1-re a bevitel helyét
End If
End SubAz F1-be bevitt adatot ellenőrzi, és az A2 értékével hasonlítja össze.
Ha nem egyetlen cellába történő bevitelt, hanem mondjuk az F oszlop bármelyik celláját kell figyeltetni, akkor a feltételif target.column=6 and ...
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Badb0y
addikt
válasz zsotesz81 #6772 üzenetére
Ezaz
És több ha fv-t hogy lehet megadni egymás után, mert azt akarom, hogy ha pl amit írtál, akkor c2, de ha nem teljesül akkor már más, és nem csak 2 argumentum, hanem több.
Valami ilyesmire gondolok, =HA(B1="karakter";C2) vagy =HA(B1="karakter3";C21) vagy ....
Vaggyal kellene tagolni, vagy valami más módon ?
Minőségi laptopok https://notebookokhu.business.site/
-
Badb0y
addikt
válasz zsotesz81 #6775 üzenetére
Basszus, nem lehet számomra elég HA-t használni. Olyan 50 db kellene egymásban, de nem engedi excel
Mit lehet tenni ?
Amit akarok egyébként, hogy vannak megnevezések, és ha egy megnevezés megegyezik az általam megadottal, akkor egy másik cellában levő képlinket másolja be abba a cellába, ahol a fv-t írom. Ezt szeretném elérni, de úgy nézem HA olyan 20 után már kiakad, de lehet alatta.
Vagy az mégjobban megkönnyítené a dolgom, ha egy tartományban tudna keresni, mert a kép neve szinte ugyanaz mint a megadott minta neve, csak kisbetű és - -val van elválasztva. De ha a trtományban hasonlót találna, akkor 100% jó lenne.
[ Szerkesztve ]
Minőségi laptopok https://notebookokhu.business.site/
-
félisten
-
félisten
-
félisten
válasz zsotesz81 #6801 üzenetére
Hali!
Legegyszerűbb a form + image objektum. Ilyen "apróságokon" meg nem kell fent akadni(png-t nem kezeli), mert csak az időt viszi. Meg kell nézni mit kezel, aztán konvertálás, aztán hajrá!
(Megfelelő konvertáló progival(ami csoportosan/batch módban dolgozik) pillanatok alatt megvan az ember)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)
-
félisten
válasz zsotesz81 #6803 üzenetére
Hali!
Variációk egy témára
Private Sub CommandButton1_Click()
MsgBox ("A játékot xy nyerte" & Chr(13) & "Gartulálunk")
MsgBox ("A játékot xy nyerte" & vbCrLf & "Gartulálunk")
MsgBox ("A játékot xy nyerte" & vbCrLf & _
"Gartulálunk")
End Subchr(13) -> Carriage Return (CR)-> Egy sorral lejebb
chr(10) -> Line Feed (LF)-> Adott sor elejére ugrás
(Ez DOS-ban a sor elejére vitte a kurzort illetve a nyomtatáskor is volt(van) szerepe
vbCrLf -> VBA konstans a CF és a LF egyben
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)
-
félisten
válasz zsotesz81 #6809 üzenetére
Hali!
Igen.
ActiveSheet.Unprotect ("jelszó")
ActiveSheet.Protect ("jelszó")Részletesebben meg úgy, ahogy Delila_1 írta, használd a súgót vagy a netet a témakörben.
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)
-
WildBoarTeam
aktív tag
-
Delila_1
Topikgazda
válasz zsotesz81 #6817 üzenetére
Mi van a C5, C6, D5, és D6 cellákban?
A hibaüzenet arra enged következtetni, hogy különböző típusú adatokat (pl. számot szöveggel, vagy dátummal, esetleg logikai értékkel) akarsz összehasonlítani.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz zsotesz81 #6825 üzenetére
Azért ugrik oda, mert a laphoz rendelt makró figyeli, mi változik a lapodon. Minden változáskor lefut, de csak akkor ír ki valamit, ha a feltételekben megírtak közül valamelyik létrejön.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz zsotesz81 #6828 üzenetére
A 6825-ben írtak helyett ezt vidd be:
Range("N5").Copy
Range("C5").PasteSpecial Paste:=xlPasteValues
Range("M6:M14").Copy
Range("C6").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Range("C15").SelectEgyébként ha konvertálatlan módon küldöd a hozzászólást, nem vigyorognak bele az ugra-bugrák.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
zsotesz81
senior tag
válasz zsotesz81 #6830 üzenetére
Kipróbáltam, úgy hogy soronként másoljon:
Range("N5").Copy
Range("C5").PasteSpecial Paste:=xlPasteValues
Range("M6").Copy
Range("C6").PasteSpecial Paste:=xlPasteValues
.
.
.
Range("M14").Copy
Range("C14").PasteSpecial Paste:=xlPasteValuesÍgy megcsinálta, legalábbis a számolást, viszont most a tétek törlésénél bukik meg,
ahol szintén nagyobb tartomány (D5:D14) van egyben megadva. Lehet, hogy ezekkel nem tud mit kezdeni?[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz zsotesz81 #6940 üzenetére
1. 2003-as verzióban a lapfüleket eltüntetheted az Eszközök/Beállítások/Megjelenítés fülön, ahol az ablakjellemzők csoportban kiveszed a jelölést a Munkalapfülek elől. A parancs megírása a váltáshoz biztosan nem okoz problémát, de akár hiperhivatkozással is közlekedhetsz a lapok között.
2. Egy másik cellában összegezheted az eddig beadott, és a most beírt értéket a Change esemény kezelésével.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
félisten
válasz zsotesz81 #8040 üzenetére
Hali!
Példa: adott 2 form
UserForm1(ezen van ListBox1 és CommandButton1)
UserForm2(ezen van TextBox1 és CommandButton1)Így jeleníted meg a UserForm2-t, UserForm1-ről
Private Sub CommandButton1_Click()
UserForm2.Show vbModal
End SubÍgy adod hozzá a TextBox1 szövegét, a UserForm1-en található ListBox1-hez, majd bezárom a UserForm2-t
Private Sub CommandButton1_Click()
UserForm1.ListBox1.AddItem (TextBox1.Text)
Unload Me
End SubFire.
[ 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)
-
félisten
válasz zsotesz81 #8043 üzenetére
Hali!
Már úgy érted, hogy minden induláskor előre meghatározott elemekkel induljon, vagy azt is vegye figyelembe, amit pl a Textbox-ból hozzáadtál?
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)
-
félisten
válasz zsotesz81 #8045 üzenetére
Hali!
Az a lényeg, hogy a listboxban bekövetkezett változások mentésre kerüljenek(nem csak a hozzáadás, hisz szükség lehet a listboxból kitörölni is eleme(ke)t).
Több módszer is lehetséges pl külső munkafüzetben, külsö fájlban(pl egy TXT fájlban) vagy egy másik munkalapon(talán ez a legegyszerűbb és célszerűbb is)Melyik legyen?
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)
Új hozzászólás Aktív témák
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.
- Windows 10 Home COA fizikai licencek kiárusítás ingyenes szállítással
- Microsoft licencek a KIVÉTELES ÁRAK - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.