-
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
-
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.
-
Franticfox
tag
válasz
Delila_1 #9677 üzenetére
No, holnap lehet küldök akkor egy rövidebb szakaszt
(Igazából az időm csak egy részében tudok ezzel foglalkozni, ezért is gondoltam h segítséget kérek) Ma is gondolkoztam ezen, de szóval inkább hazajöttem már
Majd küldök valami jellegében hasonló dolgot, úgy biztos világosabb lesz. Amúgy igen, már a 2007-es verziót is utáltam, ezt a 2010-est még csak kezelni sem tudom, és egyébként is Origint használtam már az utóbi időben, itt viszont excel van feltéve (ráadásul a legutóbbi)... Eddig is köszönöm a segítségedet amúgy
Szép estét!
Üdv,
Franticfox
-
Franticfox
tag
válasz
Delila_1 #9675 üzenetére
2010...
Próbálkoztam itt ezekkel a függvényekkel, és szép és jó, hogy kiírok egy adott cellából egy értéket, de hogy lesz ebből adatsor?... szóval nekem van egy hosszú adatsorom, a nekem ebből szükséges értékeket ki is tudom jelölni, ezt eddig is meg tudtam csinálni mondjuk úgy, hogy a megfelelő értékek mellé a köv oszlopba írtam egy egyest a megfelelő sorrendben, majd a jobb alsó sarokban lévő kis fekete x-et lehúztam, de ez most nem is érdekes, megpróbálom megvilágítani az engem érdeklő problémát:
Szóval tegyük fel, hogy most van egy lyukas adatsorom mindazokkal az adatokkal amik kellhetnek nekem. Azt akarom csinálni, hogy a 313 soronként ismétlődő értékeket megvizsgálom, és az értékeküktől függően 5 másik oszlopba rendezem a rákövetkező 312 cellát.
Mindezt azért csinálom, mert ez az 5 oszlop különböző típusú pontokat takar, a pontok jellemzőit pedig 38 tulajdonság határozza meg, ami a 312 sorban van leírva, jó foghíjasan, ráadásul az egyes tulajdonságokhoz tartozó értékek is külön cellákban vannak ugye. Ezek után majd ki akarok választani a helyzettől függően 2 tulajdonságot, illetve az ehhez tartozó értékeket, és a pontokat ábrázolni egy pontdiagramon, vagyis egy 2 dimenziós koordinátarendszerben, hogy szemmel lássam, mennyire különülnek el egymástól a ponthalmazok.Nem tudom, mennyire sikerült megvilágítani a problémát...
Megoldást jelenthetne a problémára a következő eljárás:
Egy eljárás, ami az oszlopban megvizsgál minden 313-ik értéket, és hogyha az X, akkor az onnan számított +Y-odik cellát kimásolja egy Z-edik oszlopba úgy, hogy a soron következő ugyanolyan X-hez tartozó +Y-odik értéket az előző alá másolja.
Ez pont úgy szortírozná szét a dolgokat, ahogy nekem kellene, tehát lenne 5 oszlopom, ami ugyanolyan típusú pontokat tartalmaz, a rá jellemző Y értékekkel.
Egy másik Y értékre is megcsinálva ugyanezt, majd ábázolva ezt diagramon, kapnék egy 2 dimenziós mátrixot, amiben szemmel láthatóan el lehetne különíteni az 5 csoportba tartozó pontokat mondjuk a színük alapján.Tehát 4 változtatható érték kell nekem az eljárásba, X, Y, Z, és mondjuk a a minden 313.-ik sort is lehetne variálni, ez legyen V.
-
Franticfox
tag
válasz
Delila_1 #9669 üzenetére
Szóval van egy 172.000 sorból álló oszlopom 313 sorú blokkokkal, nem tudom egyenként elnevezni őket.
További probléma, amit elfelejtettem említeni, hogy sajnos a címzések neve megegyezik egy tulajdonságnévvel sajnos... (konkrétan van 38 tulajdonság és mondjuk 5 címzés, és a címzések neve pl <int>2</int>, vagy <int>3</int>, és a tulajdonságok közt is van egy ilyen nevű. Ezen kívül nekem pl a <int>2</int> tulajdonság után 3 cellára lévő érték kellene, mert az tartozik hozzá... :/
-
perfag
aktív tag
válasz
Delila_1 #9659 üzenetére
Nem állítom, hogy egyszerűbb. Más. Tömbképlettel. C3:C7 tartományra a negatív számok átlaga:
{=ÁTLAG(HA(C3:C7<0;C3:C7;HAMIS))}
Nem saját tudás, Chip Pearson pont egy ilyen példán mutatja be a tömbképletek használatát.
Új hozzászólás Aktív témák
- "3D-s" hővezető csövekkel jön a Cooler Master legfrissebb CPU-hűtője
- Luck Dragon: Asszociációs játék. :)
- iPhone topik
- Windowsos tablet topic
- Ha Kínában repülsz, és nem ilyen a hordozható töltőd, elveszik a reptéren!
- Autós topik
- Lelövi a Messengert a Facebook Windowson és Macen
- Milyen autót vegyek?
- Samsung Galaxy Watch7 - kötelező kör
- Kerékpárosok, bringások ide!
- További aktív témák...
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Azonnali készpénzes AMD Radeon RX 9000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- GYÖNYÖRŰ iPhone 13 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3579, 94% Akkumulátor
- LG 45GR95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- Akció! HP Elitedesk 800 G1 USDT számítógép - i7 4770S 16GB RAM 128GB SSD Intel HD 4600 WIN
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest