- Android alkalmazások - szoftver kibeszélő topik
- CMF Buds Pro 2 - feltekerheted a hangerőt
- iPhone topik
- Samsung Galaxy Watch7 - kötelező kör
- Megjelent a Poco F7, eurós ára is van már
- Telekom mobilszolgáltatások
- One mobilszolgáltatások
- Vivo X200 Pro - a kétszázát!
- Mobil flották
- Okosóra és okoskiegészítő topik
-
Mobilarena
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, koztes
For Each CV In Range("E4:AL169")
CV = CV & ""
If Len(CV) = 2 Then CV.Characters(Start:=2, Length:=1).Font.Superscript = True
If Len(CV) = 3 Then CV.Characters(Start:=2, Length:=2).Font.Superscript = True
Next
End 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:A10
tartományban működik.Sub FelsoIndex()
Dim kezd As Integer, sor As Integer
For sor = 1 To 10
If Len(Cells(sor, 1)) > 1 Then
kezd = Len(Range("A" & sor))
Cells(sor, 1).Characters(Start:=kezd, Length:=1).Font.Superscript = True
End If
Next
End 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 String
For x = Len(cella) To 1 Step -1
ford = ford & Mid(cella, x, 1)
Next
Fordit = ford
End Function
Ké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 Integer
lapszam = Sheets.Count
Sheets.Add.Name = "Munka" & lapszam + 1
Range("A1").Formula = "=Munka" & lapszam & "!A1"
Range("B1").Formula = "=Munka" & lapszam & "!B1"
End Sub
Ez 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, idoOut
Sheets("Konvertált").Select
Cells = ""
Sheets("Eredeti").Range("A:J").Copy Sheets("Konvertált").Cells(1)
Columns("A:A").Delete
Range("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).Row
For sor = usor To 3 Step -2
Range("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:=xlUp
Next
Rows(2).Delete Shift:=xlUp
Range("B:B,D:D,G:H,K:K,M:M,Q:Q").Delete Shift:=xlToLeft
Columns("A:K").EntireColumn.AutoFit
End 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 String
Dim valtozo As String, split0 As String, split1 As String, eredmeny As String
usor = Range("A" & Rows.Count).End(xlUp).Row
For sor = 1 To usor
split0 = "": split1 = "": valtozo = ""
szoveg = Cells(sor, 1)
For b = 1 To Len(szoveg)
If Mid(szoveg, b, 1) = "." Or Mid(szoveg, b, 1) = "," Then
szoveg = Left(szoveg, b - 1) & " " & Mid(szoveg, b + 1)
End If
Next
For b = Len(szoveg) To 1 Step -1
If Mid(szoveg, b, 1) = " " Then
valtozo = "." & Mid(szoveg, b + 1) & ""
szoveg = Left(szoveg, b - 1)
Exit For
End If
Next
On Error Resume Next
split0 = Left(szoveg, InStr(szoveg, " ") - 1)
split1 = Mid(szoveg, InStr(szoveg, " ") + 1)
eredmeny = split0 & split1 & valtozo
Cells(sor, 2) = eredmeny
Next
End 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 Integer
Dim kezd As Integer, veg As Integer
sorszam=1
és a With–End With rész
With Sheets(1)
.Range("B25") = .Range("B25") & " " & "Készítő neve"
kezd = InStr(.Range("K25"), "/") + 1
veg = InStr(kezd, .Range("K25"), "/")
.Range("K25").Replace What:=Mid(.Range("K25"), kezd, veg - kezd), Replacement:=sorszam, LookAt:=xlPart, SearchOrder:=xlByRows
sorszam = 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 Long
utvonal = "C:\Dokumentumok\___TEMP\" 'A címeket tartalmazó txt fájl útvonala
Workbooks.OpenText Filename:=utvonal & "megnyitando.txt" 'Cseréld ki a txt nevét
usor = Range("A" & Rows.Count).End(xlUp).Row
utvonal = "C:\Dokumentumok\___TEMP\Fájlok\" 'A módosítandó fájlok útvonala
For sor = 1 To usor
Workbooks.Open Filename:=utvonal & Cells(sor, 1)
With Sheets("Ellenőrzendő")
.Range("B25") = .Range("B25") & " " & "Készítő neve"
'Cserék a B oszlopban
Columns(2).Replace What:="izé", Replacement:="hogyishíjják", LookAt:= _
xlPart, SearchOrder:=xlByRows
.Range("C25") = Date
.Range("D25") = .Range("D25") & " " & "Józsi"
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
Next
End 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 Workbook
sMappa = "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 With
wb.Save
wb.Close False
s = Dir
Loop
End Sub
-
Delila_1
veterán
válasz
pigsty #46863 üzenetére
Sub Ertek_beillesztese()
Selection.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End Sub
Bemá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 = "" Then
Else
If newVal = "" Then
Else
On Error Resume Next
Ar = Split(oldVal, ", ")
strVal = ""
helyett
If oldVal <> "" Then
On 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.
Új hozzászólás Aktív témák
Hirdetés
- Vezetékes FEJhallgatók
- 3D nyomtatás
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- Hálózati / IP kamera
- A Micron újszerű módszerrel javítja QLC-s SSD-jének sebességét
- Otthoni időjárás-állomás
- Dune Awakening - Máris túl az 1 millión
- Konzol Screenshot
- Mesterséges intelligencia topik
- sziku69: Szólánc.
- További aktív témák...
- ViewSonic VG700b monitor 17" 1280 1024 DSUB, DVI, beépített hangszórókkal
- Samsung Galaxy Xcover 5 64GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Lenovo ThinkBook 14s Yoga - i5-1135G7 I 16GB I 256SSD I 14" FHD Touch I Cam I W11 I Gari
- Lenovo Legion Pro 5 16IRX9
- Bomba ár! Fujitsu LifeBook U758 - i5-8GEN I 8GB I 256GB SSD I HDMI I 15,6" FHD I W11 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest