- Milyen egeret válasszak?
- Kormányok / autós szimulátorok topikja
- Samsung LCD és LED TV-k
- Milyen házat vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Projektor topic
- Bambu Lab 3D nyomtatók
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Méretes és széles gaming monitorral bővült az MSI kínálata
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
-
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
-
-
zsotesz81
senior tag
válasz
Fire/SOUL/CD
#6798
üzenetére
Clipart képet hogy lehet formba beszúrni? Az image vezérlővel próbáltam de az nem tudja a png-t kezelni.
-
-
zsotesz81
senior tag
Olyat lehet csinálni, hogy egy msgbox-ba clipart vagy saját képet beszúrni? Vagy ehhez külön form kell?
-
sanyixXx
senior tag
hali!
van nekem egy névsorom és a nevekhez tartozik mindenféle adat. ez mind külön oszlopokban van. hogyan tudom megcsinálni, hogy az neveket abc rendbe rendezzem úgy, hogy velük együtt az adataik is rendeződnek a megfelelő sorrendbe?
köszi előre is!
-
Badb0y
addikt
No, amint meló vége kipróbálom ezt a rengeteg haszbos infót.
Köszönöm előre is
-
DJ.Gróf
aktív tag
Sziasztok!
Segítségre lenne szükségem.
Van lehetőség az excelbe úgy képet rakni egy cellába, hogy ott legyen kicsiben, de ha pl ráállok az egérrel vagy rákattintok akkor adja ki nagyban is a képet.
Köszönöm!
-
Delila_1
veterán
Itt van nagybetűsen, és szóközökkel az előbbi.
Sub tipus_1()
Dim sor As Integer
Dim b As Integer
Dim szoveg As String
Sheets("DB").Select
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
szoveg = Left(Cells(sor, 2), Len(Cells(sor, 2)) - 4)
For b = Len(szoveg) To 1 Step -1
If Mid(szoveg, b, 1) = "/" Then
Cells(sor, 3) = Mid(szoveg, b + 1)
Cells(sor, 1).FormulaR1C1 = "=UPPER(SUBSTITUTE(RC[2],""-"","" ""))"
Exit For
End If
Next
Next
Columns("A:A").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Columns("C:C").Select
Selection.ClearContents
Application.CutCopyMode = False
Cells(1).Select
End Sub -
Delila_1
veterán
Nagyon jó, amit Fire írt, de ahhoz, hogy minden laptophoz a saját képe jöjjön be, előbb le kell futtatni az alábbi makrót:
Sub tipus()
Dim sor As Integer
Dim b As Integer
Dim szoveg As String
Sheets("DB").Select
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
szoveg = Left(Cells(sor, 2), Len(Cells(sor, 2)) - 4)
For b = Len(szoveg) To 1 Step -1
If Mid(szoveg, b, 1) = "/" Then
Cells(sor, 1) = Mid(szoveg, b + 1)
Exit For
End If
Next
Next
End SubEz a DB lap B oszlopából (URL címekből) előállítja az A oszlopban az egyenként választható típusokat. Igaz, csupa kisbetűs név lesz, nem az eredeti mutatós Dell Adamo 13, hanem dell-adamo-13-laptop.
Biztosan ki lehetne csicsázni, kérdés, hogy megéri-e. Sok sornál jó hosszú időbe telik. -
Hali!
Azt hittem jön megoldás, ezért kivártam, de hiába, azért Húsvét van.

Na akkor ahogy én oldanám meg ezt a feladatot(csak javaslat, nem kötelező betartani)
![;]](//cdn.rios.hu/dl/s/v1.gif)
Két munkalapom van, Lista és DB névvel.
# Lista munkalap: "A" oszlopban minden cellán, lenyíló listából választható az adott termék. "B" oszlop üres, de csak azért, hogy a lenyíló menü nyilacskája ne zavarjon be(vizuálisan) "C" oszlopba. "C" oszlopban jelenik meg, a kiválasztott termékhez tartozó link.
# DB munkalap: "A" oszlopban a termékek, "B" oszlopban a hozzá tartozó link
Megoldás lépésről-lépésre
1. DB munkalapon "A" és "B" oszlopok feltöltése adatokkal
2. DB munkalapon "A" oszlop kijelöl és Tartományként elnevez, esetünkben LAPTOPOK néven: [link]
3. DB munkalapon "A" és "B" oszlop kijelöl és Tartományként elnevez, esetünkben LAPTOPOK_ES_URL néven(Eljárás ugyanaz mint a 2. pontban)
4. Lista munkalapon "A" oszlop kijelöl, Adatok csoport/Érvényesítés LENYÍLÓ/Érvényesítés..., többi a képen: [link]
5. Lista munkalapon C1 cellába beírni a következő képletet
=HIPERHIVATKOZÁS(FKERES(A1;LAPTOPOK_ES_URL;2;HAMIS);"Kép a termékről")És ennyi lenne. (Excel 2007-ben készült)
Fire.
-
Hali!
Macskaköröm? LOL, na Te jó adattitkosító lennél, mert ebből szerintem senki ebben az életben nem jött volna rá, hogy az macskaköröm.

Nem írom le a megoldást a kereséssel, mert szerintem, mire ezt a HSZ-t befejezem, Delila_1 vagy Ulrik19 vagy ha benéz "hirtelen" Fehér Mancs akkor addigra már meglesz.
Egy elvet ecsetelnék röviden, ami nem a kereső fx-re épül, de talán ebből is lehet tanulni valamit. Szóval egy saját függvényt kellene készíteni, ami a laptopok nevéből legyártaná, a linket(URL-t). Pl úgy, hogy a laposok nevéből a szóközöket _ karakterrel helyettesíti, illetve (mivel szerveren vagyunk) ezért kisbetűsre alakítja és ugyanazon sor megfelelő oszlopába beírja. Így ha módosítod a laptop nevét, akkor automatikusan generálódik a letöltési link.
Persze ennek ez is a hátránya egyben, mert ha módosítani kell a laptop nevén, akkor egyből új fájlnévvel azt fel is kell tölteni a szerverre, a korábbi néven szereplő képet meg törölni(ne foglalja feleslegesen a helyet)Persze ez csak egy elv, és csak azért írtam, hogy több szempont alapján és más-más módszerekkel is megoldható egy feladat, mindig mérlegelni kell,(és pontosan tudni), hogy mit akar megvalósítani az ember.
Na de visszatérve a feladathoz. Ebben a formában a "hagyományos" kereső szolgáltatások "nehézkesen" (vagy talán nem is) alkalmazhatóak, hisz semmi nem utal a laptopok nevére a linkben, még rész sztringet sem lehet keresni, ezért nincs mit megtalálni ebben a formában. (Szerintem)
Fire.
-
Badb0y
addikt
Az macskaköröm volt szimbolizálva

Itten a példa.
-
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#6782
üzenetére
Azt hittem,csak nekem lila.

-
Hali!
Hát én kíváncsian várom Delila_1 válaszát(vagy másét), hogy ki mit értett meg ebből, bevallom tippem/elképzelésem van a dologgal kapcsolatban, de ezzel nem tudok megbirkózni: "inspiron laptop ----||--------- ----------||----------------"
Mi ez? "...paróka, szobafestő pemzli, egyujjas kifordított bundakesztyű vagy papucs orrán pamutbojt"...
Meditáltam rajta, de nem tudom az mi az...Már kínomban "elpusztítottam" 2 csokinyulat, de nem segített...

Fire.
-
Badb0y
addikt
Ok, konkrétumot írok, mert valszínű ezt nem fogom tudni megcsinálni.
name_hu image képlinkeket_tartalmazó_oszlop
dell adamo 13 laptop ide kell megtalálja a képet innen kell megtalálja a képet
inspiron laptop ----||--------- ----------||----------------az innen kell megtalálja a képet, az kb ez 160 soros tartomány. ja és a link
maga a link így néz ki: www..../dell-adamo-13-laptop.jpgnagyjából érthető, ha nem leírom máshogy.
-
Hali!
Csak a legutolsó 2 HSZ-t kellett volna elolvasnod, abban pont arról van szó, hogy mit lehet tenni, ha túl sok feltételt kell egybeágyazni, ezáltal "kilométeres" a cellában lévő kód.
![;]](//cdn.rios.hu/dl/s/v1.gif)
Szerk
Nagy valószínűséggel kivitelezhető lenne úgy is...Csak ahhoz pontosan kell tudni, mit szeretnél megvalósítani...Fire.
-
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.
-
-
rdi
veterán
Üdv,
van egy ilyen csúnya egymásba ágyazott ha fv -em:
=HA(I3>19;25000;HA(I3>9;15000;HA(I3>0;10000;5000))))kiváltható ez valahogyan?
Mi van, ha nagyon sok intervallum van és ezért rengeteg ha?
Fkeres és segédtábla segítségév el persze megoldottam, de érzésem szerint az gány megoldás. -
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 ?
-
Badb0y
addikt
válasz
Fire/SOUL/CD
#6749
üzenetére
Köszönöm, sikerült

Viszont még egy kérdésem vetődött fel.Azt kellene valahogy megoldani, hogy van egy karaktert tartalmazó cellám, és valami HA függvény kellene, amivel:
ha a cella = valami karakter, akkor másolja bele egy másik cella tartalmát.
Létezik ilyen?
-
Delila_1
veterán
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 ...
-
zsotesz81
senior tag
Két kérdésem lenne:
1.: excel függvényekre hogy lehet hivatkozni makróval?
Pl. ezt hogy lehet leírni: A2-es cella legyen egyenlő MAX(D$5
$14).
2. cellákra lehet valami érvényességi szabályt adni? Pl. beírok a cellába egy értéket és ha az nagyobb mint egy másik cellában lévő érték akkor mondjuk adjon egy hibaüzenetet -
mr.nagy
tag
válasz
Fire/SOUL/CD
#6765
üzenetére
Szia!
Valóban négyzet alakú képekkel dolgoztam, így nem jött elő. Kipróbáltam téglalap alakú képpel is, úgy már látszott. Így módosítottam is a kódot!

Köszönöm, hogy segítettél!

-
válasz
mr.nagy
#6764
üzenetére
Hali!
Majdnem...
![;]](//cdn.rios.hu/dl/s/v1.gif)
Függőleges igazításnál a cella ill. kép magasságával kell számolni, ami mindkét esetben a Height nem pedig a Width.
Persze ha a kép szélessége és magassága azonos, akkor nem jön ki a hiba.
![;]](//cdn.rios.hu/dl/s/v1.gif)
(meg akkor sem, ha a cella magassága(sormagasság) kisebb, mint a kép magassága)Fire.
-
mr.nagy
tag
válasz
Fire/SOUL/CD
#6763
üzenetére
Szia!
Nagyon köszönöm!
A házi feladatot így oldottam meg:
Private Sub CommandButton1_Click()
Sheets("tábla").Activate
Dim myPic As Object
Set myPic = Sheets("tábla").Pictures.Insert(Sheets("adatok").Range("C1"))
myPic.Left = Sheets("tábla").Range("C5").Left + ((Sheets("tábla").Range("C5").Width - myPic.Width) / 2)
myPic.Top = Sheets("tábla").Range("C5").Top + ((Sheets("tábla").Range("C5").Width - myPic.Width) / 2)
End Sub -
válasz
mr.nagy
#6762
üzenetére
Hali!
Private Sub CommandButton1_Click()
Dim myPic As Object
Set myPic = ActiveSheet.Pictures.Insert(Range("A1"))
myPic.Left = ActiveSheet.Range("F1").Left + ((ActiveSheet.Range("F1").Width - myPic.Width) / 2)
myPic.Top = ActiveSheet.Range("F1").Top
MsgBox (ActiveSheet.Range("F1").Width)
End SubEbből adódóan házi feladat, hogy hogy lehet függőlegesen is középre igazítani.
(A példa alapján nem jelenthet gondot)Fire.
-
mr.nagy
tag
válasz
Fire/SOUL/CD
#6761
üzenetére
Hú, nagyon hálás vagyok!

Még annyit segíts, hogyan tudom a cella közepére pozícionálni a képet. Tehát az adott cellának ne a bal felső sarkáhozigazodjon, hanem a cella kőzépontjához igazodjon a kép közepe.
-
mr.nagy
tag
válasz
Fire/SOUL/CD
#6757
üzenetére
Szia!
Kipróbáltam, ahogy leírtad úgy működik is. Azonban ha cellából akarom a hivatkozást hozzáadni akkor nem. Mit rontok el? Így próbáltam:
Private Sub CommandButton1_Click()
Dim myPic As Object
Set myPic = ActiveSheet.Pictures.Insert("A1")
myPic.Left = ActiveSheet.Range("C5").Left
myPic.Top = ActiveSheet.Range("C5").Top
End SubEgyébként azt meglehet oldani, hogy ha mondjuk az A oszlopban több URL található akkor automatikusan mindhez jelenítse meg a képet?
-
mr.nagy
tag
válasz
Fire/SOUL/CD
#6757
üzenetére
Köszönöm! Holnap kipróbálom, boldogulok e vele.
-
válasz
mr.nagy
#6756
üzenetére
Hali!
Ez az elv, ha egy adott cellában lévő linkre hivatkozol, akkor alakíts a makrón(nem nehéz). Ebben a példában azt tanulhatod meg, hogy hogy kell netről megnyitni egy (ebben az esetben) képet és azt hogy kell pozicionálni(itt A1 cellához van igazítva)
Private Sub CommandButton1_Click()
Dim myPic As Object
Set myPic = ActiveSheet.Pictures.Insert("http://www.prohardver.hu/dl/faces/c14.gif")
myPic.Left = ActiveSheet.Range("A1").Left
myPic.Top = ActiveSheet.Range("A1").Top
End SubFire.
-
mr.nagy
tag
Sziasztok!
Excel 2003-ban azt meglehet e csinálni, hogy egy internet linken található kép megjelenjen kép ként a táblázatban?
Táhát azt szeretném ha egy cellába beírom az URL-t akkor egy mellette található cellába jelenítse meg az URL-en található képet.
Előre is köszönöm!
-
Delila_1
veterán
válasz
Forza_JUVE
#6754
üzenetére
A B13 képlete:
=SZUMHA(B1:B10;A13;A1:A10) -
Forza_JUVE
aktív tag
Sziasztok!
1 kis segítséget szeretnék kérni függvényekkel kapcsolatban.
Van 1 ilyen egyszerű tábla:
Milyen képlettel tudom megmondani neki, hogy adja össze az 1. oszlop azon értékeit, ahol pl. A adatot talál a 2. oszlopban. (jelen esetben 22-t szeretnék eredményül kapni)
Egyesével végigkattintgatva közéjük + jel .. ezt vágom, csak a tábla ahol kéne a képlet, ennél sokkal nagyobb.Köszi előre is.
Üdv!
-
zsotesz81
senior tag
válasz
Fire/SOUL/CD
#6752
üzenetére
ÁÁÁÁ saját magam szivattam. Nem kell az else ág, az a rész külön kell a next után

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

-
zsotesz81
senior tag
Nincs valami step by step mód?
-
zsotesz81
senior tag
válasz
Delila_1
#6746
üzenetére
Szia!
Ez sajna csak részben működik úgy ahogy szeretném. Azt vettem észre, hogy akkor fut le jól a kód ha rögtön az első játékosnál szerepel az all in. Ha mondjuk a 2. és 3. játékos között van döntetlen (all in mellett) akkor olyan mintha símán kihagyná a for ciklust és számolna úgy ahogy egyébként akkor kell ha nincs all in. Így néz ki a kód:
For i = 5 To 14
If Cells(i, 16) = "All In" Then
Call döntetlenallin
Unload Me
Exit Sub
Else
Cells(1, 9) = Cells(1, 8) / pipaszam
Call döntetlenszamolasEnd If
NextValami 5let?
-
Hali!
Magyarul el akarod tüntetni a cellá(k)ból a képleteket úgy, hogy csak a képlet által generált érték maradjon...Ha igen, akkor egyszerűen megoldható.
Kijelölöd a szükséges cellá(ka)t(lehet egész oszlop stb), jobb egér, másolás, ismét jobb egér, irányított beillesztés, csak értéket válaszd
Vigyázz, mert ha így csinálod, akkor "saját magára" másol, a képletek elvesznek. Értelem szerűen, a kijelölés/jobb egér/másol után kijelölhetsz másik helyet is a celláknak, akkor oda kerülnek az értékek az irányított beillesztés után.Fire.
-
Badb0y
addikt
Meg lehet azt oldani, ha ven egy cellám, aminek az értéke valamiből ki lett számolva, tehát az értéke nem 534 hanem pl =($e4+$e5) ugye a tartalma, hogy megtartsa a számot hívatkozás nélkül ? Tehát a cellában amikor ráállok ne ez legyen hogy =($e4+$e5) hanem csak a szám amradjon meg. Nem tudom érthető-e.
Ugye megolldható, mert ha nem hülyét kapok

-
Delila_1
veterán
válasz
WildBoarTeam
#6741
üzenetére
A visszafelé haladó ciklusnál meg kell adni azt, hogy csökkenjen a ciklusváltozó értéke.
Ez most független az előbbi feladatodtól:for i=20 to 5 step-1
A lépésszámot növekvőnél is megdhatod, ha pl. minden 5. sorban kell valamit végrehajtanod:
for sor=2 to 80 step 5
Csökkenőnél: for sor=80 to 2 step-5
-
zsotesz81
senior tag
Makróval azt hogy lehet leírni, hogy ha a P5-P14 közti cellák valamelyike egyenlő "all in"-el akkor esemény?
Ill. excel függvényekre hogy lehet hivatkozni makróval?
Pl. ezt hogy lehet leírni: A2-es cella legyen egyenlő MAX(D$5
$14). -
WildBoarTeam
senior tag
válasz
Fire/SOUL/CD
#6743
üzenetére
Na mire beírtam az előző hsz-t, már jött is megoldás, miért fut hibára.((6740#) ulrik19) köszönöm.

Igen Fire tényleg erre gondoltam.
Csak először még nem igazán gondoltam át hogyan is kellene neki működni (de hát addig próbálgatja az ember, amíg meg nem unja, vagy meg nem oldja).
Delila_1 segített sokat a makróknál egy régebbi feladat kapcsán és miatta kezdtem beleásni magam jobban a VBA-ba, csak még az "elején" vagyok és sok megoldást még én sem ismerek...
Köszönöm.
-
válasz
WildBoarTeam
#6741
üzenetére
Hali!
Akkor összefoglalom, adott egy munkafüzet benne 9 darab FIX munkalappal az elején(ezek indexe 1-től 9-ig van). Ezek állandóak, nem törlődnek. Ezen felül létrehozol különböző számú munkalapot, amik nyilván a 10-es indextől kezdődnek. Az a feladat, hogy a 9 FIX munkalapon felül az összes munkalap törlése kerüljön, számától, nevétől függetlenül.
Ha ez a szitu, akkor csak egy minimális változtatás a korábbi kódon és kész
Private Sub CommandButton1_Click()
start_sheets = 10
Sheets(start_sheets).Select
Application.DisplayAlerts = False
For i = start_sheets To Sheets.Count
ActiveSheet.Delete
Next i
Application.DisplayAlerts = True
End SubFire.
-
válasz
ulrik19
#6740
üzenetére
Hali!
Jogos és logikus észrevétel, de megoldható for - next ciklussal is(persze ha ez/így kell WildBoarTeam-nek)
Private Sub CommandButton1_Click()
start_sheets = 2
Sheets(start_sheets).Select
Application.DisplayAlerts = False
For i = start_sheets To Sheets.Count
If ActiveSheet.Name = "Vége" Then
Exit For
Else
ActiveSheet.Delete
End If
Next i
Application.DisplayAlerts = True
End SubMeg kell adni, a kezdősheet indexét(lehet ezt is módosítani persze), a ciklus végig szalad kezdőindex-től a Sheetszámlálóig és törli(nem kérdez), ha menetközben megvan a "Vége" nevű Sheets, akkor kiugrik a ciklusból.
Az teljesen jó meglátás volt, hogy úgymond törlés után "balra elmozdulnak" a lapok, és más indexet kapnak, épp ezért törlöm(dolgozom) mindig az aktuális sheets-el, merthogy az lép a helyébe.
Fire.
-
WildBoarTeam
senior tag
válasz
Fire/SOUL/CD
#6739
üzenetére
Köszi a DisplayAlerts-t.

Viszont nekem az lenne a lényeg, hogy ne fixen 14 legyen a vége.
Ami állandó, hogy van 9 lapom, ami kell. Ezek adataiból készítek még lapokat (+5-7db lapot), amik használatuk után már nem kellenek, és ezeket akarom törölni.
Szóval azt szeretném valamilyen formában elérni, hogy az utolsó állandó lapom, ami a 9. lap (pl: "Adat" névvel) utáni lapokat (ezeknek a száma változó) törölje. Viszont a vege változónak, hogyan adom be az utolsó lap indexének értékét?
Főleg, ha nem tudom a nevét a lapnak....
Amúgy jó megoldás a For-Next rá? Ha jól tudom a For-Next a kezdő értéktől megy a záróig, de azt nem tudom, hogy itt mindegy-e, hogy a kezdő nagyobb-e a zárónál
például ez helyes?:
For lap = 14 To 10
....
Next
vagy csak így jó?.
For lap = 10 To 14
....
Next
Ara rájöttem, hogy nekem nem jó az alsó verzió, mivel minden ciklusban növeli a lap értékét 1-el viszont közben csökkennek törlés után a lapfüleim is.Lehet az kellene, hogy mindig az utolsó lapot jelölje ki és törölje, amíg el nem éri az "Adat" lapot... na még gondolkodok...

-
ulrik19
tag
válasz
WildBoarTeam
#6738
üzenetére
A for ciklusnál a törlés azért lehet problémás, mert ha törlöd pl. a 10-est, akkor a "helyébe lép" a 11-es. (Hiszen így is marad a sorban 10 elem). Mivel ezután Te a 11-est törlöd (for ciklus), értelemszerűen újabb előrecsúszás lesz. Vagyis mire a 14-hez érnél, már nincs is 14-es a korábbi törlések miatt.
1) for ciklus, de visszafelé (pl. sheets.count megadja elvileg a munkalapok számát)
2) while ciklus -
válasz
WildBoarTeam
#6738
üzenetére
Hali!
1 .A törlést rakd a DisplayAlerts True/False "közé"
Application.DisplayAlerts = False
Sheets(Sheet_Neve).Delete
Application.DisplayAlerts = True2. A ciklusban indexel is lehet hivatkozni a Sheets-re, mint ahogy teszed is. Az aktuális Sheets neve is lekérhető, értelemszerűen ha a neve "Vége", akkor kilépsz a ciklusból.
Fire.
-
WildBoarTeam
senior tag
Üdv!
Makróban, hogyan tudom megírni úgy több lap törlését, hogy...
1. ne kérdezze meg mindegyik után, hogy törlöm-e.
2. és másrészről a lapok végéről addig töröljön, amíg el nem ér pl. a "Vége" nevű lapig. (a törölni kívánt lapok száma változhat, viszont az utolsó lap, ami még kell, az a 9.)ilyesmire gondoltam elsőre, de a 3. lap törlése után hibára fut:
vege = 14
For lap = 10 To vege
Sheets(lap).Select
ActiveWindow.SelectedSheets.Delete
'ide kellene az a rész, ahol igen-t mond a törlés megerősítésre.
NextAz itt a másik baj, hogy ez csak fixen 5 lapot töröl(ne), így gondoltam arra is, hogy a vége értékének az utolsó lap számát adom, de nem tudom hogyan...

Előre is köszi.
-
Hali!
Itt képben(kicsit másképp) a feltételes formázás, amit Ulrik19 is javasolt
(Annyiban más, hogy nem kell cellaszínt alapban beállítani)A régebbi Excelben(tényleg régebbiben pl Excel 97) nem kellett feltételes formázás elég volt ennyi pl =HA(A1<=MA();PIROS;ZÖLD)
Sajnos(vagy nem sajnos) az újabbakban csak a feltételes formázás marad, vagy saját függvény készítése.Fire
-
Imy
veterán
Sziasztok!
Hogyan lehet azt megcsinálni, hogy ha egy adott egy cella, egy dátummal. Ha a dátum régebbi, vagy egyenlő a maival akkor pl. legyen piros, a dátum későbbi mint a mai, akkor pedig legyen zöld. -
Lackó86
tag
válasz
Fire/SOUL/CD
#6733
üzenetére
köszi!
-
válasz
Fire/SOUL/CD
#6732
üzenetére
Az a "[/M]"nem kell persze, csak sikerült kiakasztanom a PH szerkesztőjét...

Fire.
-
Lackó86
tag
Sziasztok!
? a következő:
Egy számsorból (oszlop), kiválasztani egy adott számhoz legközelebb eső számot (cellát)!pl.: 1
2
3
4
5
Szóval ezekből pl. 2,2 höz mi esik a legközelebb? (és ezt egy cellába kiírja)
Mint tudjuk h 2 höz
Előre is köszi!
üdv.: Lackó!
-
zsotesz81
senior tag
válasz
Fire/SOUL/CD
#6728
üzenetére
köszöntem
-
Fehér Mancs
tag
válasz
WildBoarTeam
#6722
üzenetére
szerk
-
-
zsotesz81
senior tag
#6714-re nem tudtok valami megoldást?
-
Lackó86
tag
Ha írnátok egy könyvet azt hiszem meg is venném!

-
Lackó86
tag
válasz
Fire/SOUL/CD
#6724
üzenetére
Köszönöm ! Nektek!
Örülök, h még vannak Jófej emberek!
Fire/SOUL/CD & Delila_1 
-
-
Lackó86
tag
válasz
Fire/SOUL/CD
#6718
üzenetére
HMMM

Amit Delila írt az jó?

-
WildBoarTeam
senior tag
válasz
ulrik19
#6721
üzenetére
Nem az a baj...

Végig mentem a képleten a képletkiértékelővel és azt látom, hogy számként kezeli a kapott időértékeket, így a =HA($B1<$A1;24-$A11+$B11;$B11-$A11)*24 nem jó, Mivel ilyen esetben a 24:00 = 1.0 és a 0:00 = 0.0.
Így a 22:00 = 0.916, a 01:30 = 0.0625 értékű. Tehát, ha igaz feltétel teljesül, a 24-ből való kivonás okozza a hibát (24-0.916+0.0625 és ez megszorozva 24-el = 555.5). Kicseréltem a 24-et 1-re és jól számol....
Mindenesetre köszi a tippet.

-
ulrik19
tag
válasz
WildBoarTeam
#6720
üzenetére
Szia!
a 4. példánál szerintem január 30-cal számol, ezért van hiba.
-
WildBoarTeam
senior tag
Üdv!
Olyan képletre és formázásra lenne szükségem, ami a következő feltételeknek megfelel:
1. Túlóra számításhoz kell
2. Adott két oszlop (idő formátum) pl: 8:00, 18:30.....
3. ha A1 8:30 és B1 10:30 akkor C1-be ne 2:00 kerüljön, hanem 2,0.
4. ha A1 22:00 és B1 01:30 akkor C1-be hozzon a 3,5-öt.Tehát a lényeg, hogy ne idő formátumban hozza az eredményt, hanem számként.
Próbáltam ilyesmi képletet, de a 4. lépésben leírtakra nem jól számolt:
=HA($A1<$B1;24-$A11+$B11;$B11-$A11)*24
tehát, ha B1>A1, akkor 555,5-öt hozott eredménynek (a 4-es példával) és nem 3,5-ötKipróbáltam úgy is, hogy az A és B oszlopot számmá formáztam.
majd így módosítottam a képletet:
=(HA($A23<$B23;0-$B23+$A23;$A23-$B23-1)*24)*(-1)
A -1-el való szorzás itt azért kellett, mert negatívként hozta az értékeket.
És ha olyan sorhoz ért, aminél üres az A és B oszlop, akkor 24-et adott értéknek (bár ez egy HA() függvénnyel kiszűrhető).Kérdés:
Lehet ezt egyszerűbben megoldani?
-
válasz
Lackó86
#6717
üzenetére
Hali!
Hát ezt nem teljesen értem...
Szóval akkor ez lenne a szitu, pl
30 - nincs kerekítés
30,000001 - kerekítés 40-re
35 - kerekítés 40-re
39,999999 - kerekítés 40-re
40 - nincs kerekítésHa igen, akkor beépített kerekítő függvényről nem tudok, ami ezt megcsinálná, azonban természetesen megoldható. Leírom hogyan, Te meg próbáld meg ezt képlettel kifejezni.
Ha szám maradék nélkül osztható 10-el, akkor az adott szám kerül a cellába
Ha maradék képződik, akkor a szám egész része+10 kerül a cellábaEgy kicsit törd a kobakod...
![;]](//cdn.rios.hu/dl/s/v1.gif)
Fire.
-
Lackó86
tag
válasz
Fire/SOUL/CD
#6698
üzenetére
Szia!
Igen Az lenne a cél h mindig felfelé kerekítsen!

Akár még úgy is h a számok vége 5 15 20 25 30 35 40 45 .......
köszi a -1 est
-
válasz
Delila_1
#6715
üzenetére
Hali!
Igen ez valós probléma néha, ezt elkerülendő mindig azt a konstanst/típust stb kell/célszerű használni, ami úgymond a nagykönyvben meg van írva és itt nem a súgóra gondolok, mert a súgóban is lehet találni olyan leírást, amivel biztosan nem működik egy adott függvény pl.

Fire.
-
zsotesz81
senior tag
Még egy kérdés, a formomon a label-ek feliratánál hogy tudom azt megcsinálni, hogy mindig pl. az A1 cella értéke legyen. Addig eljutottam, hogy Label1.Caption és gondolom ez után kellene a cella. De egyenlőségjellel nem ment, ha simán utánaírtam úgy sem volt jó.
UI.: Nálam működik a helyesírás ellenőrzés
-
válasz
Delila_1
#6709
üzenetére
Hali!
Igen, de ez ebben az esetben nem bevett szokás, hogy megnyitott form mellett lehessen módosítani a munkafüzetben..

Akkor szokás ezt alkalmazni, ha pont az a cél, hogy a form pl információkat jelenít meg folyamatosan a munkafüzet változásait követve.Szóval nem katasztrófa a False használata(De mint megerősítettek a True hibát dob), ezért inkább akkor vbModeless a False helyett...
Ez ilyen programozástechnikai elv(hogy ilyen rondán fogalmazzak) és nem csak Excel hanem más programnyelvek területén is teljesen alap eljárás)Fire.
UI: Nálatok sem működik a PH helyesírás ellenőrzése HSZ írásakor?

-
zsotesz81
senior tag
válasz
Fire/SOUL/CD
#6708
üzenetére
Köszönöm a segítségeket, egyébként True értékkel tényleg hibát ad.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#6708
üzenetére
Nem True értéket kell megadni, nem is azt írtam.
A pénz elosztása után bezárják a formot, amit a jobb felső sarkában lévő X-szel is megtehetnek. -
válasz
Delila_1
#6707
üzenetére
Hali!
Bocs, hogy megint "beleugatok", de ez nem a megfelelő megoldás, azaz ez így ahogy leírtad, úgy látszólag megy, de True értéknél hiba lesz.(Nem vagyok otthon, nem tudom kipróbálni, csak emlékezetből írok)
Szóval egy parancsgombról így lehet meghívni a Form-ot.
Helytelen
Private Sub CommandButton1_Click()
UserForm1.Show True
End SubA modal paraméter az vbModal vagy vbModeless értéket vehet fel.
zsotesz81
vbModal esetén amíg az ablak(Form) be nem csukódik, addig nem lehet a munkafüzethez férni, vbModeless esetén meg igen.Helyesen
Private Sub CommandButton1_Click()
UserForm1.Show vbModal
End SubFire.
-
zsotesz81
senior tag
válasz
Delila_1
#6705
üzenetére
Csak az a bajom, hogy már ezt nem tudom hova rakni, ennek nem akarok külön munkalapot sem. Egyébként ez arra kéne, hogy pókerben döntetlennél a kasszát azonos arányban ossza szét a döntetlent elérők között. Ez mondjuk elég ritka, ezért akarom úgy megcsinálni, hogy gombnyomásra feljöjjön egy form, ott bepipálni azokat a játékosokat akiknél döntetlen van, majd a formon megnyomni egy gombot és a lóvé eloszlik. A formot már megcsináltam csak nem tudom hogy kell meghívni. Az előbb próbáltam egy active x parancsgombbal, alapból be volt írva a kódba, hogy load userform1 (nem változtattam meg a form nevét), de nem történik semmi.
-
zsotesz81
senior tag
válasz
Fire/SOUL/CD
#6698
üzenetére
Igen, egy ilyen formot kellene valahogy meghívni, a nevek és jelölőnégyzetek száma lehet állandó (a max az úgyis 10). Pontosabban a nevek attól függnek hogy az adott cellában milyen név van (A5-A14-ig vannak a nevek).
-
Delila_1
veterán
Új hozzászólás Aktív témák
- Sima Vs.Windows Logitech Mx keys s plus és hagyományos Mx keys magyar bemutatása. Új videó linkel
- Gamer PC-Számítógép! Csere-Beszámítás! R5 7500F / RTX 4060 / 32GB DDR5 / 1TB Nvme SSD
- Eladó egy oneplus 9 pro 256/12
- www.stylebolt.hu - Apple eszközök és tartozékok!
- Több darab! MacBook Pro 16" M1 32GB RAM 27%-os áfás számla
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
![;]](http://cdn.rios.hu/dl/s/v1.gif)





$14).







Fferi50

