-
Mobilarena
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
-
baderoli
tag
válasz
Delila_1 #16100 üzenetére
Köszönöm! Ha két különböző területet szeretnék megjelölni egy makrón belül,akkor elég csak megismételnem a lezáráson belül? Pl:
Sub X_ek()
Dim sorF%, sorA%, oszlopE%, oszlopU%, i%, sor%, oszlop%sorF% = 42: sorA% = 71: oszlopE% = 4: oszlopU% = 8
For i = 1 To 2
sor% = Rnd() * (sorF% - sorA%) + sorA%
oszlop% = Rnd() * (oszlopU% - oszlopE%) + oszlopE%
Cells(sor%, oszlop%) = "X"
Next
Dim sorF%, sorA%, oszlopE%, oszlopU%, i%, sor%, oszlop%sorF% = 42: sorA% = 71: oszlopE% = 10: oszlopU% = 12
For i = 1 To 2
sor% = Rnd() * (sorF% - sorA%) + sorA%
oszlop% = Rnd() * (oszlopU% - oszlopE%) + oszlopE%
Cells(sor%, oszlop%) = "X"
Next
End SubHa jó a logikám akkor a D42:H71 és J42:L71 területre írja be. De szerintem a Dim sor nem is kell kétszer és talán a Next sem. Amúgy ez milyen nyelven van ? Visual Basic?
-
-Mike-
addikt
válasz
Delila_1 #15989 üzenetére
Nagyon szépen köszönöm!
Nem akarok telhetetlennek tűnni, de ha ilyen egyszerűen megy neked, ha lennél olyan kedves és ugyanezen elgondolás útján megtudnád csinálni még a 6-os, 7-es, joker és a keno-t is?
6osnál 45ből 6ot
7esnél 35ből 7et kell eltalálni.
Joker az más, az utolsó kettő találat számít, majd az utolsó 3 és így előrébb, utolsó 4, utolsó 5 majd mind a 6 szám telibe.
Keno 20 húzott számból 10et kell eltalálni. -
csferke
senior tag
-
csferke
senior tag
válasz
Delila_1 #15958 üzenetére
Delila!
Köszi a gyors választ/megoldást.
Sub Novel_F_et()
Dim sor As Integer, CV As Object
For Each CV In [B27:B38]
If CV <> "" And IsNumeric(CV) Then
On Error GoTo Kov
sor = Application.WorksheetFunction.Match(CV, Sheets(2).Columns(1), 0)
Sheets(2).Cells(sor, "F") = Sheets(2).Cells(sor, "F") + Cells(CV.Row, "F")
End If
Kov:
Next
End SubMivel a B27:B38-ban nem szám van hanem egy-egy termékhez tartozó kód (betűkből és számokból) sz.tem az if ágban nem kell az IsNumeric(CV).??
Nem értem, hogy mi szükség van az On Error GoTo Kov és a Kov: sorokra -
Excelbarat
tag
válasz
Delila_1 #15963 üzenetére
Esetleg egy másik megoldás bár ez nem biztos h a te problémádra megoldás de másnak jól jöhet ha védett lapon indít makrót:
makró elején:
Sheets("munkalap").Unprotect Password:="jelszó"
makró végén újra "lekódoljuk"
Sheets("munkalap").Protect Password:="jelszó"de tudni kell h a jelszó szerepel a kódban tehát célszerű (igaz mezei júser nem fog VBA-ban turkálni, de hozzáteszem hogy a felhasználó mindenre képes
) a makróprogramot is levédetni ezt pedig a következőképpen tudod megcsinálni:
Visual Basic Tools menü - VBAProject Properties felső fülnél Protection, kipipál és jelszót beír.
bár kódolt makrókkal és munkalappal idegesítő dolgozni mert ha bütykölni kell valamit akkor fel kell oldani először -
-
Vladek83
tag
válasz
Delila_1 #15817 üzenetére
Köszönöm, tökéletes!
Még egy rövid kérdésem lenne:
Melyik szakirodalmat lenne érdemes megvennem ( haladó szinten járhatok )
http://www.libri.hu/konyv/excel-haladoknak.html
http://www.libri.hu/konyv/makrohasznalat-excelben.html
Vagy, ha tudnál ajánlani valami mást, azt szívesen venném!
-
Vladek83
tag
válasz
Delila_1 #15815 üzenetére
Szia!
Huu, majdnem erre gondoltam, nem fogalmaztam meg rendesen...
Pl.:
- az "A1" cella tartalma "autók"
- alatta pl. "A15-ig" fel vannak sorolva ( Fiat, Ford...)
- az "A16" cella tartalma "motorok"
- alatta pl. "A25-ig" fel vannak sorolva ( Honda, Suzuki...)- klikkeléssel lehessen nyitni, zárni a tartalmakat... ( az "A1,A16-os cella tartalmát )
Még egyszer köszönöm!
-
csferke
senior tag
válasz
Delila_1 #15801 üzenetére
Szia Delila!
Igen, igazad van. Nem részleteztem eléggé a kérdést.
Tehát.
1.lapon adatok szerepelnek (név, ir.szám, város, cím stb.) sorba rendezve város&név szerint.
2.lap egy számla. Itt szeretném egy legördülőből kiválasztani a nevet akinek a számla készül és ez alapján értelemszerűen a névhez kötődve (lentebbi cellákban) vlookup-al a többi adat (város, cím stb.). Eddig ok.
Azt szeretném, hogy csak a legördülő listában látszódjon a név&város mert így sokkal kényelmesebben, gyorsabban lehetne megtalálni a keresett nevet.
Amikkor azonban kiválasztom a keresett nevet akkor a cellában csak a név szerepeljen. A cím meg a többi szükséges adat lejjebb a megfelelő cellákban vlookup-al a kiválasztott név alapján.
Remélem, hogy lassacskán sikerül megfogalmaznom, hogy mit is szeretnékköszönöm türelmedet, segítségedet
-
csferke
senior tag
válasz
Delila_1 #15761 üzenetére
Szia Delila!
Egy új oszlopban összefűzöd a B és E oszlop tagjait, közéjük szóközt teszel –> =B2 & " " & E2.
Az új tartománynak nevet adsz, és ezt adod meg a lista forrásaként.Ez eddig OK, köszönöm. De...
Így a legördülőben így egyben jelenik meg a B és E oszlop tartalma. Nekem viszont CSAK a B tartalma kell, hogy látszódjon. Meg azért is csak a B tartalma mert más mezőkben is hivatkozok rá a vlookup-al és ha B+E akkor a vlookup nem találja.köszi
-
-
Geryson
addikt
válasz
Delila_1 #15710 üzenetére
És tényleg! Nagyon szépen köszönöm!
Az az igazság, hogy igyekszem az egyszer már megbeszélt dolgokat memorizálni, de ez persze csak úgy megy, ha megértem. Na most ez egy olyan dolog, amit próbálgattam-próbálgattam, de egyszerűen a felépítését a mai napig nem értem meg!
-
Geryson
addikt
válasz
Delila_1 #15702 üzenetére
Hát úgy van, hogy a D oszlopban vannak az értékek, amiket összegeznie kellene.
F-oszlopban a kritériumnak megfelelő érték (ami vagy 1 vagy 2)
E-oszlopban meg egy összeg, amit megint csak összegeznie kellene (ha a feltétel teljesül), de ezt most látom, hogy hülyeség, ezt nem akartam beleírni.
-
poffsoft
veterán
válasz
Delila_1 #15645 üzenetére
vigyázz, ez így csak a "Z" oszlopig működik, ha az "AA" is a tartományba kerül, már hibás!!!
Szerencsésebb lekérdezni az oszlopszám% oszlop koordinátáit (mindig elfelejtem, ez melyik property)., és abból kibányászni. vagy a modus operandus is használható... ízlés kérdése -
gurabli
őstag
válasz
Delila_1 #15602 üzenetére
Sziasztok!
Egy újabb nagy segítséget szeretnék kérni Tőletek. Most már biztos, hogy beiratkozom egy Excel tanfolyamra (vagy Lynda.com), de most sürgősen kellene a segítség.
Van egy fő táblám, úgy 300 sorral. Minden sor A oszlopa egy egyedi azonosítószámmal (6-7 jegyű kód) rendelkezik, vagyis van mire hivatkozni. Ebbe a fő táblába kellene behívni másik táblákról adatokat, úgy, hogy az excel azonosítani tudja az A oszlopban lévő kód alapján, hogy melyik sorhoz kell. Ha az adott sor szerepel az adat táblában, akkor az adatokat tartalmazó tábla J oszlopában lévő számot átmásolja a fő tábla N oszlopába, persze a megfelelő sorba. Az adatokat tartalmazó táblában is minden sorhoz a megfelelő kód van rendelve, ami ugyan az, mint a főtáblán, így mindkét táblában azonos kód tartozik azonos sorhoz (de az adatokat tartalmazó táblában nincs benne minden kód)
Ez az fkeres lesz? Ja, angol nyelvű excelt használok, 2003, 2007 és 2010 is van. Ha kell, megoldható a magyar nyelvű is.Előre is nagyon köszönöm, remélem megoldható lesz a dolog!
-
csferke
senior tag
válasz
Delila_1 #15583 üzenetére
Delila,
ezt biztosan lehet egyszerűbben is mint ahogyan írtad #15583-banAddig jutottam, hogy:
A1-ben kiválasztom a nevet és ennek alapján
A2: =VLOOKUP(A1;Kupci!B:O;3;0) - ir.szám
B2: =VLOOKUP(A1;Kupci!B:O;4;0) - városNamármost azt szeretném elérni, hogy A2-ben legyen az ir.szám+" "+város.
Valahogy így gondolom csak nem jön össze
A2: =&(=VLOOKUP(A1;Kupci!B:O;3;0))+" "+&(=VLOOKUP(A1;Kupci!B:O;4;0))A2: &ir.szám+" "+&város
köszi
-
gurabli
őstag
-
-
Mauzes
addikt
-
válasz
Delila_1 #15519 üzenetére
szupper, köszönöm, szép lassan tanulgatok
még egy kérdés merült fel: létezik-e olyan parancs, ami egy makró elejére írva az excel fájl megnyitásakor lefuttatja az adott makrót, azaz ne kelljen mindig kikeresni, meg ne kelljen gombot se nyomkodni, hanem csak fusson
köszönöm!
-
pero19910606
csendes tag
válasz
Delila_1 #15538 üzenetére
De azt nem tudom meg tenni mert a táblázat így néz ki :
Gyümölcs banán
üres cella alma
üres cella körte stb...
ZöldségAztán itt megint lejjebb húsok. Tehát a D oszlopban vannak felsorolva a főbb kategóriák és rögtön mellette az E oszlopban pedig a termékek. Tehát kénytelen vagyok meghagyni azokat üresen.
-
kokopeti
csendes tag
válasz
Delila_1 #15510 üzenetére
Szia!
Üres lapba bemásolva minden jól működik köszönöm. Viszont annyi változás történt, hogy a táblázatom elhelyezkedését muszáj lejjebb helyeznem.
Így az elhelyezkedésük ez lesz:
Mód: B13
Nettó: C13
Bruttó: D13
Megjegyzés: E13A módosuláshoz gondolom ebben kellene szerkeszteni pár értéket:
WS1.Select
usor% = Cells(Rows.Count, "A").End(xlUp).Row
usorN% = 2
For sor% = 2 To usor%
If Cells(sor%, 1) = datum Then
usorN% = usorN% + 1
f = True
WS3.Cells(usorN%, 1) = Cells(sor%, 2)
WS3.Cells(usorN%, 2) = Cells(sor%, 3) * -1
WS3.Cells(usorN%, 3) = WS3.Cells(usorN%, 2) / 1.27
WS3.Cells(usorN%, 4) = Cells(sor%, 5)
End If
Next
WS2.Select
usor% = Cells(Rows.Count, "A").End(xlUp).Row
For sor% = 2 To usor%
If Cells(sor%, 1) = datum Then
f = True
usorN% = usorN% + 1
WS3.Cells(usorN%, 1) = Cells(sor%, 2)
WS3.Cells(usorN%, 2) = Cells(sor%, 3)
WS3.Cells(usorN%, 3) = WS3.Cells(usorN%, 2) / 1.27
WS3.Cells(usorN%, 4) = Cells(sor%, 4)Próbálom egyedül is hátha sikerül, de egyelőre nehezen értelmezem a deklarálásokat sajnos.
-
kokopeti
csendes tag
válasz
Delila_1 #15506 üzenetére
A harmadik munkalapnak az lenne a lényege,hogy:
A1 cellában beírom azt a dátumot, ami engem érdekelne és ezt listázza ki az alatta lévő táblázatba.
A táblázatban az lenne a jó, ha tartalmazná a Kiadások és Bevételek munkalapokból a Megnevezés, Mód táblázatokat és egy Összeg nevű táblázatot ami tartalmazza a Bevételekből a Bruttó összeget, a Kiadásokból pedig Bruttó kiadás - (mínusz) Nettó Kiadás különbözetét.
(Ha nem sikerült értelmesen megfogalmaznom, akkor az is tökéletes lenne, ha a Kiadásokból is csak a Bruttó kiadás lenne és majd kiokoskodom a többit, mert az alap makró is hatalmas segítség lenne!!)
Ha ez meglenne utána már könnyen tudnék hozzárendelni egy összesítő képletet, amivel kiszámoltathatom a napi eredményt!
-
m.zmrzlina
senior tag
válasz
Delila_1 #15479 üzenetére
Köszönöm a segítséget. A dátumérték()-kel sikerült megoldani makróval...
...miután kiderült, hogy nem excel függvényként (Application.Worksheetfunction. stb stb) kell használni, hanem van egy ilyen VBA függvény. Talán másnak is mond újat ez az oldal
Köszi még egyszer.
-
kokopeti
csendes tag
-
Metathrone1
csendes tag
válasz
Delila_1 #15502 üzenetére
És még egy olyan kérdés, hogy az egész ne legyen egyszerű
adott a makrót tartalmazó munkafüzet és egy másik, amiben a makrót akarom futtatni billentyűkombinációval, de abban makró nem lehet. addig működik, míg a dátumot kell beírni, de a nevet nem hozza át.
Sub Insert_date()
ActiveCell = Date
ActiveCell.Offset(, 1) = Range("GX60000")
End Subitt a range után megadni a zárójelben útvonalat? Ha igen, akkor hogyan?
kell gondolom fájl helye, neve, munkalap és azon belül a cella -
Metathrone1
csendes tag
-
föccer
nagyúr
válasz
Delila_1 #15489 üzenetére
Igen, az lesz a megoldás, hogy feltöltöm és a letöltési linket küldöm el. A saját honlapunkra kellene felrakni, csak amire az IT-n átverem ennek a 2 fájlnak a felrakását, az kb 1 hét
Szüval marad az ingyenes tárhely, meg a hiperlink. Reméleem az rendesen ki fog menni...
Köszi
üdv, föccer
-
föccer
nagyúr
válasz
Delila_1 #15486 üzenetére
Zsír köszi, majdnem jó lett. Csak a csatolt 2 doksit nem volt hajlandó elküldeni a megírt levéllel együtt. Viszont beillesztett 2 csatolmán ikonjának a képét azt betette a levélbe. Majd vakargatják a fejüket, hogy nem bírját a csatolt pdf-et megnyitni.... :-/
Erre valami megoldás, csak ki kellene mennie a mellékleteknek is.
üdv, föccer
-
Kicker
őstag
válasz
Delila_1 #15471 üzenetére
Köszönöm Szakértő Úr!
2 Problémám van, a makrot valahogy beírtam, de hogyan futtatom? Illetve ha ezt kiakarom bővíteni oszloponként 14 sorra, (1 oszlopba 14 adat) melyből van 30 és összehasonlítani? Accesbe próbáltam beírni, de a 2007-es annyira más mint amit használtam anno (2003-as)...
-
poffsoft
veterán
válasz
Delila_1 #15464 üzenetére
Nem feltétlen cellából kellene beolvasnom, elég ha kód.
Egyenlőre ezt a megoldást találtam , ezzel maga a mártix bevitel picit áttekinthetőbb, viszont a teljes kód változott (és továbbra is elég favágós algoritmus):Option Explicit
Sub alg()
Dim passlen, pass, LastRow, i, j, Iend, form, d0, d1, d2, d3, d4, d5, d6, d7, det
d0 = Array(0, 0, 0, 0, 0)
d1 = Array(0, 1, 0, 0, 0)
d2 = Array(0, 1, 1, 0, 0)
d3 = Array(0, 1, 0, 1, 0)
d4 = Array(0, 1, 1, 0, 0)
d5 = Array(0, 1, 0, 1, 0)
d6 = Array(0, 1, 1, 0, 0)
d7 = Array(0, 1, 0, 0, 1)
det = Array(d0, d1, d2, d3, d4, d5, d6, d7)
pass = ""
Sheets(1).Select
Iend = 100
passlen = Len(Iend)
For i = 1 To passlen
pass = pass & "0"
Next i
LastRow = ActiveSheet.UsedRange.Rows.Count
Range("A2:G" & LastRow).ClearContents
If Iend = 0 Then Iend = 1
For i = 1 To Iend
det(0)(0) = i
Cells(i + 1, 1).Select
Cells(i + 1, 1) = det(0)(0)
form = "x= "
For j = 1 To 4
det(0)(j) = det(0)(j) + det(((i - 1) Mod 7) + 1)(j)
Cells(i + 1, j + 1) = det(0)(j)
form = form & Right(pass & det(0)(j), passlen) & "*" & Chr(Asc("a") + j - 1) & "+"
Next j
Cells(i + 1, 7) = Left(form, Len(form) - 1)
Next i
Cells(1, 1).Select
End Sub -
válasz
Delila_1 #15448 üzenetére
Lehetni lehet, csak nem ebben a topikban elsősorban... Vannak itt jó szakik, akik nem hagyják a kérdezőket válasz nélkül hosszabb időre, illetve mostanság már megkezdődött az év végi "őrület", így gépeket pakolok össze/telepítek látástól-mikulásig (most is vagy 150 kilométerre vagyok az otthontól, majd talán 11-körül hazaérek), nem igazán van energiám makrókra.(mostanság meg elsősorban ilyen jellegű segítséget kérnek a userek)
Néha benézek ide is azért, ha esetleg lógva marad egy kérdés -és tudom rá a választ-, akkor azért majd beírom... -
Attas
aktív tag
válasz
Delila_1 #15440 üzenetére
Nagyon köszönöm a válaszod!!! Ismét megmentetted a projektet.
Már maradt a TextBox megoldás de a leírásod alapján már sikerült megírni a kódot. A TextBox-ok Locked tulajdonságát True-ra állítottam, így nincs belepiszkálás a felhasználó által.Ehol az eredmény
Sub MsgBoxMérésVége() 'A mérés vége bevitele előtti felugró kérdés
Dim iReply As Byte, iType As Integer
Dim vége As Date
vége = Format(Now, "yyyy.mm.dd hh:mm:ss")
iType = vbYesNo + vbExclamation
iReply = MsgBox("Biztos végzett a méréssel?!", iType, "Figyelmeztetés!")
If iReply = vbYes Then
If TextBox2.Text = "" Then
ElseIf TextBox3.Text = "" Then
TextBox3.Text = vége
End If
End If
TextBox4.Text = Format(CDate(TextBox3.Text) - CDate(TextBox2.Text), "hh:mm:ss")
End Sub
A másik egy részlete:
Dim most As Date
most = Format(Now, "yyyy.mm.dd hh:mm:ss")
TextBox2.Text = most -
Attas
aktív tag
válasz
Delila_1 #15430 üzenetére
Köszönöm válaszod. Tökéletes lett.Lassan a segedelmeidből összeáll egy könyvre való.
Van két TextBox-om, az TextBos1 Now() al az aktuális dátumot -időt (mérés kezdete), a TextBox2 -be ugyanígy a )mérés vége) írtam be. Egy harmadik TextBoxba hogy tudom beíratni e két időadat különbségét? Hogy mennyi idő telt el a kezdés és a vége között?
Köszönöm már előre is
Új hozzászólás Aktív témák
Hirdetés
- ASZTALI GÉP / ALKATRÉSZ beárazás
- Interactive Brokers társalgó
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- A fociról könnyedén, egy baráti társaságban
- Gitáros topic
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Milyen processzort vegyek?
- AMD GPU-k jövője - amit tudni vélünk
- Honor Magic6 Pro - kör közepén számok
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Bomba ár! Dell Inspiron 5405 - Ryzen5 4500U I 8GB I 256SSD I 14" FHD I HDMI I Cam I W11 I Garancia!
- PS5 konzolod megvásároljuk: Budapest, Kecskemét, Szeged, Debrecen vagy akár GLS futárt küldünk!
- Külföldi csomagszállítás Packeta csomagpontokon keresztül!
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- DELL PowerEdge R730xd 12LFF rack szerver - 2xE5-2680v3,64GB RAM,4x1GbE,H330 RAID v ZFS
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest