Hirdetés
- GoodSpeed: A RAM-válság és annak lehetséges hatásai
- bb0t: Ikea PAX gardrób és a pokol logisztikája
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Márkaváltás sok-sok év után
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Fűzzük össze a szavakat :)
- ldave: New Game Blitz - 2025
- Real Racing 3 - Freemium csoda
- Gurulunk, WAZE?!
- Brogyi: CTEK akkumulátor töltő és másolatai
-
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
-
Delila_1
veterán
válasz
Lasersailing
#47434
üzenetére
Újra megnyitáskor kell lépésenként futtatnod.
-
Delila_1
veterán
válasz
Lasersailing
#47432
üzenetére
Lépésenként futtatva (F8) a hibát okozó sort sárgával kijelölve láthatod.
-
Delila_1
veterán
válasz
andreas49
#47425
üzenetére
Lappy válaszán kívül 2 változat:
1. Kijelölöd a módosítható tartományt, és a cellaformázás védelem fülén kiveszed a pipát a zárolás elől, majd lapvédelmet adsz.
2. Alt+F11-gyel belépsz a makró szerkesztőbe. Bal oldalon kiválasztod a lapodat, majd a Properties ablakban (ha nem látszik, F4-gyel láthatóvá teszed) beállítod a ScrollArea (szerkeszthető) területet a kép szerint. Ennél makróbarátként kell mentened a fájlt.A ThisWorkbook laphoz pedig ez a makró kell:
Private Sub Workbook_Open()Sheets(1).ScrollArea = "$A$1:$H$20"End Sub -
Delila_1
veterán
válasz
andreas49
#47332
üzenetére
Ha nem számként vitted be eleve az adatokat, akkor nem lenne probléma. Azzal, hogy szöveg formátumúra alakítottad a cellákat, még számok maradtak.
Beszúrunk egy sort, ami egyenként szöveggé konvertálja a számokat, így már működni fog.Sub FelsoIndex_1()Dim CV As Object, koztesFor Each CV In Range("E4:AL169")CV = CV & ""If Len(CV) = 2 Then CV.Characters(Start:=2, Length:=1).Font.Superscript = TrueIf Len(CV) = 3 Then CV.Characters(Start:=2, Length:=2).Font.Superscript = TrueNextEnd Sub -
Delila_1
veterán
-
Delila_1
veterán
válasz
andreas49
#47327
üzenetére
Több tételnél ez a makró az utolsó karaktert felső indexbe teszi.
Ebben az esetben azA1:A10tartományban működik.Sub FelsoIndex()Dim kezd As Integer, sor As IntegerFor sor = 1 To 10If Len(Cells(sor, 1)) > 1 Thenkezd = Len(Range("A" & sor))Cells(sor, 1).Characters(Start:=kezd, Length:=1).Font.Superscript = TrueEnd IfNextEnd Sub -
Delila_1
veterán
válasz
Sprite75
#47320
üzenetére
Mivel feltételes formázással nem lehet átlós szegélyeket bevinni, szürke hátteret adtam a megfelelő cellákban.

M1-be beírod az évet, M2-ben kiválasztod a hónapot az érvényesítésből.
Meg lehet oldani, hogy az ünnepnapok háttere is eltérjen a munkanapokétól.
A C3 képlete:=M1&". "&M2&" hónap"Szerk.: természetesen a Q oszlopban decemberig vidd a hónapokat, és az Fkeres-nél is javítanod kell a tartományt.
-
Delila_1
veterán
válasz
szami777
#47295
üzenetére
A cellaformázásnál vedd le a védelmet (zárolást) minden olyan celláról, amit használhatnak a felhasználók. Az útmutatót tartalmazó sorok maradjanak zároltak.
Adj lapvédelmet, ahol a Zárolt cellák kijelölése elől vedd ki a pipát. Ezután ezekre a cellákra nem tudnak ráállni, a sorokat sem tudják törölni a felhasználók. -
Delila_1
veterán
válasz
MostaPista
#47279
üzenetére
Semmi gond.
A pár nap, míg nem néztél a fórumra, 36.
-
Delila_1
veterán
válasz
arsenal1980
#47261
üzenetére
Nem kell sorba rakni.
Nem írtad, hogy azonos lapon van-e a két táblát.
Vegyük, hogy az egyik a Munka1, a Másik a Munka2 lapon van, és mindkét lapon az A oszlopban vannak a cikkszámok. A Munka1 lapon egy oszlopba beírod az=HA(DARABTELI(Munka2!A:A;A1)>0;"van";"nincs")
képletet. A van és nincs helyére írhatsz 1-et és 0-t.Ha azonos lapon vannak a táblák, kijelölöd a két oszlopot. Feltételes formázás, Csak az egyedi, vagy az ismétlődő értékek formázása, Ismétlődő, és megadsz egy formátumot.
-
Delila_1
veterán
válasz
zsolti_20
#47251
üzenetére
Egy saját függvénnyel megoldható.
Function Fordit(cella As Range)Dim x As Integer, ford As StringFor x = Len(cella) To 1 Step -1ford = ford & Mid(cella, x, 1)NextFordit = fordEnd FunctionKéplettel hivatkozol a megfordítandó szöveg cellájára: =Fordit(A1)
A füzetet makróbarátként kell elmentened.Van egy egyszerűbb, makrómentes módszer. Az első név mellé billentyűzetről beviszed a fordított szöveget, majd Kezdőlap, Szerkesztés, Kitöltés, Villámkitöltés.
-
Delila_1
veterán
válasz
andreas49
#47212
üzenetére
=HA(INDIREKT("'"&A1&"'!$Y$162")>INDIREKT("'"&A1&"'!$Y$163");INDIREKT("'"&A1&"'!$S$162");INDIREKT("'"&A1&"'!$S$163"))A1-ben van a lap neve, azt folytathatod lefelé.
Az volt a bibi, hogy a lapnevet aposztrófok közé kell tenni. '2021'! plusz cellacím.
A képletnél úgy látszik, mintha az idézőjelek és aposztrófok között szóköz lenne, de nincs. -
Delila_1
veterán
válasz
z123456789
#47197
üzenetére
Az egyesítések nélkül már tudsz másolni.
-
Delila_1
veterán
válasz
Sweetraver
#47189
üzenetére
Sub dupla()Dim lapszam As Integerlapszam = Sheets.CountSheets.Add.Name = "Munka" & lapszam + 1Range("A1").Formula = "=Munka" & lapszam & "!A1"Range("B1").Formula = "=Munka" & lapszam & "!B1"End SubEz a kis makró új lapot szúr be. Az eddigi utolsó lapnév számát növeli 1-gyel (Munka1 után Munka2, azután Munka3 lesz az új lapnév), majd beírja a képleteket.
-
Delila_1
veterán
válasz
z123456789
#47187
üzenetére
Ha egy mód van rá, kerüld a cellák egyesítését. Megszünteted az egyesítést, majd kijelölöd a 2 cellát, cellaformázás, az Igazítás fülön a vízszintes elrendezés legyen A kijelölés közepére. Ezt mindegyik párosnál ismételd meg.
-
Delila_1
veterán
válasz
MostaPista
#47121
üzenetére
Írtam hozzá egy makrót.
Két lap kell a füzetedben. Legyen Eredeti a lap neve, ahol az eredeti táblád van, és legyen egy új lap Konvertált névvel.Sub Konverzio()Dim usor As Long, sor As Long, idoIn As String, idoOutSheets("Konvertált").SelectCells = ""Sheets("Eredeti").Range("A:J").Copy Sheets("Konvertált").Cells(1)Columns("A:A").DeleteRange("A2:I2").Cut Destination:=Range("J1")Range("E1") = "Tim In 1"Range("F1") = "Tim In 2"Range("N1") = "Tim Out 1"Range("O1") = "Tim Out 2"usor = Range("A" & Rows.Count).End(xlUp).RowFor sor = usor To 3 Step -2Range("A" & sor & ":I" & sor).Cut Destination:=Range("J" & sor - 1)Cells(sor, 1) = Cells(sor, 1) & ""idoIn = Cells(sor - 1, 5): idoOut = Cells(sor - 1, 14)Cells(sor - 1, "E") = Left(idoIn, InStr(idoIn, " ") - 1)Cells(sor - 1, "F") = Mid(idoIn, InStr(idoIn, " ") + 1, Len(idoIn))Cells(sor - 1, "N") = Left(idoOut, InStr(idoOut, " ") - 1)Cells(sor - 1, "O") = Mid(idoOut, InStr(idoOut, " ") + 1, Len(idoOut))Rows(sor).Delete Shift:=xlUpNextRows(2).Delete Shift:=xlUpRange("B:B,D:D,G:H,K:K,M:M,Q:Q").Delete Shift:=xlToLeftColumns("A:K").EntireColumn.AutoFitEnd Sub -
Delila_1
veterán
válasz
szricsi_0917
#47066
üzenetére
Annyit még egyszerűsíthetsz rajta, hogy beteszel egy For-Next ciklust 1-tól 4-ig, és egy Select Case utasításban adod meg a változó lapneveket, az oszlop ciklusok kezdetét és végét, miegyebeket.
-
Delila_1
veterán
válasz
szricsi_0917
#47039
üzenetére
A másik fórumon, ahol feldobtad ugyanezt a kérdést, megadtam a választ: speciális szűrés.
-
Delila_1
veterán
válasz
EroSennin79
#47033
üzenetére
=IFERROR(=Statistic!W41/Statistic!Z41,"")
A magyar HAHIBA függvény angol megfelelője. -
Delila_1
veterán
válasz
MostaPista
#47010
üzenetére
Sajnos...
-
Delila_1
veterán
válasz
zsolti_20
#46997
üzenetére
A1-től másoltam a lehetséges értékeket, lefelé. A makró a B oszlopba írja az eredményeket.
Szöveg formátumú legyen a B oszlop.Sub Atalakitas()Dim sor As Integer, usor As Integer, b As Integer, szoveg As StringDim valtozo As String, split0 As String, split1 As String, eredmeny As Stringusor = Range("A" & Rows.Count).End(xlUp).RowFor sor = 1 To usorsplit0 = "": split1 = "": valtozo = ""szoveg = Cells(sor, 1)For b = 1 To Len(szoveg)If Mid(szoveg, b, 1) = "." Or Mid(szoveg, b, 1) = "," Thenszoveg = Left(szoveg, b - 1) & " " & Mid(szoveg, b + 1)End IfNextFor b = Len(szoveg) To 1 Step -1If Mid(szoveg, b, 1) = " " Thenvaltozo = "." & Mid(szoveg, b + 1) & ""szoveg = Left(szoveg, b - 1)Exit ForEnd IfNextOn Error Resume Nextsplit0 = Left(szoveg, InStr(szoveg, " ") - 1)split1 = Mid(szoveg, InStr(szoveg, " ") + 1)eredmeny = split0 & split1 & valtozoCells(sor, 2) = eredmenyNextEnd Sub -
Delila_1
veterán
válasz
DVDHooligan
#46973
üzenetére
"A dolgozó teljesítményét egy adott napon több sor írja le"
Az egyes dolgozók minden sorában szerepeljen a dolgozó neve, akkor a kimutatás dolgozónként összegez. -
Delila_1
veterán
válasz
Apollo17hu
#46923
üzenetére
-
Delila_1
veterán
válasz
MostaPista
#46921
üzenetére
Próbáltam úgy megadni a kritérium tartományt, hogy a 3 meg nem jelenítendő oszlophoz <>"" értéket adtam (nem üres string), de úgy nem jött össze, minden sort betett a szűrésbe. Ezért összefűztem a 3 oszlop adatait. Mivel szöveg lesz ebben az új oszlopban, így már meg tudtam adni, hogy a tartalom nagyobb, mint "a".
-
Delila_1
veterán
válasz
MostaPista
#46912
üzenetére
A Munka2 lap első sorába bemásolod a megjelenítendő oszlopok címét (datum, megnevezes, leiras). Legjobb, ha másolod az első lapról, hogy biztosan egyformák legyenek a címek.
Vegyél fel a táblázatod mellé egy új oszlopot, legyen a címe összefűzés. Ennek a képlete=c2&d2&e2
Az új oszlop címét másold a Munka2 lapra, 1-2 oszloppal jobbra az előző címektől. A cím alá írd be:>"a"
Jelöld ki az A1: C2 tartományt, irányított szűrő menüpont. Ijesztget, de adj okét.
Add meg a tartományokat, ahogy az előző hozzászólásomban láttad. -
Delila_1
veterán
válasz
PistiSan
#46904
üzenetére
Nézz el ide!
Nálad a LE helyett a FEL nyilat kell megnyomnod, mivel a fent lévő szöveget akarod bevinni az alatta lévő üres cellákba. Ne maradjon ki az értékek beillesztése, másképp egy rendezésnél bekavarnak a hivatkozások. -
Delila_1
veterán
Nem őrizgetem a fájlokat, amikben segítséget adok. Arra gondolok, hogy megadom a választ, és kész. Ahányszor új kérésed van, újra létre kell hoznom a szükséges adatokat.
Valóban elnéztem a cserélendő részt, de még mindig nem világos, mit akarsz. Az a bizonyos "cég/sorszám/más" azonos az egyes fájlokban, vagy nem, a más mindig más, vagy mindenhol azonos? Ez nagyon nem mindegy. -
Delila_1
veterán
válasz
MostaPista
#46899
üzenetére
Irányított szűrővel meg lehet oldani. Mivel az eredeti tábla és a szűrt állomány nem azonos lapon van, a szűrés lapja lesz a kiindulás.
Beírod a megjelenítendő oszlopok címsorát, valamint a szűrendő oszlop címét, alatta a feltételt (x).
Adatok menü, Rendezés és szűrés, Irányított. A kép szerint beállítod a szűrést. -
Delila_1
veterán
Már kértelek, hogy pontosan írd le, mit szeretnél. Először ezt írtad:
valami/izé -ből az "izé"-t kicserélni "hogyishíjják"-ra
ami sima szövegcsere, aztán kiderült, hogy egy sorszámot kell kicserélni egy 3 tagú szövegben, és ez növekedjen fájlonként.
Az előző makróba megjegyzésként beírtam, mire jó a kétféle útvonal. Ha nálad minden az elsőként megadott mappában van, akkor a másodikat elhagyhatod.Most csak a változó részt másolom ide.
Bővül a helyfoglalás.
Dim utvonal As String, sor As Long, usor As Long, sorszam As IntegerDim kezd As Integer, veg As Integersorszam=1és a With–End With rész
With Sheets(1).Range("B25") = .Range("B25") & " " & "Készítő neve"kezd = InStr(.Range("K25"), "/") + 1veg = InStr(kezd, .Range("K25"), "/").Range("K25").Replace What:=Mid(.Range("K25"), kezd, veg - kezd), Replacement:=sorszam, LookAt:=xlPart, SearchOrder:=xlByRowssorszam = sorszam + 1.Range("C25") = Date.Range("D25") = .Range("D25") & " " & "Józsi"End With
-
Delila_1
veterán
A makrót tedd egy üres füzetbe. Írd át az utvonal változó értékét két helyen értelem szerűen, és a txt fájl nevét.
Indításkor megnyitja a txt fájlt, ahol az A oszlopban (A1-től kezdve) szerepelnek az módosítandó fájlok nevei, kiterjesztéssel.
Egy ciklusban egyenként megnyitja a 900 fájlt, végrehajtja a módosításokat, és a cserét, amit most csak a B oszlopra írtam meg.Sub xx()Dim utvonal As String, sor As Long, usor As Longutvonal = "C:\Dokumentumok\___TEMP\" 'A címeket tartalmazó txt fájl útvonalaWorkbooks.OpenText Filename:=utvonal & "megnyitando.txt" 'Cseréld ki a txt nevétusor = Range("A" & Rows.Count).End(xlUp).Rowutvonal = "C:\Dokumentumok\___TEMP\Fájlok\" 'A módosítandó fájlok útvonalaFor sor = 1 To usorWorkbooks.Open Filename:=utvonal & Cells(sor, 1)With Sheets("Ellenőrzendő").Range("B25") = .Range("B25") & " " & "Készítő neve"'Cserék a B oszlopbanColumns(2).Replace What:="izé", Replacement:="hogyishíjják", LookAt:= _xlPart, SearchOrder:=xlByRows.Range("C25") = Date.Range("D25") = .Range("D25") & " " & "Józsi"End WithActiveWorkbook.SaveActiveWorkbook.CloseNextEnd Sub -
Delila_1
veterán
Látod, ez már rendesebb. Először nem derült ki, miről van szó.
Sub xx()Dim sMappa As String, s As String, wb As WorkbooksMappa = "C:\Dokumentumok\___TEMP\"s = Dir(sMappa & "*.xls*")Do While s <> ""Set wb = Workbooks.Open(sMappa & s)With wb.Sheets("Ellenőrzendő").Range("B25") = "Készítő neve".Range("C25") = Date.Range("D25") = "Józsi"End Withwb.Savewb.Close Falses = DirLoopEnd Sub -
Delila_1
veterán
válasz
pigsty
#46863
üzenetére
Sub Ertek_beillesztese()Selection.PasteSpecial Paste:=xlValuesApplication.CutCopyMode = FalseEnd SubBemásolod a makrót a personalba. Alt+F8-ra megjelennek a makrók. Kiválasztod az Ertek_beillesztese címűt, az Egyebeknél hozzá rendeled a hívógombot.
Ráállsz a másolandó cellá(k)ra, Ctrl+c-vel másolod, a másolandó helyre állsz, és megadod a bill. kombinációt. -
Delila_1
veterán
válasz
WildBoarTeam
#46845
üzenetére
A B8 cella értéke 1, a B9-é (amit másolj majd B11-ig)
=HA(D9=D8;B8;B8+1). -
Delila_1
veterán
válasz
WildBoarTeam
#46841
üzenetére
-
Delila_1
veterán
válasz
Anonymus23
#46834
üzenetére
Hurrá!
-
Delila_1
veterán
válasz
Anonymus23
#46832
üzenetére
Nézd meg a SZUMHATÖBB függvényt is, hátha...
-
Delila_1
veterán
válasz
Anonymus23
#46825
üzenetére
A SZUMHA függvényt nézd meg.
-
Delila_1
veterán
Csakis makróval oldható meg, mert önmagára hivatkozó képletet nem adhatsz meg egy cellában.
Alt+F11-gyel belépsz a VB szerkesztőbe. Bal oldalon duplaklikkel kiválasztod a füzeted nevét, azon belül a ThisWorkbook lapot. A jobb oldalon kapott nagy üres felületre bemásolod a makrót.
A Sheets(1) helyére Sheets("Lapod neve") kerül, így, idézőjelek között. A Range("A1") részeknél az A1 helyére a módosítandó cellád címét add meg.
Bezárod a VB szerkesztőt, a füzetet makróbarátként kell mentened. -
-
Delila_1
veterán
válasz
thedivision2
#46738
üzenetére
-
Delila_1
veterán
Szia!
Jó lenne, ha tabulátorokat használnál. Így ömlesztve nehéz megtalálni, hogy ki kivel van (If, End If).
A fő hiba, hogy először megadod, hogy ha a Target.Column nagyobb 1-nél, akkor lépjen ki. Ezután lép(ne) oda, hogy ha az oszlop=3, akkor csinálja ezt, vagy azt.
Több helyen a feltételnek csak Else ága van. Ilyenkor érdemes a feltétel megfordítása.If oldVal = "" ThenElseIf newVal = "" ThenElseOn Error Resume NextAr = Split(oldVal, ", ")strVal = ""helyett
If oldVal <> "" ThenOn Error .... -
Delila_1
veterán
válasz
Peterhappy
#46672
üzenetére
12 szeletelő 1 lapon elég sok. Meg lehet oldani, hogy 2, vagy 3 lapon szerepeljenek a kiinduló táblázat adatai, az egyes lapokon 6, vagy 4 szeletelőn lehet választani.
Azt egy kis makróval meg lehet oldani, hogy az eredeti lap változásait kövesse a másik 1-2 lap táblázata. Az egyes lapokon diagram is lehet.
Ha ez megfelel a főnöködnek, délután megírom a makrót (ha addig valaki meg nem teszi itt). -
Delila_1
veterán
válasz
Peterhappy
#46669
üzenetére
-
Delila_1
veterán
válasz
Peterhappy
#46669
üzenetére
Lehet irányított szűrést készíteni, csak arról a lapról kell kiindulnod, ahol a szűrt adatokat akarod látni.
-
Delila_1
veterán
válasz
Peterhappy
#46666
üzenetére
Érdemes ide kattintanod, ezzel egyszerűen és mutatósan tudsz szűrni.
-
Delila_1
veterán
válasz
the radish
#46623
üzenetére
Adj feltételes formázást az M2: P... tartományra.
A formázás képlete:=DARABTELI($A:$A;$M2)=0
Mikor látod a megadott formátumot, indíthatod a másolós makrót. -
Delila_1
veterán
válasz
the radish
#46621
üzenetére
Szívesen.
Új hozzászólás Aktív témák
- Vezetékes FEJhallgatók
- Kínai és egyéb olcsó órák topikja
- Xiaomi 15 Ultra - kamera, telefon
- Kompakt vízhűtés
- Milyen videókártyát?
- Hitelkártyák használata, hitelkártya visszatérítés
- Nintendo Switch 2
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Orvosi kérdések
- GoodSpeed: A RAM-válság és annak lehetséges hatásai
- További aktív témák...
- Samsung Galaxy S9 4/64GB / 12 hónap jótállással!
- Nokia 8 Sirocco / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- Samsung Galaxy Watch FE / 16GB / Bluetooth / Wi-fi / GPS / 1 Hónap garancia
- Bomba ár! Lenovo IdeaPad V130-15IKB: i5-7G I 8GB I 256SSD I 15,6" FHD I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest




