Hirdetés

2024. április 27., szombat

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.hu

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#32551) Fferi50 válasza HREH (#32549) üzenetére


Fferi50
őstag

Szia!

Közben meglett a HELP-ből Alt + De az igaz, hogy csak akkor látod, ha beállítottad a sortöréssel több sorba tulajdonságot.

Nekem úgy sikerült, hogy először beírtam a cellába a szöveget képletként:
="Első sor" & Karakter(10) & "Második sor"
Majd másolás, irányított beillesztés - értéket.
A sortörés csak úgy érvényesül, ha beállítod a cellaformázásban, hogy sortöréssel több sorba.

Az így előállított sortörést ki tudod másolni (csak egy karakter!), utána be lehet szúrni a többi cellába a megfelelő helyre, úgy már működik anélkül, hogy képletet tennél bele.

Üdv.

[ Szerkesztve ]

(#32552) Zozzy


Zozzy
aktív tag

Sziasztok!

A következő problémára keresek megoldást:
Adott egy több tízezer soros táblázat, ami fejléc sort, és a B oszlopa kb. 14-15 féle számot tartalmaz. Nekem ezekre külön-külön leszűrve az adatokat, annyi új munkalapot kell létrehoznom, ahány féle különböző értéket tartalmaz a B oszlop. Az új munkalapfüleket az értéknek megegyezőre át kell neveznem, és természetesen a szűrt adatokat át kell másolnom. Az új munkalapokat utána új munkafüzetbe is át kell másolnom, és elmentenem önálló fájlként, fájlnévként megtartva a B oszlop megfelelő értékét.
Tulajdonképp ennyi a feladat, ami nem tart sokáig így sem, mégis szeretném valahogy egyszerűsíteni a folyamatot, amennyiben ez lehetséges.

Javaslataitokat előre is köszönöm!

(#32553) Delila_1 válasza Zozzy (#32552) üzenetére


Delila_1
Topikgazda

3 makrót írtam. Az első sorra veszi a B oszlop celláit. Ha még nincs ennek megfelelő lap a füzetben, létrehozza, átmásolja a címsort és az aktuális sort. Az új lap neve az aktuális sor B oszlopában lévő adat lesz. Ha már van ilyen nevű lap, az első üres sorába másolja az aktuális sort. Nem kell az első lapon rendezettnek lennie a táblának.

A második sorra veszi a lapokat a másodiktól az utolsóig, Új füzetbe másolja az aktuális lapot, ezt elmenti a lapnév nevével az utvonal nevű változóban megadott mappába. Ezt a makró elején kell átírnod az
utvonal = "C:\Temp\"
sorban a saját mentési útvonaladra.

Ha az eredeti füzetben nem akarod megtartani az újonnan létrehozott lapokat, akkor a második helyett a harmadik makrót futtasd. Ez nem másolja, hanem áthelyezi a lapokat 1-1 új füzetbe. Itt is át kell írnod az utvonal változó értékét.

A két másolós makró feltételezi, hogy kezdetkor 1 lap volt a füzetedben.

Sub Kulon_Lapra()
Dim sor As Long, lapnev As String, a, hova As Long, WS1 As Worksheet

Application.ScreenUpdating = False
Set WS1 = ActiveSheet
sor = 2
Do While Cells(sor, 1) <> ""
lapnev = Cells(sor, "B")
On Error Resume Next
Set a = Sheets(lapnev)
If Err.Number <> 0 Then
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = lapnev
WS1.Rows(1).Copy Sheets(lapnev).Cells(1)
WS1.Activate
End If
On Error GoTo 0

hova = Application.WorksheetFunction.CountA(Sheets(lapnev).Columns(1)) + 1
Rows(sor).Copy Sheets(lapnev).Cells(hova, 1)
sor = sor + 1
Loop
Application.ScreenUpdating = True
End Sub

Sub LapMentes()
Dim lap As Long, utvonal As String, lapnev As String
utvonal = "C:\Temp\"

Application.ScreenUpdating = False
For lap = 2 To Sheets.Count
lapnev = Sheets(lap).Name
Sheets(lapnev).Copy
ActiveWorkbook.SaveAs Filename:=utvonal & lapnev & ".xlsx"
ActiveWorkbook.Close
Next
Application.ScreenUpdating = True
End Sub

Sub MentTorol()
Dim lap As Long, utvonal As String, lapnev As String
utvonal = "C:\Temp\"

Application.ScreenUpdating = False
For lap = Sheets.Count To 2 Step -1
lapnev = Sheets(lap).Name
Sheets(lapnev).Move
ActiveWorkbook.SaveAs Filename:=utvonal & lapnev & ".xlsx"
ActiveWorkbook.Close
Next
Application.ScreenUpdating = True
End Sub

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32554) Zozzy válasza Delila_1 (#32553) üzenetére


Zozzy
aktív tag

Köszönöm, tökéletesen működik! Igaz az első makró kicsit lassan fut le, de legalább a hibázás lehetősége ki van szűrve így. :R

(#32555) petersonal


petersonal
tag

Sziasztok!
Egy olyan kérdésem lenne, hogy van lehetőség olyan feltételes formázásra, hogy az azonos értékeket megegyező színnel jelöli meg. Kiegészítés: több egyező érték van, és mindegyiket másféle színnel kéne megjelölni. A feltételes formázásban a szín skálák nem jó megoldás, mert minimális különbségű a szín a két szám között. Példa :
10015
10015
10015
10017
10018
10018
10222
10222

Tehát itt az egyező számok egyező színnel szerepeljenek,de pl. a 15 és 18, 22 stb. színe között legyen különbség. Remélem érthető amit kérni szeretnék, bocsánat a béna megfogalmazásért.

(#32556) Delila_1 válasza Zozzy (#32554) üzenetére


Delila_1
Topikgazda

Akkor gyorsítsunk – bár úgy tapasztaltam, hogy sok sor esetén nem túl gyors az Excelben a szűrés.
A makró a B oszlop adataiból speciális szűréssel kimásolja az egyedi adatokat az AA oszlopba, onnan veszi, hogy milyen adatokra kell szűrni a tartományt. Ha az AA oszlopban vannak adataid, minden helyen írd át az AA-t nagyobb oszlop nevére.

Az adatokat tartalmazó lapon állva kell indítani a makrót.

Sub Kulon_Lapra_1()
Dim sor As Long, lapnev As String, WS1 As Worksheet

Application.ScreenUpdating = False
Set WS1 = ActiveSheet

'egyedi rekordok az AA oszlopba
WS1.Range("B1:B" & Application.CountA(WS1.Columns(2))).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("AA1"), Unique:=True

sor = 2
Do While Cells(sor, "AA") <> ""
lapnev = Cells(sor, "AA")

WS1.Range("A1").CurrentRegion.AutoFilter Field:=2, Criteria1:=lapnev 'szűrés

Sheets.Add After:=Sheets(Sheets.Count) 'új lap létrehozása
ActiveSheet.Name = lapnev

WS1.Range("A1").CurrentRegion.Copy Sheets(lapnev).Cells(1) 'másolás
WS1.Activate
sor = sor + 1
Loop
WS1.Range("A1").CurrentRegion.AutoFilter Field:=2 'szűrő visszaállítása
Application.ScreenUpdating = True
End Sub

[ Szerkesztve ]

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32557) thomas50.000


thomas50.000
csendes tag

Sziasztok!

Cellaformázáshoz szeretnék egy kis segítséget kérni. A lényeg, hogy 2 számot írok be a cellába, és közé ő rakjon : (kettőspontot).

pl.:

11 --> 1:1
10---> 1:0
01---> 0:1

Ezekkel nincs is gond. De ha 00-át írok be, akkor csak egy db 0-át érzékel. Szóval ezt írja ki: "0:" ez helyett "0:0".

A formátumkódom: #0":"#

Mit kéne ezen átírnom, hogy a 00 is 0:0 legyen?

Előre is köszönöm!

(#32558) Zola007


Zola007
veterán

Ez mitől lehet?

Adott egy táblázat, ami pont kitölt egy A4 oldalt nyomtatva, nyomtatási mező szaggatott vonala is szépen a szélső celláknál mutatja a margót.

Fogom, átmásolom egy másik munkafüzetbe az egész munkalapot (áthelyés és másolás - új munkafüzet - (x) legyen másolat....)

A másik munkafüzetből ha ki akarom nyomtatni, akkor nem fér rá egy A4 lapra.
betűméret, cellaméretek, A4, margók, tájolás, nyomtatási méret, minden az ég egy adta világon mindkét munkafüzetben ugyanaz, mégis az egyikben ráfér egy lapra, a másikban nem :F :W

Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs

(#32559) Fferi50 válasza Zola007 (#32558) üzenetére


Fferi50
őstag

Szia!

Szerintem nézd meg a nyomtatási beálltásokat. Valószínűleg be kell állítani a legyen 1 oldal széles, 1 oldal magas paramétert, vagy kicsinyíteni kell.

Üdv.

(#32560) Fferi50 válasza thomas50.000 (#32557) üzenetére


Fferi50
őstag

Szia!

A formátumkód: #0":"# helyett: #0":"0

A # csak akkor ír számjegyet, ha nem 0 az érték, a 0 minden esetben megjelenik,

Üdv.

(#32561) Lasersailing válasza Fferi50 (#32551) üzenetére


Lasersailing
senior tag

Ha jól értem a kérdését HREH-nek: akkor a legegyszerűbb: szövegírás közben <bal oldali ALT> + ENTER

(#32562) EmberXY válasza Zola007 (#32558) üzenetére


EmberXY
addikt

Én is jártam már így, 1:1-ben kijelölve egy egész lapot, átmásolva ugyanazon dokumentum egy másik lapjára, de a margók valamiért elállítódtak, ami azért érdekes, mert az eredeti helyen sem állítottam semmit a margón.
Szóval biztos, hogy nem a margókkal van a gond? :F

Up the Irons!

(#32563) Zola007 válasza EmberXY (#32562) üzenetére


Zola007
veterán

nem kijelölt területet tettem át, hanem komplett munkalapot.
Éppen azért, hogy az összes formázás, stb megőrződjön

(#32559) Fferi50: nincs mit rajta nézni, mert ugyanabban az excelben van megnyitva a 2 dokumentum, a nyomatási beállításokat pedig az Excel adja, nem a munkalap.
Az az érdekes, hogy a cellák excelben látott mérete is eltér, pedig a beállított méret ugyanaz. Szerintem valami bugzik. Nincs benne makró

Mʏ ᴘʜɪʟᴏsᴏᴘʜʏ ɪs: Iᴛ’s ɴᴏɴᴇ ᴏғ ᴍʏ ʙᴜsɪɴᴇss ᴡʜᴀᴛ ᴘᴇᴏᴘʟᴇ sᴀʏ ᴏғ ᴍᴇ ᴀɴᴅ ᴛʜɪɴᴋ ᴏғ ᴍᴇ. I ᴀᴍ ᴡʜᴀᴛ I ᴀᴍ ᴀɴᴅ I ᴅᴏ ᴡʜᴀᴛ I ᴅᴏ. I ᴇxᴘᴇᴄᴛ ɴᴏᴛʜɪɴɢ ᴀɴᴅ ᴀᴄᴄᴇᴘᴛ ᴇᴠᴇʀʏᴛʜɪɴɢ. Aɴᴅ ɪᴛ ᴍᴀᴋᴇs ʟɪғᴇ sᴏ ᴍᴜᴄʜ ᴇᴀsɪᴇʀ. - Sɪʀ Aɴᴛʜᴏɴʏ Hᴏᴘᴋɪɴs

(#32564) EmberXY válasza Zola007 (#32563) üzenetére


EmberXY
addikt

Én is erről beszéltem, bár én úgy jelöltem ki, hogy a bal felső sarokra kattintottam, így mindent kijelölt, ugyanígy illesztettem be a másik lapra, de a margók megváltoztak. Így vagy úgy, én is a teljes munkalapot tettem át...

[ Szerkesztve ]

Up the Irons!

(#32565) Zozzy válasza Delila_1 (#32556) üzenetére


Zozzy
aktív tag

Lényegében így is fele annyi idő, mintha manuálisan csinálnám végig a művelet sort, tehát már az első verzió is nagy segítség volt, köszönöm! Ezt a változatot csak holnap fogom tudni kipróbálni.
Viszont ha ennyire belemerültünk, lenne mégegy feladat az adatsorral.
Miután az első makró lefut, úgy kell minden lapot alakítanom, hogy a V U és W oszlopok utolsó értékei alatt egy részösszeg(9, azaz szum) képlettel összeadom az oszlopot a 2. sortól a végéig. Mivel az egyes munkalapokon nem azonos a sorok száma, így nem tudom azokat egyszerre kijelölve egy művelettel elvégezni, hanem laponként kell megtennem. Ha erre nincs megoldás, az sem nagy baj, így is jelentős a segítség, amit kaptam! :R

(#32566) Delila_1 válasza Zozzy (#32565) üzenetére


Delila_1
Topikgazda

Van megoldás. :)

Sub Kulon_Lapra_2()
Dim sor As Long, lapnev As String, WS1 As Worksheet, usor As Long

Application.ScreenUpdating = False
Set WS1 = ActiveSheet

'egyedi rekordok az AA oszlopba
WS1.Range("B1:B" & Application.CountA(WS1.Columns(2))).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("AA1"), Unique:=True

sor = 2
Do While Cells(sor, "AA") <> ""
lapnev = Cells(sor, "AA")

WS1.Range("A1").CurrentRegion.AutoFilter Field:=2, Criteria1:=lapnev 'szűrés

Sheets.Add After:=Sheets(Sheets.Count) 'új lap létrehozása
ActiveSheet.Name = lapnev

WS1.Range("A1").CurrentRegion.Copy Sheets(lapnev).Cells(1) 'másolás
'képlet az U:W-be
usor = Application.WorksheetFunction.CountA(Columns(22)) + 1
Range("U" & usor & ":W" & usor) = "=subtotal(9,U2:U" & usor - 1 & ")"

WS1.Activate
sor = sor + 1
Loop
WS1.Range("A1").CurrentRegion.AutoFilter Field:=2 'szűrő visszaállítása
Application.ScreenUpdating = True
End Sub

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32567) Delila_1 válasza Zozzy (#32565) üzenetére


Delila_1
Topikgazda

Ha a beírt függvénnyel kész vannak a lapok, nem akarsz mást ellenőrizni, módosítani rajtuk, akkor a mostani makróba az End Sub fölé írd be egy új sorba annak a makrónak a nevét, amelyiket a mentésre kiválasztottad (LapMentes, vagy MentTorol).
Akkor elég a mostanit indítanod, minden feladatot elvégez.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32568) Con Troll


Con Troll
senior tag

Sziasztok!
Kis segítségre szorulnék, nem tudom összerakni fejben, hogy hogyan kéne megoldani ezt a feladatot.
Adott egy tábla, ahol D2: D100 sorokban dátumok vannak, E2: E100 sorokban pedig színek, szövegesen kiírva.

Szemléltetésként:

A feladat az, hogy az A2005: E2009 tartományban függvénnyel megadjuk, adott napon melyik színből hány darab volt.
Így:

Ezt hogy tudnám megoldani? Köszönöm előre is! :R

[ Szerkesztve ]

(#32569) Fferi50 válasza Con Troll (#32568) üzenetére


Fferi50
őstag

Szia!

Próbáld a Darabhatöbb függvény, vagy javaslom a kimutatás használatát.

Üdv.

(#32570) Kalogenius


Kalogenius
csendes tag

Sziasztok! segítséget szeretnék kérni az alábbi feladat megoldásához: Van két névsorom (az egyik piros a másik fekete) ami között némi átfedés van (ugyanazon nevek mind két névsorban szerepelnek). Szeretném megtudni, hogy meny nevek szerepelnek mindkét névsorban? Talán az az érdekessége, hogy mivel nagyobb névsorok vannak ezért az azonosak sorba rendezés után nem feltétlenül kerülnek egy más mellé.
A segítséget előre is köszönöm.

[ Szerkesztve ]

peterkal@t-email.hu

(#32571) Delila_1 válasza Kalogenius (#32570) üzenetére


Delila_1
Topikgazda

Eleve 2 külön oszlopba kellene szétdobni a 2 tartományt.
Beszúrsz egy címsort, majd táblázattá alakítod a listát. Ekkor már tudsz színre szűrni. A kiszűrt pirosakat átmásolod egy másik oszlopba (ennek is adsz címet), az A oszlopból pedig törlöd a tartalmukat.

Az A-ban üres celláid lesznek, ezeket meg kell szüntetni. Kijelölöd A2-től az utolsó névig, Ctrl+g (Ugrás menü), Irányított, Üres cellák. Ez a tartomány üres celláit jelöli ki. Most a Ctrl és a számbillentyűzeten lévő mínusz hatására ezek a cellák kitörlődnek, az alattuk lévő, tartalommal bíró cellák feljebb kerülnek, folyamatos lesz az oszlop kitöltöttsége.

Az A oszlopban maradtak az egyik-, a másikba a másik listás adatok kerültek.

Fontos, hogy mindkét oszlopban lévő nevek a saját oszlopukban csak egyszer forduljanak elő. Ehhez az Adatok | Ismétlődések eltávolítása menüpontot használd.

Most kezdődhet az érdemi munka.
Kijelölöd a két tartományt, majd feltételesen formázod azokat. Új szabály, Csak az egyedi vagy az ismétlődő értékek formázása menüpont. Első esetben az ismétlődő opciót választod, és megadod a formátumot, OK. Következő lépésként beállíthatod az egyedi értékeket is, és másik formátumot adsz nekik.
Most már mindkét oszlopodat szűrheted szín szerint, és a szűrés eredményét (ismétlődő, vagy egyedi) átmásolhatod máshova, ha szükség van rá.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32572) alfa20 válasza Kalogenius (#32570) üzenetére


alfa20
senior tag

Az nem jó ha 'B' oszlopban beirsz minden név mellé egy 1est, majd 'C'-be egy SZUMHA függvény?

"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)

(#32573) Fferi50 válasza Kalogenius (#32570) üzenetére


Fferi50
őstag

Szia!

Ha a B1 cellába beírsz egy =DARABTELI(A:A;A1) >1 képletet és ezt végighúzod az oszlopon, megláthatod, hogy mely nevek szerepelnek egynél többször. Ez persze csak akkor igazán jó, ha a két névsorban külön-külön nincsenek azonos nevek. Ha viszont a >1 hasonlítást elhagyod a végéről, akkor számra szűréssel megnézheted, mely nevek ismétlődhetnek az egyes névsorokban.

Üdv.

(#32574) Upo


Upo
addikt

Üdvözletem!
Dátum felismeréssel lenne problémám, excel 2013 alatt. Az a gond, hogy a szöveges formában beírt dátumból nem nagyon akar dátumot csinálni, ~650 tételsornál kb. 40-50-et ismert fel, tehát a nagy részét nem.
A dátumok szabályosan vannak beírva, pl.:
2016. szeptember 12.
Egyik táblázatból illeszteném be egy másikba, és próbálkoztam mindennel. Az oszlop formátuma dátumra van állítva, mindenféle irányított beillesztést próbáltam, F2 szerkesztés után enter, sőt saját kezemmel begépeltem a dátumot, és akkor sem. Rendes szóközt, pontot használtam, semmi idióta unikódos karakter nincs benne. Csak számokkal megadva a dátumot természetesen felismeri. Mivel nem szeretnék hétvégén éjszakáig bent ülni, ezért most úgy oldottam meg, hogy openoffice calc-ba beillesztettem ugyanezt az adatsort, ott rendesen felismerte, és ki is derült, hogy 3 elgépelés volt a hónapokban, de ahogy javítottam kézzel, rögtön azokból is dátum lett. Így excelbe visszamásolva jó lett, meg is csináltam az exportot belőle.

Mi az ami meggátolhatja a dátum felismerését? Ha legközelebb kell ilyent csinálnom akkor hogy csináljam hogy jó legyen? Vagy mindig kell egy openoffice-ba átmásolás-visszamásolást csinálnom?
Ha egyiket sem ismerte volna fel akkor még hagyján, de mi alapján válogat? Mert volt amit felismert. És nem is a hónap nevével van a baj, mindegyik hónapból van felismert és fel nem ismert is.

Itt egy példa, ugyanaz van a két oszlopba bemásolva, csak a második oszlopot átállítottam a kötőjeles dátumformára, azokon látszik hogy melyiket vette dátumnak, és melyiket nem. Márciusból van a képen ilyen is és olyan is, ha már egyet felismert, akkor a többit miért nem?

[ Szerkesztve ]

Blogom: https://logout.hu/blog/upo/index.html | "Az átlagember alvásigénye még 5 perc"

(#32575) Delila_1 válasza Fferi50 (#32573) üzenetére


Delila_1
Topikgazda

Mindenképp szét kell választani a fekete és piros neveket, mert a feladat, "megtudni, hogy meny nevek szerepelnek mindkét névsorban?"

Ez biztosan valami iskolai feladat. Nem láttam még olyan – barbár – megoldást, hogy két névsort 1 oszlopba tett valaki, és még együtt is rendezte volna a kettőt. :N :(

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#32576) Polllen válasza Delila_1 (#32488) üzenetére


Polllen
nagyúr

Szia!

Végül erre cseréltem a beillesztést:
Range("D2:D" & reg_end).Copy
Range("D2").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False

Nem tapasztaltam lassulást, uh issue lezárva. Köszi! :)

"Odamentem egy párhoz...négyen voltak!"

(#32577) Kalogenius válasza Delila_1 (#32571) üzenetére


Kalogenius
csendes tag

Köszönöm, nagyon kedves vagy, de biztos elrontok valamit mert nem akar sikerülni. :(

peterkal@t-email.hu

(#32578) Apollyon


Apollyon
Korrektor

Hali!

Van egy hosszú listám. Ez dobozokat tartalmaz, és az azokban szereplő dokumentumokat.
Minden sorban szerepel minden adat, azaz, ha egy dobozban többszáz darab doku van, akkor annyiszor.
Itt egy metszet: [kép]

Mint látható, a C oszloban szerepelnek a dobozszámok. A képen 6699, utána 6703 majd később folytatódik 6704 stb. Ez egy több tízezer soros tábla.

Szeretném a C oszlop tartalmát kimásolni úgy, hogy minden érték csak egyszer szerepeljen. Ezt hogy tudom megcsinálni? 2010-es, magyar verzió.

#1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility.

(#32579) Fferi50 válasza Apollyon (#32578) üzenetére


Fferi50
őstag

Szia!

Kimásolod a C oszlopot egy külön oszlopba, ezután adatok - ismétlődések eltávolítása.

Üdv.

(#32580) Apollyon válasza Fferi50 (#32579) üzenetére


Apollyon
Korrektor

Te jó ég, tényleg. Bonyolultabbra számítottam :D
Köszi!

#1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility.

(#32581) Oly válasza Delila_1 (#32456) üzenetére


Oly
senior tag

Szia

Tovább gondoltam az általad vázolt megoldás.

Ez lett belőle:
Dim usor As Long, sor As Long, hova As Long, hol, WF As WorksheetFunction
Set WF = Application.WorksheetFunction

'tegnap volt, de ma nincs
usor = WF.CountA(Columns(1))
For sor = 2 To usor
hova = WF.CountA(Columns(11)) + 1
hol = Application.Match(Cells(sor, "A") & Cells(sor, "B"), Range("N:N"), 0)
If VarType(hol) = vbError Then
Range("A" & sor & ":B" & sor).Copy Range("K" & hova)
Cells(hova, "M") = 0
On Error GoTo 0
End If
Next

'változók listája tegnaphoz képest
usor = WF.CountA(Columns(11))
For sor = 2 To usor
hova = WF.CountA(Columns(7)) + 1
hol = Application.Match(Cells(sor, "K") & Cells(sor, "L") & Cells(sor, "M"), Range("E:E"), 0)
If VarType(hol) = vbError Then
Range("K" & sor).Copy Range("G" & hova)
End If
Next

'nem változott tételek törlése a mai listában
usor = WF.CountA(Columns(11))
For sor = 2 To usor
hol = Application.Match(Cells(sor, "K"), Range("G:G"), 0)
If VarType(hol) = vbError Then
Range("K" & sor & ":O" & sor).Value = ""
End If
Next

Az a kérdésem, hogy a Match-ben a Lookup_array Range-re tudok valahogy dinamikusan hivatkozni, mint ahogy a Lookup_value-nál tettem?
Ez azért lenne fontos, hogy ne kelljen kiegészítő oszlopot létrehozni a táblák mellett.

Előre is köszi, oly

SonyEricsson T20 - T68 - T610 - K700 - W800 - K750 - K800 - C702 - P1 - MOTO Defy - Galaxy S Advance - Galaxy S4 - Lumia 820 - Honor 7 - iPhone 5S

(#32582) zulu_mester


zulu_mester
tag

Sziasztok!

Abban szeretném a segítségeteket kérni, hogy van egy excel táblázatom, amelyben nevek, a nevekhez tartozó tantárgyak, tantárgyakhoz tartozó osztályok és óraszámok. Egyes tantárgyaknál csoportbontás van illetve egyes tantárgyakat több osztály is tanul összevonva (egyes idegennyelv órák és fakultációs órák). Ebből a táblázatból kellene kereszttáblát varázsolni. Ezt hogyan lehetne megoldani?
Előre is köszönöm a segítségeteket.

"Te is fiam Bluethooth!"

(#32583) blountex


blountex
senior tag

Üdv!

Aki otthon van a "Lehetőségelemzés" terén, az írjon rám. :)
Lenne még egy egyszerűnek tűnő feladat, amivel próbálkoztam, de egyelőre nem jött össze.
Van egy cella legyen A1 ahova írok egy dátumot mondjuk 2016.09.02.
Ezt a dátumot átszeretném vinni úgy a C cellában hogy ha beírom hogy =A1 akkor a cellába ne 0 érték legyen hanem üres, iletve ha már írtam egy dátumot az A1es cellába majd kitöröltem akkor 1900.00.01 fogad.
A másik kérdésem, hogy adott egy fix dátum (2016.09.02) és arra hivatkozva szeretnék 3 napot kivonni.
Köszi.

(#32584) Fferi50 válasza blountex (#32583) üzenetére


Fferi50
őstag

Szia!

A C1 cella képlete: =HA(ÜRES(A1);"";A1)

A másik kérdésre:
=DÁTUM(2016;9;2)-3 vagy =DÁTUMÉRTÉK("2016.09.02")-3

Üdv.

(#32585) Fferi50 válasza Oly (#32581) üzenetére


Fferi50
őstag

Szia!

"a Match-ben a Lookup_array Range-re tudok valahogy dinamikusan hivatkozni, mint ahogy a Lookup_value-nál tettem?"
Természetesen, pl. változóként definiálod az adott területet és azt írod be:
Dim kereshely as Range
set kereshely=Range("N:N")
hol = Application.Match(Cells(sor, "A") & Cells(sor, "B"),kereshely, 0)

A tartomány beállítását pedig szerintem már meg tudod oldani.

Üdv.

[ Szerkesztve ]

(#32586) blountex


blountex
senior tag

.

[ Szerkesztve ]

(#32587) Oly válasza Fferi50 (#32585) üzenetére


Oly
senior tag

Szia

Mivel a keresési érték is egy összefűzött szöveg A és B oszlopból, ezért az N oszlopban is összefűzött adat van (L és M). Erre szeretnék hivatkozni és nem az N oszlopra.
Közben rátaláltam, hogy a TÖMB lesz az én emberem, de még keresem a feltöltés lehetőségét.
Valószínűleg ciklussal...

SonyEricsson T20 - T68 - T610 - K700 - W800 - K750 - K800 - C702 - P1 - MOTO Defy - Galaxy S Advance - Galaxy S4 - Lumia 820 - Honor 7 - iPhone 5S

(#32588) Oly válasza Fferi50 (#32585) üzenetére


Oly
senior tag

Így ni:

Dim tomb(0 To 2) As String
Dim i As Integer
For i = 0 To 2
tomb(i) = Cells(i + 2, 1) & " " & Cells(i + 2, 2)
Next

[ Szerkesztve ]

SonyEricsson T20 - T68 - T610 - K700 - W800 - K750 - K800 - C702 - P1 - MOTO Defy - Galaxy S Advance - Galaxy S4 - Lumia 820 - Honor 7 - iPhone 5S

(#32589) Kalogenius válasza Delila_1 (#32571) üzenetére


Kalogenius
csendes tag

Kedves Delila! El jutottam odáig a feladat végrehajtásában amikor azt írtad, hogy kezdődhet az érdemi munka előttem a két tartomány feltételesen formáztam azok az új szabályt alkalmaztam az egyedi vagy ismétlődő értékek formázása menüpontot első esetben az ismétlődő opciót választottam a formátumban pirossal jelöltem meg a betűket következő lépésként megjelöltem az egyedi értékeket, és ott a formátumnál az automatikus betűszínt választottam. De a táblázatnál nem volt semmi változást, vagy is az azonos nevek nem leszek piros színűek. Mit ronthattam el? :(((

peterkal@t-email.hu

(#32590) bsasa1 válasza Kalogenius (#32589) üzenetére


bsasa1
csendes tag

Szia,

elvileg jól csinálod, próbáld meg, hogy belemész a Feltételes formázás / szabályok kezelése pontba, ott kiválasztod, hogy ez a munkalap, vagy ez a táblázat és ezt kellene látnod:

Az érvényességbe mindkét esetben legyen benne a teljes táblázat.

(#32591) bandus


bandus
veterán

sziasztok!

olyan fájlt szeretnék feldolgozni, amiben két változó is van, az egyik a dátum, amely alapján beazonosítanám és megnyitnám a vba kóddal, a másik pedig az összes többi karakter, ami random generálódik. hogyan oldható meg, hogy az a fájl kerüljön megnyitásra, ami tartalmaz adott karaktereket (a dátumot), és a fájlnév többi részét pedig figyelmen kívül hagyjuk?

köszi előre is a választ :R

"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"

(#32592) Kalogenius válasza bsasa1 (#32590) üzenetére


Kalogenius
csendes tag

Szia! Köszönöm eddig sikerült :Y
De a táblázatban nem történt semmi. Mi a következő lépés?
Köszi előre is

peterkal@t-email.hu

(#32593) Fferi50 válasza bandus (#32591) üzenetére


Fferi50
őstag

Szia!

Két lehetőséged is van.
datuma="2016.01.05"
filenev=dir("*" & datuma & "*")
if filenev<>"" then
filemegnyitás
endif

vagy
filenev=dir(*.*)
if instr(filenev,datuma)>0 then
filemegnyitás
endif

Az else ágat neked kell kitalálni hozzá - nyilván ciklusban fogod nyitni a fájlokat, vagy továbbmész, vagy hibaüzenetet adsz.
FIGYELJ rá, hogy a datuma nevű változó szöveg és olyan formában tartalmazza a keresett dátumot, ahogyan az a fájlnévben benne van.

Üdv.

(#32594) Fferi50 válasza Kalogenius (#32592) üzenetére


Fferi50
őstag

Szia!

Nem tudom, hogy valóban azonosak-e a nevek, vagy csak úgy néznek ki? Lehet bennük nem látható karakter.
Próbáld ki, hogy az egyik oszlopból a másikba átmásolsz egy nevet (másolás, irányított beillesztés -értéket). Ebben az esetben a feltételes formázásnak jeleznie kell, hogy egyformák.

Ha ez nem történt meg, akkor valami grimbusz van vagy a feltételes formázásodban, vagy a munkalappal.

Üdv.

(#32595) bandus válasza Fferi50 (#32593) üzenetére


bandus
veterán

és tényleg, milyen egyszerű :R ksözönöm szépen!

"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"

(#32596) Kalogenius válasza bandus (#32595) üzenetére


Kalogenius
csendes tag

Szia! Megint jó volt a megérzésed, mert amikor átmásoltam egy nevet az azonnal piros lett. Mostmár "csak" a szokásos kérdéssel jövök elő: Most mit tegyek?
:R

peterkal@t-email.hu

(#32597) Kalogenius válasza Kalogenius (#32596) üzenetére


Kalogenius
csendes tag

Ez történt:

Itt megint megállt a tudományom.

peterkal@t-email.hu

(#32598) bsasa1 válasza Kalogenius (#32597) üzenetére


bsasa1
csendes tag

Válassz egy párt és nézd meg mi köztük a különbség. Előfordulhat, hogy valamelyik név után be van ütve egy szóköz, akkor már nem azonosak a cellák, viszont ugyanúgy néznek ki.
Ha nem találsz próbáld ki, hogy kitörlöd a nevek közül mindkettőnél a szóközt, mert az is lehet, hogy az egyik (vagy mindkettő) nem sima space, hanem valamilyen speciális karakter. Bár nem tudom ilyennel ki szórakozna...

(#32599) Kalogenius válasza bsasa1 (#32598) üzenetére


Kalogenius
csendes tag

A kutya biztosan itt van elásva:

peterkal@t-email.hu

(#32600) Kalogenius válasza Kalogenius (#32599) üzenetére


Kalogenius
csendes tag

Áttettem Word-be ott gyorsan a csere lehetőséggel kivettem a kis köröket, vissza az Excelbe, és már működött is. Köszönöm szépen a segítséged!

peterkal@t-email.hu

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.