- Milyen routert?
- A Sony szerint Japánon kívül is hódíthat az anime
- Hamarosan elképesztő mennyiségű áramot fogyasztanak el az adatközpontok és az AI
- Szilárdtest-akkumulátorokat fejleszt Kína, jöhet az áttörés?
- Adobe Illustrator kérdések
- Windows 11
- eBay
- Videó stream letöltése
- QNAP hálózati adattárolók (NAS)
- Facebook és Messenger
-
IT café
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
-
Caipi
tag
-
elmouse
aktív tag
válasz Delila_1 #17658 üzenetére
Szia!
Az általad írt makróról lenne kérdésem.
A feladat most is hasonló, tehát egy adott oszlop utolsó 50 tagjának kellene kiszámolni az átlagát, de ciklusban. Vagyis először az A oszlop utolsó 50 tagjának az átlagát,aztán a B oszlopét is így tovább, míg van adatokat tartalmazó oszlop.
A kérdés persze nem csak neked szól. Bárki segítségét elfogadom.
Előre is köszönöm!Ka nama kaa lajerama!
-
Kobe
veterán
válasz Delila_1 #17724 üzenetére
helló
arra esetleg van valamilyen tipped, hogy a későbbiekben hogy lehetne dinamikusan azokra a cellákra hivatkozni pl VLOOKUP függvényben, amiket ez a sub amit mutattál kitöltött ?
Kicsit részletesebben: van ugye egy változó sorú adattábla ahol az egyik oszlopban Hazai vagy Külföldi van írva. Ez a sub kitölt egy oszlopot a Hazai sorokra. Ezt a "Hazai" sorokra visszakapott értéket én egy azonosítónak szánom, és egy vlookup függvénnyel egy másik fileból az ehhez tartozó plusz információkat szeretném bemásolni vele.
Az egyetlen gondom az, mint ami az eredeti subnál is volt: csak azokba a sorokba szeretnék beíratni valamit ahol az X oszlopban "hazai" volt, tehát valahogy dinamikusan szeretnék hivatkozni a VLOOKUP függvényben az Y oszlop kitöltött soraira.
Próbáltam úgy, hogy definiálok egy változót, tovább folytatva a te Subodat. Alul a konkrét kód, a hivatkozások és oszlopok kicsit mások lehetnek benne, mert ez már a végleges változat ami fut.
ez gyakorlatilag ugyanaz, mint amit te írtál, és klasszul működik: ehhez akarom majd hozzáépíteni a Vlookupot
Dim lnglastrow as Long
Dim lnglastrow2 as Long
lnglastrow2=Range("L"&Rows.Coun).End(xlUp).Row
For lnglastrow=2 to lnglastrow2
If Cells(lnglastrow,"R")="Hazai" then Cells(lnglastrow,"AB")=Cells(lnglastrow,"O")&"-"&Round(Cells(lnglastrow,"L"),0)
Nexta Vlookupot próbáltam így hhozzáépíteni:
Dim IDNUMBER as Long
IDNUMBER= Cells(lnglastrow,"AB")=Cells(lnglastrow,"O")&"-"&Round(Cells(lnglastrow,"L"),0)
For lnglastrow=2 to lnglastrow2
If Cells(lnglastrow,"R")="Hazai" then Cells(lnglastrow,"T")= "=VLOOKUP(IDNUMBER,'C:/test/[test.xls]INT'!$A$1:$P$65536,5,FALSE)"
Nexta Vlookup rendben le is fut, azonban az eredménycellákba csak ?#NAME hibaüziket ír vissza, mert rosszul hivatkoztam az IDNUMBER változóra. Ha az IDNUMBER-t manuálisan kicserélem pl AB1-re, akkor már a jó értéket írja vissza az eredménycellába.
Tudnátok segíteni mit kellene updatelnem ?
[ Szerkesztve ]
-
Kobe
veterán
válasz Delila_1 #17863 üzenetére
valszeg valamit elrontottam a ctrl c ctrl v nél
Cells(sor, "X") & "-" & Round(Cells(sor, "W"), 0)
erre van emgadva az érték, de így nem működik. Igazából az érdekelne, hogy a VLOOKUP os részt hogyan kellene átírni ahhoz, hogy ugyanúgy működjön, mint a korábbi concatenates subod, hogy csak azokra a sorokra leressen rá, ahol az eredeti concatenates sub is
-
Kobe
veterán
válasz Delila_1 #17867 üzenetére
köszi
igazából pont fordítva megy, de az nem gáz, csak meg kell cserélni hogy melyik excel filet adod meg a WS változóban.
Egész pontosan úgy megy, hogy van a temporary.xls nevű file (ez egy adatbázis letöltés, access hozza létre és először ezt nyitja meg), és van a test.xls. A temporary.xls-ből szeretnék adatokat másolni a test.xls-be, de a többi úgy megy, ahogy leírtad - a test.xls INT nevű lapján az AB oszlopban található azonosítót keresem a temporary.xls ben, és a test.xls/INT lap T oszlopára írom vissza az értéket.
Viszont a makró nem tudom miért, de ennél a sornál elakad (ez az amit már átírtam, hogy a másik filera hivatkozzon):
Set WS = Workbooks("temporary.xls").Worksheets("Report")
gondoltam hogy nem találja a filet, ezért próbáltam a teljes hivatkozást berakni a filehoz így:
Set WS = Workbooks("C:/Users/Desktop/database test/test.xls").Worksheets("Report")
de sajnos ez esetben sem működött. Az excel azt írja hogy Run-time error 9: Subscript out of range
[ Szerkesztve ]
-
Kobe
veterán
válasz Delila_1 #17879 üzenetére
Gyak ugyanazt csinaltam, mint amit te is mutattal a kodban, kicsit aktualizaltam a fileneveket de a valtozokhoz nem nyultam. Igazabol utananeztem neten es nagyon gyakran elojon ez a hiba vba s vlookupnal, csak epp mindig mas indokkal...igy eleg nehez sajna megoldast googlizni ra
-
biker
nagyúr
válasz Delila_1 #17883 üzenetére
az a baj, hogy ezekkel az ALAP körlevél, boríték kérdésekre kaptam csak korábban választ, ahol egy oldal/egy levél van
címkénél laponként 30-50-100 is lehet, és ott minden cimke mezőbe egyesével kellene a mezőket hozzáadjam, mert az elsőbe felviszem, miket írjon bele, és nem mutatja a másodikon
de majd akkor ctrl+C ctrl+V-vel végigmásolom ezen az egy lapon, és onnan már generálja a többit
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
Kobe
veterán
válasz Delila_1 #17884 üzenetére
Igen de sok vba ban megirt vlookupnal elojon ez a hiba, eleg sok eset van neten errol. Gyakorlatilag az excel valamiert ugy erzekeli h a megadott munkafuzet nincs megnyitva ezert mar ertekadasnal nem tud hivatkozni ra, viszont ez hulyeseg, ott virit mellette a masik munkafuzet
[ Szerkesztve ]
-
biker
nagyúr
válasz Delila_1 #17887 üzenetére
igen, de ezt ha 60 etikett/lap van, akkor 60x ctrl+v
ezen lepődtem meg, hogy ez nem automatikus.De így persze működik
Elektromos autó töltő berendezések | Mesterséges növényvilágítás | Mai ajánlatunk: www.gerisoft.hu | www.e-autotoltokabel.hu | www.agrar-vilagitas.hu |
-
mr.nagy
tag
válasz Delila_1 #17943 üzenetére
Köszi a segítséget!
A darabszám lehet akár 40 - 50 is, ennél nem nagyon van több, bár előfordulhat.
Ezenkívűl ha jól értelmezem a makrót (de kijavítasz ha nem) a nyomtatás után törli a Munka1-ről a teljes C és L oszlopokban taláható adatot. Ha igen nekem ez nem jó, mert ott vannak függvények, stb amire szükség van, tehát csak a megadott cellák tartalmát törölheti.
[ Szerkesztve ]
HMNote10Pro
-
Sprite75
tag
válasz Delila_1 #17940 üzenetére
Az előbbi. Az A1 A2 táblázatok külön külön munkalapon vannak. Ezekben már benne vannak az előző havi tankolások. Az e havi tankolások egy B formátumú táblázatban gyűlnek egész hónapban aztán hónap végén át kéne rakni rendszámonként külön munkalapra ahol további számítások vannak járművenként (átlagfogyasztás havi összesítés stb) Eddig járművenként másolgattam és ezt szeretném könnìteni, automatizálni
[ Szerkesztve ]
-
mr.nagy
tag
válasz Delila_1 #17945 üzenetére
Nem írhat alá sem mert még ott is lesznek adatok.
Viszont eszembe jutott, hogy a Munka2-őn az M oszloptól már biztosan nincs adat, oda esetleg meglehetne csinálni egy segéd oszlopot ahova a cikkszámokat egymás alá bemásolja annyiszor amennyi a darabszám. Majd innen kezdi el a másik munkalapra másolni a már ismert kritériumok alapján a cikkszámokat 12-esével és amikor végzett vagy az egész procedúra előtt is törölheti ennek a segédoszlopnak a tartalmát.
HMNote10Pro
-
Sprite75
tag
válasz Delila_1 #17947 üzenetére
Nem csak 3 munkalapom van hanem kb 30 Van olyan hónap hogy a 30 járműből pl 10 nem tankol abban a hónapban. A példámban B táblázatnak nevezett "lista" munkalapjának a neve "szerkeszt" A járművek külön külön munkalapon vannak, ezek nevei az adott jármű rendszáma A képen amit felraktam csak példa adatok vannak
-
Kobe
veterán
válasz Delila_1 #17970 üzenetére
köszi, ez így működik is viszont a macskakaparás jelekkel megint gondban vagyok a fenti képletet egy stringben definiáltam:
Code = Code & bla bla bla
Code = Code & "ActiveCell.FormulaR1C1= ""=RC[1]&"""-"""&RIGHT("""000"""&RC[2],3)""" & vbNewLinesajna valahol félrecsúsztak a macskakaparás jelek, és a VBA Expected end of statement üzenetet dob, de nekem minden idézőjel páros "rendben lezártnak" tűnik.
Any guess, hol typoztam el ?
-
Sprite75
tag
válasz Delila_1 #17954 üzenetére
Ezt a sort jelzi hibának
usorLap = Sheets(lapnev$).Range("A" & Rows.Count).End(xlUp).Row + 1
Biztosan működne ez csak én nem vágom ezt a macro dolgot.Lehet hogy az is gond, hogy a "példában" amit felraktam A és B neveket adtam a táblázatoknak.
Esetleg elküldhetném neked a konkrét táblázatot valahová? -
-
Geryson
addikt
válasz Delila_1 #18004 üzenetére
Így sem akarja. Átállítom az F2-öt "szöveg"-re, kiütöm belőle a képletet (merthogy ebben most egy "=KÖZÉP(E2;1;SZÖVEG.KERES("-";E2;1)-1)" képlet dolgozik. Beleírom manuálisan a "10463" értéket és így sem találja meg. Mellékelek egy képet, itt látszik, hogy hány értéket nem talál meg úgy, hogy ezek mindegyike megtalálható a "Forrás" fülön. Szemmel láthatóan a többivel nincs gondja... (Természetesen a "G" oszlop HIÁNYZIK értékeire gondolok, ott van a gond)
Rinderkennzeichnungsfleischetikettierungsüberwachungsaufgabenübertragungsgesetz
-
petir
senior tag
válasz Delila_1 #18030 üzenetére
Igen valami hasonlóra csak nekem kell egy kereses mező. Ugye vannak a mérő emberek akik mérnek ők felírják a mért eredményt és gyerekek sorszámát a papírrra. Ezt behozza hozzám a futár Nekem pedig sorszám alapján meg kell keresni a gyereket és párosítani őt az idejével...egyre biztosabb vagyok, hogy ebbe VB is kell...
-
petir
senior tag
válasz Delila_1 #18032 üzenetére
Ez stimm így van van 5 oszlopom. amiből egyedül az idő hianyzik.
Ezt az auto szűrőt nem teljesen értem van egy minta táblám ha autoszurot hasznalok akkor a többi elemet miért tünteti el?
Illetve a beírt eredményt ahogy képen szemléltetted , hogy tudom kiiartni ?Úgy hogy már minden adat szerepel benne?
Meg most kicsit elbizonytalanodtam kell Nekem az acces adatbázis vagy elég ha simán excellbe irom be? -
-
Traxx
őstag
válasz Delila_1 #18154 üzenetére
Valahogy rémlett, hogy ehhez hasonlót már csináltam, de nem tudtam, hol is keressek A 2 lehetőség közül a második tűnik szimpatikusabbnak (de mindkettő tökéletes persze)...köszönöm szépen
[ Szerkesztve ]
"Amúgy a lekvár leszedésre jobb módszer is van: le kell nyalni... elképzelem, ahogy egy nagy PH!-s procitesztben fLeSsék nyalogatják a procikat" by Male (Hűtőpaszta vs. lekvár 2. rész)
-
Tompkins
tag
válasz Delila_1 #18161 üzenetére
Adott pl. a "78". Beütve ezt a számot és lefuttatva a makrót, meg szeretném kapni, hogy hányszor kell összeadni a tükörképével, majd annak a tükörképével stb., hogy egy önmagában tükrös számot kapjunk.
Tehát: 78 -> 78+87=165 -> 165+561=726 -> 726+627=1353 -> 1353+3531=4884 -> Válasz: 4 (négyszer kellett elvégeznie a megfordítását a számnak és összeadni)
Vagy egy másik példa: 34 -> 34+43=77 -> Válasz: 1
Vagy: pl. 8 ill. 11 esetén -> Válasz: 0 (önmagában tükrös)
-
bozsozso
őstag
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest