Hirdetés
-
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
-
Excelbarat
tag
Ebben a hozzászólásban pont erre van válasz!
Annyi módosítást csinálsz, hogy miután ugrással kijelölted az üres cellákat azokat csak törlöd.Egy másik megoldás (lehet inkább ez lenne az ideális neked), hogy B oszlopban beírod ezeket:
B1: 1
B2: 6
B3: 11 (lehúzod ameddig szeretné hogy majd kiírja)
A "C" oszlopban pedig ezt írod:
C1: =INDEX(A:A;B1;1) Így ezzel a "B" oszlop számaival egyező "A" oszlop sorú értéket ad vissza. (ezt is csak végighúzod)
Remélem valamelyik módszer jó lesz. -
poffsoft
veterán
Option Explicit
Sub kever()
Dim sws, tws As Worksheet
Dim i, endr, dest As Long
Set sws = ActiveWorkbook.Sheets("Munka1")
Set tws = ActiveWorkbook.Sheets("Munka2")
endr = sws.Range("A65536").End(xlUp).Row
sws.Range("V1:V" & Range("V65536").End(xlUp).Row).Clear
tws.Range("A1:A" & Range("A65536").End(xlUp).Row).Clear
sws.Range("A1:A" & endr).Copy Destination:=sws.Range("V1")
Randomize
For i = endr To 1 Step -1
dest = Int((i) * Rnd() + 1)
tws.Range("A" & (endr - i + 1)) = sws.Range("V" & dest)
sws.Range("V" & (dest + 1) & ":V" & i).Copy Destination:=sws.Range("V" & (dest))
sws.Range("V" & i).Clear
Next i
End Subsws a forrás lap, tws a cél (ahová összekeveri)
az "A" oszlopban kell lenni a kérdéseknek. -
Delila_1
veterán
Az összesített pontszámaid az S3:S52 tartományban vannak, ha jól értem.
Vegyél fel egy új oszlopot, a képlete legyen =S3+sor()*0,00001. A szorzónak elég kicsinek kell lennie, hogy semmiképp se adjon 1-es értéket. Ez a szám 10 pont esetén az 5. sorban 10,00005 lesz, a 14. sorban 10,00014. Erre az oszlopra hivatkozva az eredetileg azonos 10 pontos sorokat külön találja meg a kereső függvényed.
-
akyyy
senior tag
Na eddig ezt úgy oldottam meg, hogy:
Alap táblába bal oldalon a nevek, véletlen sorrendben, melette pedig majd a kapott pontszáma, az mellet meg az össszesített pontszáma.
második lapon adva van a sorszám hogy ki hanyadik. pár oszloppal arébb csináltam egy összesen oszlopot ahova a következő fvg került:
=NAGY('ALAP'!$S$3:$S$52;A5)
Megvizsgálja az első fülön lévő összesitett pontszámot, és kikeresi ebből az első legnagyobbat. lentebb a második legnagyobbat, és igy szépen csökenő sorrendbe teszi automatikusan.Következő oszlop megmondja hogy hanyadik cellában szerepel az a bizonyos pontszám az összesítetben:
=HOL.VAN(U5;'ALAP'!$S$3:$S$52;0)+2
majd a végén hozzáad kettőt, mert 2 sorral lentebb kezdődik az oszlop, mert van fejléce.
majd egy újabb oszlpban indirekt függvénnyel kiiratom abban a sorban a nevet.
=INDIREKT("'ALAP'!B" & V5)ez igy már fasza is, önmagától sorba rendezi mindig, mikor frissitem az alap lapon a számokat. a gond:
ha még üres a tábla, mindenhova 3-as számot tesz, igy nagyon sok sorban ugyanaz a név fog szerepelni. gondolom ha függvénnyel kiirom, hogy ha holvan függvény a 3-as számot hozza, akkor ne jelenitsen meg semmit. igy csak azok szerepelnek akik kaptak pontot.
nagyon pici esély van rá, de van rá esély, hogy monjduk 2-3 ember is van aki olyan bamba, hogy nem kap pontot. ilyenkor mintkettőnek a holvan függvénye 3-3-3at fog kihozni, és csak 1 szeméylt fog kiratni 3-szor. mit tudok csinálni hogy ha 3 ember nem szerez pontot, akkor azokat abc sorrenbe, vagy mind1 milyen sorrendbe de szerepeljenek már nekem ott

remélem érthető

-
Delila_1
veterán
Fejlesztőeszközök | Visual Basic, vagy ehelyett Alt+F11-re bejön a VB szerkesztő.
Bal oldalon kiválasztod a füzetedet.
Az Insert menüben beszúrsz egy modult, mire a füzeted neve alatt kapsz egy Module1 nevű modult, amit kiválasztasz. Jobb oldalon lesz egy nagyobb üres felületet, ahova bemásolod a makrót.Az Excelbe visszalépve már alkalmazhatod az új függvényedet.
-
Delila_1
veterán
Írtam két függvényt rá.
1. Vegyük, hogy a szöveged az A1 cellában van. A C1-ben az =JobbVege(A1) függvény adja az eredményt.
Function JobbVege(szoveg As Range) As String
Dim b%
For b% = Len(szoveg) To 1 Step -1
If Mid(szoveg, b%, 1) = "-" Then
JobbVege = Right(szoveg, Len(szoveg) - b%)
Exit Function
End If
Next
End Function2. Nem írtad, de lehet, hogy a szöveg bal oldalát is ki kell íratnod. A B1-ben az =BalEleje(A1;C1) függvény megteszi ezt.
Function BalEleje(teljes As Range, jobb As Range) As String
BalEleje = Left(teljes, Len(teljes) - Len(jobb) - 1)
End FunctionBár az utóbbit az Excel saját függvényeivel is beírhatod.
=BAL(A1;HOSSZ(A1)-HOSSZ(C1)-1) -
Új hozzászólás Aktív témák
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Eladó Steam kulcsok kedvező áron!
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Humble szökevények 500-2500Ft
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Lenovo 14 Thinkbook 2in1 Yoga FHD IPS Touch i7-1165G7 16GB 512GB Intel IrisXE AktívToll W11 Garancia
- Full Prémium! Gamer PC-Számítógép!Rog Maximus XII! I9 10850K / RTX 3080 Suprim / 32GB DDR4 / 2TB SSD
- BESZÁMÍTÁS! Asus Z170M i7 6700 16GB DDR4 512GB SSD GTX 1070 Ti 8GB Rampage SHIVA ZALMAN 500W
- Apple iPhone 13 Pro Alpine Green ProMotion 120 Hz, Pro kamerák 128 GB-100%
- ÚJ Lenovo Yoga 7 - 14" WUXGA OLED Érintő - Ryzen AI 5 340 - 16GB - 512GB - Win11 - 4 év garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest



Annyi módosítást csinálsz, hogy miután ugrással kijelölted az üres cellákat azokat csak törlöd.


Fferi50

