-
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
-
-
-
-
Vizes Tomi
tag
válasz
Delila_1 #10098 üzenetére
Delila_1 Köszönöm a segítséget!
A makro nem megy és nem jöttem rá miért
de nem is érdekes mert rájöttem,a kinyert excel táblázatban nincsenek képletek
így a percdíj csereberének nem lenne értelme.Ebből adódik egy újabb kérdésem, hogy időtartamokat,(Pl 0:02:10 és 0:04:13) hogyan tudok összegezni. A szumma nekem nullát ad.
Köszönöm
VT
-
Vizes Tomi
tag
válasz
Delila_1 #10111 üzenetére
Ez a dög makró még mindig nem akarja az igazat
A percdíj sornál hibával megáll.Csak azt nem értem, hogy az előbb már működött és csak azt a sort nem cserélte ki ahol a megadott szöveg volt a többinél mindnél
Arra még nem jöttem rá, hogy hogyan adod meg neki azt, hogy a J1 ből vegye az adatokat, mert ezt átállítanám mivelhogy ott most valami összegek vannak. -
m.zmrzlina
senior tag
-
m.zmrzlina
senior tag
válasz
Delila_1 #10067 üzenetére
Köszönöm az elismerést.
Az önmagában nem baj, hogy 14 a lehetséges betűk száma, mert ha egy cellában nem szerepel belőlük 4-nél több (az eredeti kérdésben ez volt) akkor az =FKERES() táblázata (R57:S70) lehet nagyobb is.
Az "oldjuk meg képlettel" koncepciómat inkább az fektetné két vállra ha jóval több mint 4 betű kombinációját kellene kezelni.
-
Delila_1
veterán
válasz
Delila_1 #10067 üzenetére
Egy kicsit átláthatóbban az előbbi makró:
Sub Leiras()
Dim sor%, oszlop%, betu%, nev$, cnev As Range
Range("K57:K75,M57:M75,P57:P75").ClearContents
For sor% = 57 To 75
oszlop% = 10: GoSub Beir
oszlop% = 12: GoSub Beir
oszlop% = 15: GoSub Beir
Next
Exit Sub
Beir:
nev$ = Cells(sor%, oszlop%)
Set cnev = Cells(sor%, oszlop% + 1)
For betu% = 1 To Len(nev$)
cnev = cnev & Application.VLookup(Mid(nev, betu%, 1), Range("R57:S70"), 2, 0) & " "
Next
cnev = Left(cnev, Len(cnev) - 1)
Return
End Sub -
zsotesz81
senior tag
válasz
Delila_1 #10059 üzenetére
Na, csak sikerült megcsinálni, viszont jól megszivattam magam/magunkat. A sheet2-n lévő adatok txt-ből lettek beimportálva. A txt-ben lévő adat pedig egy TSM serverről való sql lekérdezésből lettek. A gond az volt hogy a nevek után volt még egy csomó szóköz
.
Kimetsz függvénnyel kizúztam a szóközöket, ezzel az utolsó képlettel amit írtál mostmár jó.szerk.
nagyon frappánsan megoldottam egyébként a notes-os mail címekből a nevek kivágását.
Bemásoltam az egész oszlopot notepad-ba, elmentettem txt-ként, majd beimportáltam, elválasztó karakternek "/" jel, aztán már meg is lettek a nevek, a nem kívánatos oszlopokat meg töröltem -
zsotesz81
senior tag
válasz
Delila_1 #10053 üzenetére
"Tényleg prérifarkas vagy, az első kérdésedben más volt az elrendezés" - tudom, azt hittem, hogy van rá valami egyszerű megoldás csak én nem tudom, ezért írtam csak egy példát.
A makró amit írtál lefut, csak mindenhova "nincs"-et ír.
Azon gondolkoztam, nem volna-e egyszerűbb az emailes cellákból kiszedni csak a nevet, és azt bemásolni a mellette lévő oszlopba, és utána már csak hasonlítgatni kéne a neveket. -
zsotesz81
senior tag
válasz
Delila_1 #10050 üzenetére
#name-et írt ki, de lehet én rontottam el valamit, inkább leírom még gyorsan hogy pontosan melyik cellába vannak az adatok, tehát:
Sheet1:
A,B,C,D oszlop foglalt, E oszlopban vannak a notes-os nevek, F oszlopba mehet az "X". Az előbb azt még elfelejtettem írni, hogy két féle van, /Slovakia/Contr/IBM és /Slovakia/IBM
Sheet2-ben
B oszlopban vannak a nevek. Ezeket kéne egyesével végig csekkolni, hogy a sheet1-en szerepelnek-e.És közben el is repült a műszakom, irány haza
, majd otthon még én is filózok a megoldáson, elméletben megvan, csak nem tudom kivitelezni
-
varikahun
csendes tag
válasz
Delila_1 #10023 üzenetére
Szia!
na szóval
Ha a C oszloppa az kerül valahova h. "OK" akkor azt a sort átszinezi az A-tól az O-ig, de ha az kerül a P oszlopba h. "Worn", akkor ezt a sor A-tól O-ig átszinezi de egy másik színre.
Van egy olyan érzésem h. ezt már programozni kell, és sajnos ehhez nem értek.
-
BoharJoe
csendes tag
-
Danecay
addikt
válasz
Delila_1 #9990 üzenetére
Szerintem úgy csináltam, egy oszlopba beírtam a választható dátumokat, majd érvényesítésnél a listát választottam. Elegánsabb lenne viszont ha a választható dátumok hónap függvényében frissülnénet. Teszem azt most az áprilisi dátumok lennének választhatóak, viszont ha jövő honapban nyitnám meg akkor a jövő havi dátumok.
Szóval ott, annál a párbeszédablaknál megállítani a makrót ahol a file nevét meg kell adni nem lehet? Végül is az is jó lenne ha az aktuális hónap nevén mentené el, de előtte szerepeljen más cím is a táblázatra vonatkozóan.
-
-
-
-
-
bozsozso
őstag
válasz
Delila_1 #9902 üzenetére
Köszönöm szépen erre gondoltam. csak most próbálom megérteni, hogy a saját kódomba át tudjam ültetni.
ha jól látom akkor csak ennyit illesztettél az erdetibe:
Range("C2:C" & usorA) = "=VLOOKUP(A2:A" & usorA & ",Munka1!A:I,8,0)"
Range("D2:D" & usorA) = "=VLOOKUP(A2:A" & usorA & ",Munka1!A:I,9,0)"
Range("A:D").Select -
bozsozso
őstag
válasz
Delila_1 #9900 üzenetére
Szia!
Az alap kód az ez lenne:
Sub Összegzés()
Dim usorA As Long, usorG As Long, usor2A As Long
Sheets("Munka1").Select
usorA = Range("A1").End(xlDown).Row 'Alsó sor a Munka1 lapon
'Irányított szűrés egyedi ('A' oszlop) értékekre a G1-be
Range("A1:A" & usorA).AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("G1"), Unique:=True
'Alsó sor a G oszlopban
usorG = Range("G1").End(xlDown).Row
'Első üres sor a Munka2 lap A oszlopában
usor2A = Sheets("Munka2").Range("A5000").End(xlUp).Row + 1
'Munka1 G oszlopának másolása a Munka2 A oszlopába
Range("G2:G" & usorG).Copy Sheets("Munka2").Range("A" & usor2A)
Sheets("Munka2").Select
'Szumha képlet a Munka2!B-be
Range("B2:B" & Range("A5000").End(xlUp).Row).Select
Selection = "=SUMIF(Munka1!A:A,Munka2!A2,Munka1!B:B)"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues
Cells(2, 1).Select
'Munka1!G törlése
Sheets("Munka1").Columns(7).Delete
End SubAmi annyit tesz, hogy egyik munkalapról a másik munkalapra összesít azonos terméknevek mennyiségeit, de mivel ebben szerepel szerepel ár is ami az azonos termékeknél ugyan az, ezért szeretném még azt is átvinni a másik munkalapra. Ez lenne a H illetve I oszlopban.
-
bozsozso
őstag
válasz
Delila_1 #9897 üzenetére
Lehet nem láttad az előző hozzászólásom azért teszem fel mégegyszer a kérdést hátha tudsz segíteni ebben: [link]
Ez az egész makrónak már csak a vége lenne úgyhogy ha tudsz légyszíves segíts. Remélem tudsz segíteni.
Előre is köszönöm. Ha nem az sem baj akkor is köszönöm az eddigieket.
-
Tosee
őstag
-
bozsozso
őstag
-
bozsozso
őstag
válasz
Delila_1 #9830 üzenetére
Tudom sok a bajom, de azt meg tudtam oldani, hogy ezekhez nevekhez vigye "magával" a hozzá tartozó sorban a közvetlen mellette levő oszlop tartalmát is, de az nem sikerül sehogyan sem, hogy pl.:az "I" vagy "K" oszlop tartalmát is
Valamint nem sikerül egy meghatározott cella tartalmával létrehoznom egy munkalapot
Ezzel próbálokoztam:
Worksheets.Add =(Range("B1")
-
-
antikomcsi
veterán
válasz
Delila_1 #9763 üzenetére
Lenn még egy (egyelőre) kérdésem.
Meg lehet e valahogy oldani, hogy ne kelljen a sok száz "+Ha............." függvényt kézzel be/átírni.
Munka4 lapon van A oszlopban egy lista, több száz soros, mellete, pedig B oszlopban egy másik lista számokkal.
Munka4 lap A oszlopa érvényesítva van munka1 lap egyik cellájában, mint legördülő lista, ami működik is szépen.
És ha kézzel beírogatom a függvényt, akkor szépen ki is irja a mellette lévő cellába a munka4 lapon az A oszlop aktuális cellája mellett található B oszlop cellájának az értékét.Viszont elég időigényes lenne 500szor begépelni. Van rámegoldás, hogy ne kelljen?
-
-
antikomcsi
veterán
válasz
Delila_1 #9756 üzenetére
Igen, ez az köszönöm szépen!
Milyen egyszerűnek néz ki, és mégis, milyen sokat gépel az ember pluszba, ha ezt nem tudja.
Ezzel a pár karakterrel, már rengeteget segítettél holnapra.
Ezer hála!
Azért őrjítő a tudat, hogy amiket most megoldok millió függvénnyel, azt aki ért hozzá 2-vel kiváltaná.
De, hát azt hiszem így tanul az ember, és én még ebben teljesen kezdő vagyok.
Szerk.
Még azt megkérdem, hogy jobb, érdemesebb lenne e 2007 helyett 2010-el készíteni első próbálkozásaimat? Vagy nincs jelentősége?
-
Pá
addikt
válasz
Delila_1 #9758 üzenetére
Makrót egyelőre nem szeretnék tenni a munkalapba, ha nem muszáj, annyit nem ér a dolog.
Nagyvonalakban leírom miről van szó, hátha valaki tud rá egy trükkös megoldást függvényekkel.
Szóval van egy nagy, bonyolult excel tábla, több munkalappal, sok változóval. A változókat össze-vissza piszkálgatom és az aktuális "végeredményt" az első munkalap A1-es cellájában látom mindig. Van még egy "kapcsoló" a táblázatban, ami azt jelzi, hogy a project éppen hányadik fázisban tart.
Azt szeretném elérni, hogy ha a kapcsoló szerint egyes fázisban járunk, akkor a végeredmény mindig az A1 cellában jelenjen meg. Majd ha átkapcsolok a kettes fázisra, akkor az A1 cella tartsa meg az utolsó értékét és onnantól az aktuális végeredmény mindig a B1 cellában jelenjen meg. Ha átkapcsolok 3-as fázisra, akkor a B1 konzerválódjon ahol van és onnantól a C1 legyen a célcella stb.Kb 2-3 hetente lenne fázisváltás, szóval nem olyan nagy dolog kézzel átállítani. Ezért mondtam, hogy annyira nem fontos, csak szerettem volna, ha teljesen automatikusan működne a táblázatom.
szerk: ez a HA függvénnyel úgy nézett volna ki, hogy ha a kapcsoló = 1, akkor A1 a célcella, ha kapcsoló nem egyenlő 1, akkor A1=A1. Ha a kapcsoló = 2, akkor B1=célcella, ha nem, akkor B1=B1. stb stb
-
Pá
addikt
válasz
Delila_1 #9752 üzenetére
Köszi! Sajnos az nem fog menni, mert az lap még alakulóban van. De annyira egyébként sem fontos, csak egy pici esztétikai/kényelmi funkciója lett volna.
Esetleg ha megcsinálom a saját magukra mutató cellákat, akkor valahogy ki lehet kapcsolni, hogy állandóan riasszon a körkörös hivatkozások miatt? Vagy ez a megoldás nem javasolt, mert valami összezavarodna?
-
antikomcsi
veterán
válasz
Delila_1 #9754 üzenetére
Szia!
Köszi szépen, már dolgoztam rajta, és így sikerült megoldanom:
A B5 cella értéke így változik, attol függően, hogy az A5 legördülőn mit választok.
=HA(A5=Munka2!A3;(Munka2!C3);(0))+HA(A5=Munka2!A4;(Munka2!C4);(0))+.............
Most van egy olyan egyszerűnek látszó gondom, hogy példáúl, hogyan tudok két cellát egyesíteni olyan módon, hogy mindkettő tartalma megmaradjon.
Mondjuk A1-ben ez áll "6" és B1-ben "M12x1,5", akkor vagy valamelyikben, vagy egy új cellában lehetne e őket egyesíteni, hogy ez szerepeljen "6 M12x1,5".
Köszi!
-
Dr.Speed
csendes tag
válasz
Delila_1 #9737 üzenetére
Szia, solverrel próbálkoztam, de sajnos nem teljesen úgy működik ahogy szeretném, meg adom a kritériumokat, illetve 3 kezdő értéket a változóknak, de az első hibánál leáll az egész, nem próbálja végig az eredényméket.
Illetve lehet, hogy a beállításaimmal van gond, melyik megoldási mód vezethet eredményre, eddig Nem lineáris ÁRG-vel próbálkoztam, illetve a Lineáris szimplex, az evolvutívnél kiakad az Excel.
Előre is köszönöm a segítséget
-
radam
csendes tag
válasz
Delila_1 #9729 üzenetére
Köszönöm szépen. Viszont az eredeti problémám - még úgy látom, hogy - nem oldódott meg. Megnyitom az egyik munkafüzetet, ebben elindítom a - jövendőbeli - makrót. Ez a makró megnyitja nekem a másik munkafüzetet(/file-t), onnan bemásolja az első munkafüzetbe az adatokat a már meglévő adatok alá és bezárja a másik fájlt.
Szóval olyan makrót szeretnék készíteni, ami ezt tudja. A másolás része már Delila_1-nek köszönhetően tökéletesen működik!
-
bugizozi
őstag
válasz
Delila_1 #9724 üzenetére
Az excel így van lementve, a jelszót csak én tudom, és mindenki olvasásra nyitja meg. A lényeg hogy én tudjam hogy ki mikor nyitotta meg, ezért arra gondoltam hogy ReadOnly-ból átváltom ReadWrite-ba, egy lapra kiíratom a nevet és a dátum/időt majd vissza ReadOnlyba.
Közben találtam neten egy példát, amit kicsit módosítottam, ez lehet jo lehet nekem...
ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite, WritePassword:="jelszo"
ucso = Cells(Rows.Count, "A").End(xlUp).Row
Cells(ucso + 1, 1) = "=NOW()"
Cells(ucso + 1, 1).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Cells(ucso + 1, 2) = Application.UserName
ActiveWorkbook.Save
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnlyActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite, WritePassword:="jelszo" <= ennek nem tudtam a pontos szintaktikáját
de úgy tűnik hogy ez működőképes
ui: sry ha pontatlanul fogalmaztam
-
Delila_1
veterán
válasz
Delila_1 #9721 üzenetére
Eléggé elkapkodtam, sokkal rövidebben is meg lehet írni. Ennél is lehetne, de ahhoz számolnom kellene, amihez most nem fűlik a fogam.
Sub copyz()
Dim usor As Long, tol As Long, ig As Long, hova As String
Sheets("Munka3").Select
usor = Range("E60000").End(xlUp).Row
Select Case usor
Case 13
tol = 8: ig = 38: hova = "A8"
Case 44
tol = 40: ig = 74: hova = "A43"
Case 79
tol = 74: ig = 108: hova = "A78"
Case 114
tol = 109: ig = 143: hova = "A113"
End Select
Range("A" & tol & ":A" & ig).EntireRow.Insert
Sheets("Munka2").Range("A8:G38").Copy
Range(hova).Select
Selection.PasteSpecial Paste:=xlPasteValues
Selection.PasteSpecial Paste:=xlPasteFormats
Cells(1).Select
End Sub -
Imu
csendes tag
válasz
Delila_1 #9717 üzenetére
Kedves Delila_1!
Köszönöm, hogy foglalkoztál a problémámmal, de valami nem okés a makróval, lehet rosszul fogalmaztam meg a problémámat
Az egész lényege, hogy amit kiszámol a táblázat az árajánlathoz, azt 2. lap tartalmazza nyomtatásra alkalmas formában. Ezt a formátumot és értékeket kellene átmásolni egy külön lapra, ez lenne a 3. lap. De és itt jön a lényeg ami lehet nem derült ki az első kérdésemnél, több termékre is kérhető ajánlat, és ezeket egymás alá kellen fűzni a 3. lapon. Tehát amint összeállítok egy terméket azt a gomb nyomása után átrakja a 3. lapra, ha még egyet számolok, akkor azt az előző után másolja be. A végén a 3. lapon szeretnék kapni egy olyan listát amit ki tudok nyomtatni.
Új hozzászólás Aktív témák
Hirdetés
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- ÁRGARANCIA! Épített KomPhone i5 14400F 32/64GB DDR5 RTX 5060Ti 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 4060 8GB GAMER PC termékbeszámítással
- Ultimate előfizetés új fiókra akár 2105 Ft/hó áron! Azonnali, automatizált aktiválással, csak Nálam!
- AKCIÓ! Intel Core i7 7700K 4 mag 8 szál processzor garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest