Hirdetés
- Fórumok
- OS, alkalmazások
- Microsoft Excel topic
- (kiemelt téma)
-
23800 - 23701
54984 - 54001 54000 - 52001 52000 - 50001 50000 - 48001 48000 - 46001 46000 - 44001 44000 - 42001 42000 - 40001 40000 - 38001 38000 - 36001 36000 - 34001 34000 - 32001 32000 - 30001 30000 - 28001 28000 - 26001 26000 - 25901 25900 - 25801 25800 - 25701 25700 - 25601 25600 - 25501 25500 - 25401 25400 - 25301 25300 - 25201 25200 - 25101 25100 - 25001 25000 - 24901 24900 - 24801 24800 - 24701 24700 - 24601 24600 - 24501 24500 - 24401 24400 - 24301 24300 - 24201 24200 - 24101 24100 - 24001 24000 - 23901 23900 - 23801 23800 - 23701 23700 - 23601 23600 - 23501 23500 - 23401 23400 - 23301 23300 - 23201 23200 - 23101 23100 - 23001 23000 - 22901 22900 - 22801 22800 - 22701 22700 - 22601 22600 - 22501 22500 - 22401 22400 - 22301 22300 - 22201 22200 - 22101 22100 - 22001 22000 - 20001 20000 - 18001 18000 - 16001 16000 - 14001 14000 - 12001 12000 - 10001 10000 - 8001 8000 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2023-11-13 08:31 Téma összefoglaló
Új hozzászólás Aktív témák
-
róland
veterán
Ha jól nézem akkor a következő részlet átalakítása akár nekem is jó lehet?
If Target.Column = 7 Then
sor = Target.Row
Application.EnableEvents = Fals
Range(Cells(sor, "B"), Cells(sor, "F")).Copy
Range("H18").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Range("B4").Select
Application.EnableEvents = True
End If -
Delila_1
veterán
-
róland
veterán
Képlet akkor használható, ha a végső helyen dolgozok.
Ez egy segédtábla, ami minden nap üresen nyílik meg, beírnak pár adatot, majd a végső tábla megfelelő sorába kell azt átrakni. (A kérdéses sort a HOL.VAN függvénnyel lehet megkerestetni.)
A képlet akkor jó, ha a célhelyen kezdeményezem a keresést a források között. Itt viszont a forrásból kezdeményezem az adat átadását.
Mint írtam az is cél, hogy az adatot rögzítő a teljes adattáblához ne férjen hozzá. Kizárólag az aznapi adatokat látná.
-
slashing
senior tag
-
Fferi50
Topikgazda
Szia!
Most egy olyan dodonai választ fogsz kapni, hogy "az excel sokmindenre képes, de sokmindenre nem".
Alapjában véve táblázatkezelőnek "indult", de mára már "adatbázis kezelő" is nyomokban.Ahhoz amit szeretnél, szerintem kell egy olyan makró, amelyik a cella beírása után lefuttatja a cella értékének megfelelő lekérdezést és az eredményt beírja a cella melletti tartományba. Vagyis minden cellaértékre külön-külön kell lefutnia a lekérdezésnek. Viszont ez a lekérdezés (querytable) lehet egy konkrét helyen (akár rejtett munkalapon) és onnan másolódik be az adott cella mellé.
Vagyis a lekérdezés tábla értéke mindig változik az aktuális cella értékének megfelelően, viszont az egyszer már a cella mellé másolt értékek nem változnak.Pl. querytable helye munka2!A1:X2 egy sor fejléc egy sor adat
Munka1.A1 cellájába beírod "valami", a worksheet_change esemény erre lefuttatja a lekérdezést az A1 ez az eseménykezelőben Target nevű objektumként található - értékével, majd a Munka2!A2:X2 értéket bemásolja a Munka1. B1 cellájától kezdődően.
Ezután
Munka1 A2 cellájába beírod "valami2", a worksheet_change esemény megcsinálja a fentieket a Target.value értékkel -azaz az A2-ben levő valami2 -vel majd Munka2!A2:X2 értékekekt bemásolja a Munka1.B2 cellájától kezdődően (Munka1.B2 cella = Target.Offset(0,1) az eseménykezelőben.
És így tovább...."Csak" a lekérdezést és az eseménykezelőt kell jól megírni........ Nyilván ellenőrizni kell, hogy valóban olyan helyre írtak be értéket, ahova a cikkszám való és valóban létező cikkszámot írtak be.
Remélem, tudod hasznosítani amit írtam, ha gondolod privi is jöhet.
Üdv.
-
Xterms
tag
-
róland
veterán
-
Xterms
tag
-
nebulo0128
csendes tag
köszi,
úgy oldottam meg közbe, hogy MS Query-vel odbc adatforrásból betöltöttem, és ott új lekérdezésként annyit adtam csak meg, hogy [ ] ez után fájl>hozzáadás excelhez, és ott kéri az, hogy melyik cellát akarod megadni a paramétert.annyi bajom lenne vele, hogy ezt a lekérdezést nem lehet lefele sokszorozni, és hogy mindig a mellette lévő adatból vegye feltételt. (olyanban gondolkozok, hogy egy nagy adatbázisból dolgozna (amit egy másik forrás progival használunk), én beírom a cikkszámot napi gyártáshoz, és azonnal kilistázza nekem elektronikát, címke nyomtatáshoz linket stb.. )
ilyenre esetleg képes az excel? vagy inkább hagyjam ezt az ötletemet
-
róland
veterán
Ugyan nem Excel, de adott az alábbi makró:
sub Adatrogzites
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$B$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$B$2:$M$2"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Nr"
args4(0).Value = 2
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args4())
rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$B$290"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args5())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
end subA lényege, hogy egy berögzített adatsort átmásolna (kijelölés-másolás-beillesztés módszerrel) egy táblázat megfelelő sorába.
Ezt szeretném módosítani oly módon, hogy az adott dátumnak megfelelő sorba szúrja be az adatokat. (A dátumnak megfelelő sor kiszámított sorszámát az eredeti munkalap egyik (jelen esetben A3) mezője tartalmazza.Úgy néztem, hogy ebben a részben határozza meg, hogy hová is kell beszúrni:
rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$B$290"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args5())Azaz ezt szeretném úgy módosítani, hogy $B$290 érték helyett a mindenkori kívánt cellába illessze be az adatokat.
Hogy lehet ezt megoldani?
-
Fferi50
Topikgazda
Szia!
Még az előző hozzászólásomhoz annyit:
Ha a feltételt a cellából veszi, akkor csak "WHERE (f_orszag like '" & Munka1!A1 & "')"
Amit az előbb írtam, a makrós megoldásra jó.
Üdv.
-
Fferi50
Topikgazda
Szia!
Szerintem próbáld így:
WHERE " (f_orszag like ' & sheets("Munka1").range('A1").value & "')"
Üdv.
-
Delila_1
veterán
-
Xterms
tag
-
Delila_1
veterán
-
Delila_1
veterán
-
Xterms
tag
Óó király vagy, kezd alakulni.
Megoldható az, hogy a gomb egy kijelölt sort másoljon be A-ból, és ne mindenképp azt, amelyikkel egy sorban van?m.zmrzlina: külön cellákban vannak, sőt, igazából egymás mellett is több cellányi tartalom lenne, csak ezt még nem mertem felhozni, majd napról napra bonyolítom, és eljutunk valahová remélem

-
nebulo0128
csendes tag
Hello,
SQL lekérdezést szeretnék betenni excelbe, úgy hogy a feltételt az egyik cellából veszi
adatkapcsolat létrejön sqlexpress ki is tudom listázni, pl
SELECT f_nev1
FROM "proba"."dbo"."orszag"
WHERE (f_orszag like 'DE')
ez kiírja akkor hogy Németország
azt szeretném, hogy a feltételben a DE-t a táblázat egyik mezőjéből vegye, pl A1próbáltam azt, hogy:
SELECT f_nev1
FROM "proba"."dbo"."orszag"
WHERE (f_orszag like '%=Munka1(A1)%')meg ennek változatait de nem listáz ki semmit
hogyan kell helyesen megadni, hogy a táblázatomból vegye a feltételt? (ha lehet egyáltalán)
-
m.zmrzlina
senior tag
-
mdk01
addikt
Úgy néz ki megoldódott.
,
Köszi -
Delila_1
veterán
Az A oszlopba írtam az adatokat, B-be gombok helyett csak a Windings betűtípus 0240-es kódját tettem. A fekete hátterű cellák a C oszlopban vannak.
A makrót a laphoz kell rendelni.Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim sor As Long
sor = Target.Row
If Target.Column = 2 Then
If Cells(sor, 3) = "" Then
Cells(sor, 3) = Cells(sor, 1)
Else
Application.DisplayAlerts = False
Do While Cells(sor, 3) <> ""
Cells(sor, 3) = Cells(sor + 1, 3)
sor = sor + 1
Application.DisplayAlerts = True
Loop
End If
End If
End Sub -
m.zmrzlina
senior tag
-
mdk01
addikt
Ott ahol nem működik a képlet nézd meg, hogy nincs-e a hivatkozott cellában szóköz vagy egyéb nem kinyomtatható karakter.
Aha, erre nem gondoltam.

Hivatkozás van benne, de a hivatkozott cella is üres így nem ír ki semmit.
Akkor gondolom ilyen esetben a hivatkozott cellára kellene nekem is hivatkozni.Köszönöm
-
m.zmrzlina
senior tag
-
mdk01
addikt
Igen, köszönöm pont ezt próbáltam meg most, és működik valamelyiknél, vaamelyiknél pedig nem.
Nem teljesen értem, szerintem valami zavar van a képletben és megkeveredik.És ha nem akarom hogy az üres szót kiírja, hanem ne írjon ki semmit akkor mit kell írni?
Most csak simán így hagytam, de ez is zavaros neki.=HA(A1="";"";A1)
Köszönöm
-
m.zmrzlina
senior tag
Próbáld így:
=Vágáslista!A3&"_"&Vágáslista!S3&"_"&HA(Vágáslista!R3="";"";KÖZÉP(Vágáslista!R3;1;10)&"_"&HA(Vágáslista!Q3="";"";Vágáslista!Q3)&"_"&Vágáslista!D3)
Ha üres cella esetén szeretnél valamit csinálni, vagy nem csinálni akkor a következő képletet használd:
=HA(A1="";"üres";A1)Lefordítva: (a képlet mondjuk B1-ben van):
Ha A1 nem tartalmaz adatot akkor B1 értéke az üres szó (vagy ami az üres helyén az idézőjelek közt van) egyébként B1 megkapja A1 értékét -
Teejay83
tag
-
mdk01
addikt
Sziasztok,
Lenne egy kérdésem megint.=Vágáslista!A3&"_"&Vágáslista!S3&"_"&HA(Vágáslista!R3="üres";"üres";KÖZÉP(Vágáslista!R3;1;10)&"_"&HA(Vágáslista!Q3="üres";"üres";Vágáslista!Q3)&"_"&Vágáslista!D3)
Itt az "üres" részével volna kérdésem, hogy ezt így jól csináltam?
A lényeg annyi csak hogy ha a cella üres akkor ne írjon ki semmit, ha pedig van bene valami érték akkor írja ki azt.
Az nem tetszik hogy nem csinálja meg automatikusan ha lemásolom a képletet a többi cellára, csak akkor ha beírok abba a bizonyos cellába egy értéket, akkor azt megjeleníti és utána ezt az értéket kitörlöm és akkor nem jelenít meg semmit.
Szóvel ez az "üres" érték nem tetszik neki lehet, vagy nem is tudom. Ezt így kell jelölni?Köszönöm
-
m.zmrzlina
senior tag
-
m.zmrzlina
senior tag
-
A214
aktív tag
egyszerűbb megadni azt, hogy mi ne kapjon sorszámot
-
m.zmrzlina
senior tag
-
A214
aktív tag
Hali
Ez csak egy példa volt, nem nevek vannak, hanem helyiségek(WC,fürdő,konyha,szoba stb minden féle)
Szóval ezekhez nem akarok sorszámot, viszont ami a helyiségen belül van ahhoz igen. -
m.zmrzlina
senior tag
Persze ha az L oszlop képleteit felülírod az értékükkel akkor a segédoszlopokat simán lehet törölni.
Kérdés az, hogy milyen könnyen tudod előállítani a (nálam) O oszlopban lévő listát.
-
m.zmrzlina
senior tag
-
plaschil
aktív tag
Gondolom a nevek elé nem akarsz sorszámot.
Sub Macro1()
Dim text As String, result As String
text = "Ádám"
result = Left(text, 1)
'MsgBox is for demo only
MsgBox result
If (result = UCase(result)) Then MsgBox ("true")
End SubEz a kis kód megmondja, hogy melyik cellában van név. (feltételezve, hogy nagybetűvel van írva a név)
Így hogy tudod, melyikben mi van, könnyű megírni rá a kódot most már. -
A214
aktív tag
üdv!
Adott egy táblázat amit sorszámozni szeretnék.
Viszont a táblázat tartalmaz olyan sorokat is amit nem akarok sorszámmal ellátni.Tehát:
Tibor
1alma
2körte
István
3banán
4szilva
5citrom
6füge
Ádám
7banán
8szilva
9citrom
10füge
11cseresznyeLétezik erre valami trükk?
-
Xterms
tag
Sziasztok!
A képen láthatót szeretném megvalósítani excelben.
Van A és B listám. B listán minden sorhoz tartozik egy gomb. Ha A listáról kijelölök egy sort, és megnyomom B listán a gombot, akkor azt a sort bemásolja oda (a példában aaaaa... és bbbbbb... sorok). Ha újra megnyomom a gombot, ami melletti sor nem üres ( a példában aaaaaa... soránál) akkor törli, ami mellette van, és az alatta lévő sorok egyet feljebb ugranak.
Na, ehhez hogy fogjak hozzá?

-
Delila_1
veterán
-
plaschil
aktív tag
-
Delila_1
veterán
Függvénnyel nem, de egy rövid kis makróval megoldható.
Sub Hiba()
Dim ter As Range, CV As Range, usor As Long
Sheets("A").Activate
usor = Cells(1).End(xlDown).Row
Set ter = Range("A1:A" & usor)
For Each CV In ter
If CV.Interior.Color = vbRed Then Sheets("B").Cells(CV.Row, "X") = "Hiba"
Next
End SubA Sheets("A").Activate, és az
If CV.Interior.Color = vbRed Then Sheets("B").Cells(CV.Row, "X") = "Hiba"
sorokban írd be az "A" és "B" helyére a lapjaid igazi nevét, idézőjelek között. -
plaschil
aktív tag
Szervusztok!
Kérdésem az volna, hogy egy sima if-fel tudom-e vizsgálni hogy egy adott cellatartományban van-e valamilyen színezés?
Ötletem arra irányul, hogy ha egy sheet-en (pl. A) mondjuk a 4. sorban van valahol piros háttérszín, akkor egy másik sheet-en (pl. B) ugyanígy a 4. sor X. cellájába írja be, hogy hiba.
-
Delila_1
veterán
Nem tudom, melyek a "hasznos" értékek.
Két oszlop tartalmát több módon össze lehet hasonlítani. A képen ezek közül 1-et látsz. A második oszlop azt mutatja, hogy a mellette balra lévő szám melyik sorban található az E oszlopban, az F pedig a mellette lévő szám előfordulási helyét adja az A oszlopban.Használhatod még a DARABTELI függvényt, vagy makrót.
Az A és E oszlopra feltételes formázást adtam. A-ra: =HOL.VAN(A2;E:E;0)>0, E-re a fordítottja.
-
Teejay83
tag
Sziasztok
Segítsetek légyszi

Excel 2010-ben kellene két oszlopot összehasonlítani amiben azonosító számok találhatók.
Az egyik oszlop 140 sorból a másik 560-ból áll
Hogy lehetne legegyszerűbben leszűrni a két oszlop tartalmát a szerint,hogy melyek az azonos értékek?
-
Delila_1
veterán
-
Attys01
csendes tag
Sziasztok,
sajnos nem tudok megoldást találni a problémámra ezért kérnék segítséget.
Van egy excel táblám, és kördiagramot kellene készítenem. Fiktíven írtam fel adatokat, csak hogy érzékeltessem a problémát (egyes diagramon kötelezően feltüntetendő magyarázatok elég hosszúak.) A kördiagramot elkészítve, általában meg sem jelenik az összes magyarázat. Tudom, ha széthúzom meg minden, akkor látszódni fog minden.De a kérdésem van megoldás arra, hogy aaaaa…. és bbb…. közötti térközt lecsökkentsem, már ami eszembe jutott kipróbáltam, és nem sikerült. Sajnos az semmiféleképpen sem járható út, hogy a magyarázat hosszát csökkenthessem, ukáz, hogy ki kell írni az egészet…
-
Delila_1
veterán
Klassz az oldal.
Többnyire ahhoz szükséges 1-1 függvény angol neve, ha makróban szeretnénk alkalmazni. Internet nélkül is megtudhatjuk a nevét.
Beírjuk a függvényt a lapra, így kipróbálhatjuk, hogy működik-e. Lapfülön jobb klikk, Beszúrás, Nemzetközi makrólap. Kapunk egy új lapot Makró1 névvel.
Átmásoljuk a függvényt tartalmazó-, valamint az(oka)t a cellá(ka)t, ami(k)re hivatkozik.Az új lapon a függvény cellájában, és a szerkesztőlécen angolul jelenik meg a függvénynév, ha rákattintunk, magyarul láthatjuk.
-
slashing
senior tag
Excel függvények angolról magyarra vagy fordítva
Nem emlékszem hogy valaha is lett volna olyan függvényem amit nem tudott volna átfordítani. Nagyszerű oldal!
-
Mittu88
senior tag
-
Delila_1
veterán
Igen, mindegyikre tesz, de nem kötelező minden oszlopodat szűrni. Ha csak a típust szűröd, pl. C30/37-16/F3-ra, akkor 2 féle kitét látszik, a képlet értéke 54. Ha a kitétet is szűröd XC2 XV2 XD2 XA1-re, az eredmény 47.
Jobb, ha kimutatást készítesz, új lapra.
Javaslom, hogy a Munka1 lap A2:C495 tartományát alakítsd táblázattá. Kijelöl, Beszúrás, Táblázatok, Táblázat. Ez azért jó, mert az ebből készített kimutatás ilyenkor a táblázatod bővülésekor az újabb sorok adataival is számol frissítéskor.
Ebből érdemes kimutatást készíteni.Szerk.: a C495-ben helytelen adat van!
-
adam_
senior tag
-
adam_
senior tag
-
Delila_1
veterán
Egyszerűen megoldható.
A 2. sorba autoszűrőt teszel. Szűröd a tartományt típusra és kitétre. Az E2 cella képlete
=RÉSZÖSSZEG(9;C:C)
Ez mindig az aktuális szűrésnek megfelelő összeget adja.Kimutatással megoldhatod a kérdésed második részét.
A sorcímkékhez adod a típust, oszlopcímkékhez a kitétet, és az értékekhez a mennyiséget. -
adam_
senior tag
Sziasztok!
Adott három oszlop, betontípus, kitéti osztály, és mennyiség. Egy olyan legördülő szűrési opciót szeretnék kialakítani, amelyből ki lehet választani a betontípust és hozzá mellette a hozzá tartozó kitéti osztályát lehozza szintén legördülő listából és az ezekhez tartozó mennyiségeket összeadja egy harmadik mellette lévő oszlopban.
Egy külön részben pedig listázza az osszes kombinaciot eloszor. Mert több betontípushoz több kitéti osztály is tartozhat. Ezt gondolom Fkeressel kéne elsőkörben?
Előre is köszönöm a válaszokat.
-
Delila_1
veterán
-
tope
addikt
Szép napot (legalábbis süthetne)
Adott egy excel fájl, amit többen is használnak. Egy illető aki használja, szeretné azt beállítani, hogy megadott cellát zárolvá tegyen úgy, hogy abba ő tudjon beleírni, de más ne. Lehetséges-e ez ? -
Delila_1
veterán
-
Fferi50
Topikgazda
Szia!
Félreértettél, nem azt írtam, hogy nincs hibakezelés a makródban - természetesen láttam, hogy ott van az on error goto tovabb és a tovabb cimke - , sőt, még azt sem írtam, hogy nem jó a ws.match, hanem azt, hogy app.match esetén nem kell külön hibakezelést beépíteni a makróba.
Üdv.
Idézet a 23730-ból:
"A worksheetfunction.match helyett célszerűbb az application.match függvényt alkalmazni, (ezt én is egy másik topicban tanultam), mivel így más módon kell a hibakezeléssel foglalkozni." -
Delila_1
veterán
-
bteebi
veterán
-
Fferi50
Topikgazda
-
slashing
senior tag
-
Snoop-y
veterán
-
Fferi50
Topikgazda
-
Snoop-y
veterán
-
m.zmrzlina
senior tag
"A.xlsx" munkafüzetet megnyitod (ez az amiben te módosítasz nem a képletek)
Alt+F11-gyel VB editort megnyitodbal oldalon lesz a projekt tallózó ablakban, egy olyan hogy "VBAProject(A.xlsx)"
természetesen nem (A.xlsx) hanem a te fájlod neve lesz itt.
Ez alatt a ThisWorkBook-on jobbklikk majd View CodeAz így megnyíló ablakba bemáslod a 23634-es hsz-ben lévő kódot.
Ezt a fájlodat (az "A.xlsx"-t amiben te módosítasz nem a képletek) makróbarátként (.xlsm) kell menteni. Onnantól kezdve A.xlsm lesz a neve. Természetesen az "A" helyén a te fájlod neve szerepel.Ezen a két helyen munkafüzetek neveit átírod a saját munkafüzeteid neveire.
Workbooks.Open ThisWorkbook.Path & "\B.xlsx"
Workbooks.Open ThisWorkbook.Path & "\C.xlsx"Mindhárom munkafüzeted legyen ugyanabban a mappában legyen.
-
Fferi50
Topikgazda
Szia!
Néhány apró észrevétel:
" Cells(sor + 1, oszlop).Select
usor = Selection.End(xlDown).Row
"A select teljesen felesleges, egyszerűen usor=cells(sor+1,oszlop).end(xldown).row elég.
A worksheetfunction.match helyett célszerűbb az application.match függvényt alkalmazni, (ezt én is egy másik topicban tanultam), mivel így más módon kell a hibakezeléssel foglalkozni.
A ws.match hibát generál, ha nem találja a keresett értéket, az app.match hibaértékkel tér vissza, amit változóban vagy függvényben is "elkaphatsz", akár az iserror, akár az iferror függvény működik. Tehát ebben az esetben nem kell az on error goto vagy on error resume next sor és a hozzá kapcsolódó dolgok.Ha iserrort használsz, akkor "csak" arra kell figyelned, hogy a változó, amibe kéred a match eredményét, variantnak legyen definiálva - mivel értéke lehet szám és lehet hibaérték is. Iferrornál nem kerül a változóba hiba, tehát ott jó a double is.
Üdv.
-
slashing
senior tag
-
Fferi50
Topikgazda
Szia!
Azért javaslom, nézd meg ezt is. Egyetlen követelmény, hogy a másolandó adatok az első oszlopban kövessék egymást - úgy ahogyan a képeken is van.
Sub masolo()
Dim mlap1 As Worksheet, masolando As Range, mlap2 As Worksheet, hovasor As Double, hovaoszlop As Double
Set mlap1 = Workbooks("Munkafüzet3").Sheets("Munka1")
Set mlap2 = Workbooks("Munkafüzet4").Sheets("Munka1")
Set terulet = mlap2.UsedRange
hovasor = terulet.Rows.Count
If terulet.Cells(1, hovasor) = "" Then
Do While True
If terulet(1, hovasor).End(xlToRight).Column < terulet.Columns.Count Then Exit Do
hovasor = hovasor - 1
Loop
End If
hovasor = hovasor + 1
Set terulet = mlap1.Range("A1").CurrentRegion
Do While True
For oszlop = 1 To terulet.Columns.Count
hovaoszlop = Application.IfError(Application.Match(terulet.Cells(1, oszlop), mlap2.Rows("1:1"), 0), 0)
If hovaoszlop <> 0 Then
Intersect(terulet, terulet.Offset(1, 0)).Columns(oszlop).Copy mlap2.Cells(hovasor, hovaoszlop)
End If
Next
hovasor = hovasor + terulet.Rows.Count - 1
Set terulet = terulet.Range("A1").End(xlDown).End(xlDown).CurrentRegion
If Intersect(mlap1.UsedRange, terulet) Is Nothing Then Exit Do
Loop
MsgBox "A másolás megtörtént!", vbInformation, "Másolás"
End SubÜdv.
-
samfishR
senior tag
Köszi a tippet!
Sajnos a makrókhoz semmi közöm, ebben tudna valaki segíteni?

-
slashing
senior tag
-
slashing
senior tag
Köszi, nekem most van egy verzióm ami manuálisan félig kész már csak valahogy ciklusba kellene raknom amit még egyenlőre nem tudom hogyan kell.
Ez most ott tart hogy a keresendo =cells(1,1) itt adom meg neki hogy melyik fejlécet keresse, kijelöli most még csak így manuálisan az Fejléc alatti adatokat(A2 xldown) és másolja, megnyitja a célfájlt, megállapítja az utolsó sort és azonosítja az oszlopot amiben szerepel a cells(1,1) fejléc majd odaugrik annak az oszlopnak az utolsó sorábá és bemásolja az adatokat.
Nah ezt kéne ciklusba rakni valahogy úgy hogy ha berakta az első oszlop adatait visszaugrik kimásolja a B1 alatti adatokat, berakja az afölötti fejléces oszloppal rendelkező oszlopba megint visszaugrik kimásolja a C1 alattit azt is bemásolja a megfelelő fejléccel ellátott oszlopba majd ha már nem talál adatot kilépjen.
Sub akarmdi()
Dim LastRow As Long
keresendo = Cells(1, 1)
Range("A2").Select
Range(Cells(ActiveCell.Row, ActiveCell.Column), Cells(ActiveCell.End(xlDown).Row, ActiveCell.Column)).Select
Selection.Copy
Pathname = "q:\SPC 2010-2012-2013\Bosch\"
Filename = "0000-0000.xlsx"
Workbooks.Open Filename:=Pathname & Filename
LastRow = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
LastRow = LastRow + 1
oszlopazonositas = Application.Match(keresendo, Workbooks("0000-0000.xlsx").Worksheets("munka1").[1:1], 0)
ActiveSheet.Cells(LastRow, oszlopazonositas).Select
Selection.PasteSpecial Paste:=xlPasteValues
End Sub(#23724) Delila_1 Próbálom
-
Delila_1
veterán
Meg is van.
Sub Oszlopok_1()
Dim WS1 As Worksheet, WS2 As Worksheet, sor As Long, usor As Long
Dim oszlop As Integer, uoszlop As Integer, cim As String, oszlophova As Integer
Dim WF As WorksheetFunction, sorhova As Long
Set WS1 = Sheets("Munka1")
Set WS2 = Sheets("Munka2")
Set WF = Application.WorksheetFunction
sor = 1
WS1.Select
Do While Cells(sor, 1) <> ""
uoszlop = WS1.Range("A" & sor).End(xlToRight).Column
sorhova = WS2.UsedRange.Rows.Count + 1
For oszlop = 1 To uoszlop
cim = Cells(sor, oszlop)
On Error GoTo Tovabb
oszlophova = WF.Match(cim, WS2.Rows(1), 0)
Cells(sor + 1, oszlop).Select
usor = Selection.End(xlDown).Row
Range(Cells(sor + 1, oszlop), Cells(usor, oszlop)).Copy WS2.Cells(sorhova, oszlophova)
Tovabb:
On Error GoTo 0
Next
sor = Range("A" & sor).End(xlDown).Row
sor = Range("A" & sor).End(xlDown).Row
Loop
End Sub -
Delila_1
veterán
Nem teljesen olyan, mint a képen, de hasonlít.
Ha kevesebb dolgom lesz, megpróbálom azt a formát kihozni.Sub Oszlopok()
Dim WS1 As Worksheet, WS2 As Worksheet, sor As Long, usor As Long
Dim oszlop As Integer, uoszlop As Integer, cim As String, oszlophova As Integer
Dim WF As WorksheetFunction, sorhova As Long
Set WS1 = Sheets("Munka1")
Set WS2 = Sheets("Munka2")
Set WF = Application.WorksheetFunction
sor = 1
WS1.Select
Do While Cells(sor, 1) <> ""
uoszlop = WS1.Range("A" & sor).End(xlToRight).Column
For oszlop = 1 To uoszlop
cim = Cells(sor, oszlop)
On Error GoTo Tovabb
oszlophova = WF.Match(cim, WS2.Rows(1), 0)
Cells(sor + 1, oszlop).Select
usor = Selection.End(xlDown).Row
sorhova = WS2.Cells(Rows.Count, oszlophova).End(xlUp).Row + 1
Range(Cells(sor + 1, oszlop), Cells(usor, oszlop)).Copy WS2.Cells(sorhova, oszlophova)
Tovabb:
On Error GoTo 0
Next
sor = Range("A" & sor).End(xlDown).Row
sor = Range("A" & sor).End(xlDown).Row
Loop
End Sub -
Fferi50
Topikgazda
Szia!
Most ellenőriztem, sajnos a speciális szűrés nem megy, mert ha nincs olyan fejléc a szűrendő mezőben, akkor hibát dob (bár nem egészen értem a logikáját, hogy miért, de ez van, ezt kell elfogadni.)
Másik ötlet:
Képlet szinten: Hol.van függvénnyel meghatároznám, hogy az adott fejléc hanyadik oszlopban van a másik táblában és abba az oszlopba kell tenni az adatot. (Nyilván ezt le lehet makróval rendezni (match függvény)).
Tehát: kb.így nézne ki
set mlap1=workbooks("Munkafüzet3").sheets("Munka1")
set mlap2=workbooks("Munkafüzet4").sheets("Munka1")
itt kezdheted az oszlopok ciklusát
oszlop=application.match(mlap1.range("A1").value;mlap2.rows('"1:1"),0)
if not iserror(oszlop) then ' ez csak azért kell, ha mégsem lenne olyan fejléc a másik munkalapon
yy=mlap.cells(40000,oszlop).end(xlup).row+1
for xx=2 to mlap1.range("A2").end(xldown).row
mlap2.cells(yy,oszlop).value=mlap1.cells(yy,"A").value
yy=yy+1
next
else
msgbox "Nincs ilyen fejléc: " & mlap1.range("A1").value
endif
next oszlopokA makró csak szemléltető, nem feltétlenül hibátlan.
Ezt végigcsinálod minden oszlopon, és minden kis táblán.
Ha deklarálod a változókat, az oszlop mindenképpen variant legyen, mert annak értéke hiba is lehet, mint látod.Remélem érthető és tudod használni.
Üdv.
-
slashing
senior tag
Amúgy én úgy képzelem/képzeltem el hogy először megkerestetem a célfájl azon sorát amiben a legtovább van adat ezt eltározom egy változóban sorazonosítóként aztán van egy ciklusom ami végigfut az első tábla fejlécsorán mégpedig úgy hogy csinál egy keresést a másik fájl fejlécében és ahol megtalálja az egyezőt ott eltározom az oszlop azonosítót ha ez meg van akkor van egy sor és oszlopazonosítom ahova bemásolhatja az adatokat. Arra mondjuk figyelni kell hogy a sorazonosító ne legyen ciklusban nehogy lépcsős legyen az egész. Így leírva milyen egyszerű
-
slashing
senior tag
Csak hogy tuti ne beszéljünk el egymás mellett:
Bal oldalt van 3 variáció ahogy kiköpi a kigyűjtős macrom az adatokat. A jobb oldali végeredményt szeretném elérni. Kigyűjti a macro az adatokat változó fejléccel meghívja a következő macrot ami belerakja a jobb oldali táblába ahol már fix fejléc van csak mindig oda kerül az adat amelyik alá tartozik.
-
Fferi50
Topikgazda
Szia!
Ha jól értem, akkor a fejlécek különbözőek, csak más-más sorrendben vannak.
Ebben az esetben én a következőt javaslom:
Csinálj egy "átmeneti" táblát(munkalapot), ahová a fejléceket a második táblában levő sorrendbe teszed be. (Praktikusan beillesztesz egy munkalapot és ide bemásolod a második tábla első sorát).Ezután az első tábládra csinálsz egy "advanced filtert", ahol a szűrendő tartomány az első tábla usedrange, a szűrőfeltétel az átmeneti tábla első sora és új helyre másolás helyének kijelölöd az átmeneti tábla első sorát.
Végrehajtod az irányított/speciális szűrést - ekkor az átmeneti tábládban már ugyanolyan sorrendben lesznek az oszlopok, mint a második táblában. Innen már csak egy sima copy kell és az átmeneti tábla törlése.DE még egyszerűbb szerintem a következő:
Szintén advanced filter, a következők szerint:
Szűrendő az első táblád
Feltétel: a második táblád fejléc sora (csak az első sor!)
Másolás helye: a második táblád vége!
Új helyre másolással a szűrés végrehajtása.
Az tábla közben (az eredeti második tábla utolsó sora után) keletkező "álfejléc" sor törlése. Nyilván ezt akkor tudod megtenni, ha megjegyezted, melyik sort jelölted ki másolási célnak.Talán bonyolultnak tűnik, de hidd el egyszerűbb megcsinálni, mint leírni volt.
Én rögtön a második verzióval kezdeném.Üdv.
-
Mittu88
senior tag
-
slashing
senior tag
-
slashing
senior tag
Ötleteket várnék arra hogyan lehetséges megoldani a következő másolás beillesztést aztán megpróbláom magamtól megcsinálni

Első sor a fejléc és az alatta lévő adatokat kéne átmásolnom egy másik fájlnak ugyan olyan fejléccel rendelkező oszlopába. Fontos a fejléc szerinti cellaérték alapján menni mert változó sorrenben fognak lesznek a fejlécben az adatok egyszer 1x,2x,3x, mások meg lehet hogy csak 1x,4x van
Pl. Ha A1-ben az van hogy 1x akkor a másik fájl azon oszlopába kéne másolnom az adatokat aminek a fejlécében az A1 van, mindezt úgy hogy ismételhető legyen egymás után akárhányszor szóval ha új adat van akkor a második fájlnak mindig a végére rakja de fontos hogy a kiinduló fájl fejlécében lévő szöveg alatti adatok a végleges fájl azonos fejléccel rendelkező oszlopába kerüljenek mindig a végére.
Attól félek hogy baromi lassú lesz, mivel a legdurvább esetben a kiindulási pontban akár 200 fejléces oszlop is lehet és ezek mindegyikét egyesével kell gondolom valahogy ellenőriztetni és átmásolni...
-
Snoop-y
veterán
-
Saua
tag
-
Visormail
addikt
-
lappy
őstag
-
lappy
őstag
-
lappy
őstag
-
Saua
tag
Köszönöm a segítségeteket de csak nem boldogulok.
Sajnos nagyon korlátozottak az excel ismereteim, azt szeretném ha nem kellene állandóan beírni a város nevét az i oszlopban levő DARABTELI képletbe, hanem a képlet másolható lenne és a városnevek automatikusan kerülnének az G oszlopból a feltétel helyére. Tehát az i oszlopban megjelenjen hogy például Balatonlelle hányszor szerepel az E oszlopban.

Nem világos, hogy hogy néz ki a teljes DARABTELI képlet. -
Fferi50
Topikgazda
-
Visormail
addikt
Sziasztok. Ha egy táblázaton bekapcsolom a korrektúra/lapvédelem funkciót, akkor nem engedi használni az adatok/szűrők törlése gombot se. Tehát ha több szűrőt beállít valaki, utána nem tudja gyorsan alaphelyzetbe állítani, hanem egyesével kell a szűrőket vissza kikapcsolni.
Pedig ez nem szerkesztési művelet csak kényelmi funkció az autószűrőhöz. Ha a lapvédelemnél kipipálnék mindent amit felajánl engedélyezésre, ezt akkor is letiltja. Ezzel nem lehet valamit kezdeni?
-
bteebi
veterán
-
Saua
tag
-
bteebi
veterán
Ha nem kellenek a nyers adatok, csak a transzponált táblázat, akkor azt meg tudod csinálni, hogy a vágólapra helyezett táblázatot irányított beillesztéssel bemásolod képként (Enhanced metafile), majd ezt elforgatod Wordben 90°-kal. Jó minőségű és gyors, de sajnos az adatok nem lesznek szerkeszthetőek.
Vagy:
Elforgatod az összes szöveget 90°-kal, a sormagasságokat oszlopszélességűre veszed és fordítva, és akkor jó lesz. -
Mittu88
senior tag
-
Snoop-y
veterán
Sziasztok,
A kovetkezoben kernek segitseget:
Van 3 oszlopom es a negyedikben szeretnem megjeleniteni ezek eredmenyet a kovetkezokeppen:
Ha elso oszlop nem ures akkor annak az erteket
Ha ures akkor a masodikat ha az is ures akkor a harmadikat. -
Fferi50
Topikgazda
Szia!
Egy oszlopot csinálj a városnevekből irányított szűrővel, csak az egyedi adatokra szűrve, másolás másik helyre. Utána az első cella mellé beírod a darabteli képletet és végighúzod az oszlopon.(A darabteli képletben $E$2:$E$4000 legyen a tartomány!)
Utána a darabtelis oszlopot átalakítod értékké. (másolás, irányított beillesztés - értéket).
Majd a két oszlopot rendezed a második oszlopra kívánalmaid szerint.Üdv.
Új hozzászólás Aktív témák
-
23800 - 23701
54984 - 54001 54000 - 52001 52000 - 50001 50000 - 48001 48000 - 46001 46000 - 44001 44000 - 42001 42000 - 40001 40000 - 38001 38000 - 36001 36000 - 34001 34000 - 32001 32000 - 30001 30000 - 28001 28000 - 26001 26000 - 25901 25900 - 25801 25800 - 25701 25700 - 25601 25600 - 25501 25500 - 25401 25400 - 25301 25300 - 25201 25200 - 25101 25100 - 25001 25000 - 24901 24900 - 24801 24800 - 24701 24700 - 24601 24600 - 24501 24500 - 24401 24400 - 24301 24300 - 24201 24200 - 24101 24100 - 24001 24000 - 23901 23900 - 23801 23800 - 23701 23700 - 23601 23600 - 23501 23500 - 23401 23400 - 23301 23300 - 23201 23200 - 23101 23100 - 23001 23000 - 22901 22900 - 22801 22800 - 22701 22700 - 22601 22600 - 22501 22500 - 22401 22400 - 22301 22300 - 22201 22200 - 22101 22100 - 22001 22000 - 20001 20000 - 18001 18000 - 16001 16000 - 14001 14000 - 12001 12000 - 10001 10000 - 8001 8000 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- OS, alkalmazások
- Microsoft Excel topic
- (kiemelt téma)
- Eladó jogtiszta, Windows 11/10, Office 2019/2021/2024, Fizikai és Digitális licencek, Számlával.
- Eladó PC játékok - sok ritkaság!!!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem.
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Lenovo A285 12,5" FHD - Ryzen 5 pro 2500U, 8GB RAM, 256GB SSD, jó akku, számla, garancia
- 243 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080 (ELKELT)
- Alienware Aurora R13 Gaming! i7-12700KF / RTX 3080 Ti / 32GB DDR5 / 1TB NVMe / 1TB HDD! BeszámítOK
- AKCIÓ! Nothing Phone (3) 5G 512GB okostelefon garanciával hibátlan működéssel
- HP Victus Gaming Laptop RTX 4070 / i7-13700H 16GB DDR5 1TB SSD Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


Megoldható az, hogy a gomb egy kijelölt sort másoljon be A-ból, és ne mindenképp azt, amelyikkel egy sorban van?
,


szerintem ez így tökéletes esz legalábbis az első tesztek alapján köszi, most jól átnézem mi micsoda benne mert ez a ciklusba rakás elméletben tök egyszerű de valahogy a sajátomnál csak bámultam hogy akkor hogyan rakjam ezt ciklusba.
Ha kevesebb dolgom lesz, megpróbálom azt a formát kihozni.


