Hirdetés
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: A RAMválság és annak lehetséges hatásai
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- GoodSpeed: Márkaváltás sok-sok év után
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Magga: PLEX: multimédia az egész lakásban
-
LOGOUT
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
-
válasz
bnorci71
#10528
üzenetére
Mint írtam nem olvastam vissza és az üres sort is csak példának hoztam. Ezzel a sorral van gond
Set lel = .Find(Cells(sor%, "E"), LookIn:=xlValues)
Ha tudod ez mit is csinál(bízom benne, hogy tudod, nem csak úgy bemásolgatod a makrókat, anélkül, hogy ismernéd a működését), akkor hasonlítsd össze a 41.sort az előzőekkel, és remélhetőleg rájössz, hogy az miben különbözik az előző soroktól...
-
válasz
bnorci71
#10526
üzenetére
A macro-ban nincs hibakezelés, mert azt feltételezi, hogy minden vizsgálat esetén megtalálja a keresett értéket. Ezek szerint nem, azaz van olyan sorod/cellád, amiben nem lehet megtalálni. Nem olvastam vissza, de feltételezem nem jelezted Delila_1 felé, hogy pl üres sorok/cellák is vannak...
cellpeti
Kezdőknek és egyből 2010 ez az, amit javasolni tudok (nem Magyar) -
Delila_1
veterán
válasz
bnorci71
#10520
üzenetére
Írtam hozzá egy makrót, amit az excel1.xls füzetedhez másolj be.
Alt+F11-re bejön a VB szerkesztő. Bal oldalon kiválasztod az excel1-et, Insert menü, Module.
Jobb oldalon kapsz egy üres lapot, oda másold.Ha nem excel1 és excel2 a füzeteid neve, írd át a saját neveidre. Ugyanúgy a Munka1 lap nevét is, ha nálad más a lapok neve. Mindegyik füzet neve egyszer szerepel a makróban, a hozzá tartozó Munka1 lappal egy sorban.
A makró futtatásakor legyen mindkét füzeted nyitva.Sub kieg()
Dim sor%, usor%, lel, sor_lel%, WS As Object
Workbooks("excel1.xls").Sheets("Munka1").Activate
usor% = Range("C60000").End(xlUp).Row
Set WS = Workbooks("excel2.xls").Sheets("Munka1")
For sor% = 2 To usor%
With WS.Columns("I:I")
Set lel = .Find(Cells(sor%, "E"), LookIn:=xlValues)
sor_lel% = lel.Row
If Not lel Is Nothing And WS.Cells(sor_lel%, "D") > "" Then
Cells(sor%, "C") = Cells(sor%, "C") & ". " & WS.Cells(sor_lel%, "D")
End If
End With
Next
End Sub -
Delila_1
veterán
válasz
bnorci71
#10498
üzenetére
Az adatok az A1-ben kezdődnek mindkét fájlban, vagy máshol, azonos sorokban, vagy nem?
Az excel1 első sora azonos az excel2 első sorával, vagy az excel2 első sora már tartalmazza a plusz adatokat? Az excel2-ben az emelet és ajtó a címmel azonos cellában szerepel, vagy külön? Ezek az adatok fontosak.Kicsit bőkezűbben bánhatnál a vesszőkkel, háromszor elolvastam az írásodat, mire úgy-ahogy megértettem, mi a lényeg. Talán csatolhatnál 2 képet a két fájl elrendezéséről.
Az sem mindegy, hogy az Excelnek melyik verzióját használod, írd meg.
-
Delila_1
veterán
válasz
bnorci71
#8252
üzenetére
Eszembe jutott valami, de megint csak este tudom kipróbálni. Érdekes feladat, biztosan más is próbálkozik addig a megoldással.
Hogy ne kelljen a lehetséges megoldóknak visszakeresni:
Az A2:A14 tartományban focicsapatok nevei vannak. A teljes tartomány címsorral együtt A1:AI14, ami az AI oszlop értékei szerint van csökkenő sorrendbe rendezve. Az AI változik, emellé kellenének a nyilak az AJ, vagy AK oszlopba. -
Delila_1
veterán
válasz
bnorci71
#8225
üzenetére
Tényleg elsiklottunk a régi kérdésed fölött.
A laphoz kell rendelned egy makrót -> lapfülön jobb klikk, Kód megjelenítése. A képernyő jobb oldalán kapott üres lapra másold be:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column < 28 And Target.Row >= 2 And Target.Row < 15 And _
Target.Column Mod 2 <> 0 Then
Range("A1:AI14").Sort Key1:=Range("AI2"), Order1:=xlDescending, Key2:= _
Range("AH2"), Order2:=xlDescending, Header:=xlYes, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
End If
End Sub -
perfag
aktív tag
válasz
bnorci71
#8225
üzenetére
Ötlet: makró rögzítéssel felveszed a sorba rendezést, valami ilyesmit kapsz:
With ActiveWorkbook.Worksheets("Munka1").Sort
.SetRange Range("E3:E7")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Elvileg az Apply elvégzi a melót, ha nem, akkor tegyél alá egy .Calculate metódust. -
-
válasz
bnorci71
#8110
üzenetére
Hali!
Kijelölöd a (képed alapján) A2 : AI14 cellákat, aztán Adatok/Sorbarendezés. Itt lesz olyan hogy Rendezze és Majd, ennek segítségével megadhatsz több oszlopot rendezési szempontnak. Esetedben elsődlegesnek a pontszám oszlopát, másodlagosnak meg a gólkülönbséget.
Végül is lehet elválasztani az eredményt, de itt talán nem célszerű, hisz 2 cellából könnyebb kiszámoltatni a gólkülönbséget például...
Arra gondolok, hogy (megint csak a képed alapján) az AH2 cellába beírod ezt a képletet és lemásolod ameddig kell.=HA(B2>C2;B2-C2;C2-B2)
Fire.
Új hozzászólás Aktív témák
- Tesla topik
- Horgász topik
- Melyik tápegységet vegyem?
- Black Friday november 29. / Cyber Monday december 2.
- Milyen légkondit a lakásba?
- Arany-fekete színben is elérhető a profi dínó
- Mini PC
- Autós topik látogatók beszélgetős, offolós topikja
- Futás, futópályák
- Call of Duty: Black Ops 6
- További aktív témák...
- Apple iPhone 12 Pro Max / 128GB / Kártyafüggetlen / 12Hó garancia
- BESZÁMÍTÁS! Asus Z790 i9 14900K 32GB DDR4 1TB SSD RTX 2080Ti 11GB Montech Air 1000 Lite 700W
- ÚJ HP Victus 15 - 15.6" FHD IPS 144Hz - Ryzen 5 8645HS - 16GB - 512GB - RTX 4050 - Win11 - 3 év gari
- Új Lenovo 14 Yoga Slim9 WQXGA OLED 90Hz Touch i7-1280P 14mag 16GB 512GB Intel Iris XE Win11 Garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


Fferi50
