-
Fototrend
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
-
Nixon18
senior tag
válasz
Delila_1 #36250 üzenetére
Szia!
Köszönöm! ezt (vagy ehhez hasonló leírást találtam én is.
Ez annyival "butább" ahhoz képest, amit én szeretnék, hogy nem a dátum alapján választ az excel napot és abból ad ki egy legördülő listát, hanem manuálisan kell egy listából kiválasztani a napot.De még ez is jobb megoldás, mint mindent manuálisan beírni mindig.
-
kvoaksz
csendes tag
válasz
Delila_1 #36143 üzenetére
Szia!
Ezt próbáltam (igaz én az első sor végén kerestem), de nem talál karaktert, azaz nem látszólag sem talál így nincs egyezés!
Valamikor már találkoztam ezzel a problémával és sikerült megoldani, valami ilyesmivel, de most...
Textpad-ben megoldottam, de továbbra is nyomaszt!Köszönöm a választ!
-
Mela Kehes
addikt
válasz
Delila_1 #36048 üzenetére
Nem csináltam eddig makrót soha. Ez a beléptetős módszer jobb lenne szerintem, viszont lövésem sincs hol kellene beírnom a jelszót.
Várj! Működik.
Szuper lesz így. Kezdő képernyőnek majd beteszek valamit, utána pedig csak a saját jön be.
Köszönöm a segítséget és természetesen Fferi50-nek is!
Még valami!
Ha bezárom a jelszó kérő ablakot, akkor viszont mindegyik lapba bele tudok menni.
-
Sprite75
tag
válasz
Delila_1 #36009 üzenetére
Nagyon szépen köszönöm.
Ilyen az amikor valaki nem csak a SZUM() függvényt ismeri mint én: ) hanem ilyeneket is hogy NEM() meg HIBÁS().
Magamtól eszembe nem jutott volna, hogy ezek mire használhatóak tulajdonképpen.Kicsit módosítottam rajta mert kellett bele egy olyan HA() ág is amikor senkihez nem tartozik egy adott bolt valami miatt.
Még egyszer köszi.
-
PerezT
újonc
-
Imu
csendes tag
válasz
Delila_1 #35966 üzenetére
Köszi!
Közben addig próbálkoztam, míg sikerült megírni a kódot
Sub keres()
Dim ertek As String
Dim sor As Integer
Dim sor2 As Integer
Dim i As Integer
Dim j As Integer
sor = Sheets("Munka1").Range("A100").End(xlUp).Row
sor2 = Sheets("Munka2").Range("A100").End(xlUp).Row
For j = 1 To sor
ertek = Sheets("Munka1").Cells(j, 1).Value
For i = 1 To sor2
If Sheets("Munka2").Cells(i, 1) = ertek Then
Sheets("Munka2").Rows(i).Delete
End If
Next i
Next j
ThisWorkbook.Sheets("Munka2").Select
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
Selection.Cut
ThisWorkbook.Sheets("Munka1").Select
ActiveSheet.Cells(sor + 1, 1).Select
ActiveSheet.Paste
End Sub -
-
oke
senior tag
válasz
Delila_1 #35952 üzenetére
Kipróbáltam, nem jött össze így sem, sőt rosszabb
. Az eredeti dátum, amiből a hónapot/napot kinyertem, abban óra perc is van, erre nem emlékeztem: 2017.01.01 19:06:23 (éééé.hh.nn ó:pp)
Valamiért a kimutatásban a szűrésnél ezt a formátumot jeleníti meg, nem csak a hónap/napot.Illetve mivel egy napot több sorban jelenít meg, az óra:perc eltérés miatt..Nagyon sokáig gondolkozik már akkor, amikor rákattintok, hogy választani tudjak. Hibát is dobott ki, hogy max 65534 sort tud megjeleníteni itt. Ki is akadt az excel,..
-
föccer
nagyúr
-
Fferi50
Topikgazda
válasz
Delila_1 #35921 üzenetére
Szia!
Persze, hiszen a Range alapértelmezett tulajdonsága a Value.
De, próbáld csak ki mondjuk egy csak dátumot tartalmazó, vagy csak számot tartalmazó lapnévvel, dátum vagy számformátumú cellával. Meg fogsz lepődni Value esetén... (legalábbis akinek segítettem, így járt). Akkor derült ki, hogy dátumérték a munkalap neve....
Jó, nem feltétlenül "szabványos", hogy mondjuk egy munkalap neve egy pár lapos füzetben 10 legyen, de pl. ebben az esetben a Value már hibát okoz..., mivel nincs 10. munkalap.Üdv.
-
föccer
nagyúr
válasz
Delila_1 #35919 üzenetére
Listából választhatóak az elemek, illetve makróval töltöm ki a C2-t, így elvileg nem lehet hiba.
Ez lett a végleges makró, kicsit igazítottam a tartományokon, meg amin kellett. Így tökéletesen működik, köszi szépen.
Sub Masolas()
Dim sor As Long
If Sheets(Range("C2").Value).Range("B3") = "" Then
sor = 3
Else
sor = Sheets(Range("C2").Value).Range("B" & Rows.Count).End(xlUp).Row + 2
End If
Sheets("Mintavételek").Range("A2:AD5").Copy
Sheets(Range("C2").Value).Range("A" & sor).PasteSpecial xlPasteFormats
Sheets(Range("C2").Value).Range("A" & sor).PasteSpecial xlPasteValues
End Subüdv, föccer
-
Fferi50
Topikgazda
válasz
Delila_1 #35917 üzenetére
Szia!
Másik fórumon szerzett friss tapasztalat szerint célszerűbb a Value helyett a Text tulajdonságot használni:
Sheets(Range("C2").Text)
Ebben az esetben ugyanis a számokkal elnevezett munkalapok is megtalálhatók, mivel név esetén szöveget vár a kis aranyos, szám esetén (value) pedig indexként értelmezi az odatett számot.Üdv.
-
föccer
nagyúr
válasz
Delila_1 #35886 üzenetére
Szuper lesz. Annyi kigészítést szeretnék hozzá kérni, hogy hogyan kell módosítani, hogy ha a cél munkafüzet megnevezése a "C2" cellában meadott szöveg lenne?
Tehát a C2 cellába bemásolok egy "MOS" szöveget, akkor keresse meg a "MOS" nevű munkalapot és arra végzi el a beillszetés.
Köszi szépen.
üdv, föccer
-
Certee
senior tag
válasz
Delila_1 #35903 üzenetére
Igen, azt tudom, de én azt szeretném, hogy autómatikusan tudja, hogy új lapra kell nyomtatni, mert a szűrőkkel folyamatosan változtatom a sorok számát és minden alkalommal át kell húzgálni a lapokat, ha helyesen akarom kinyomtatni. Ezért lenne jó valami olyan megoldás, ha ő magától tudná, hogy ott egy laptörés van.
-
Mela Kehes
addikt
válasz
Delila_1 #35809 üzenetére
Kipróbáltam és működik is. Visszaolvasva nem írtam le a problémámat egyértelműen.
Az egyik oszlopban nevek vannak és mindegyikhez tartozik vízszintesen egy érték. (pl. sikerült a vizsga vagy sem). Na most nekem az összes olyan nevet kellene kilistáznom, akiknek nem sikerült a vizsga. Az INDEX és a HOLVAN csak a legelsőt mutatja. -
Acustic
újonc
válasz
Delila_1 #35717 üzenetére
Szia Delila!
MOst végeztem a melóval .....az agyam nem valami friss, de már annyira vártam, hogy legyen idQm belenézni a fórumba.ElQször is köszönöm a segítségeteket.
Egy dolgot elfelejtettem mondaniAz a rész, hogy hogyan pirosítom a felvett szereplQt, már nem érdekes, mert - Ha már az aktuális szerepnév be van sárgázva és jobra fel van rendezve, és a csere-funkció beállt az elsQ sárga kockába, akkor egy csere okézásával, már csak a space-eket kell nyomkodnom, és automatikusan vált pirosra, és ugrik a következQ sárgára.
Nekem egy fontos dologra "van szükségem" ......hogy az általam kijelölt cellába pl. ("H1") beírt név társai, amik az A oszlopban szerepelnek random, más sok szereplQvel keveredve, - szintén besárguljanak. És, a csere táblában a név formátuma már pirosra álljon, és megkeresse a legelsQ sárga cellát. Ennnyi. Onnantól már én elindítom az egyes-cserét, és átírja automatikusan piros névre, és balra föl rendezi. .......húú, remélem értehtQ voltam.
Az a baj, hogy nagyon érdekel ez az egész, de nem látom még át ...HOlnap belevetem magam ......most már fáradt vagyok .....reggel 5 óta nyomom.....
Sziaés még egyszer nagyon köszönöm.
Attila -
nemlehet
őstag
válasz
Delila_1 #35693 üzenetére
Annyira nem fontos, úgy is zárolva van, nem tudják elhúzgálni, de majd beírom.
Most ahogy nézem itt valami nagy furcsaság van. Nézegetem a cellaformátumokat és most feltűnt, hogy hiába állítom át bármire ugyan úgy ugyan azt a dátumot írja ki.
Tehát pl átrakom általánosra akkor a többi oszlopban a dátumból lesz ez a 42xxx szám, ebben viszont ugyan úgy marad 2012-12-10 (vagy ami dátum épp be van írva). Szóval olyan mintha beragadt volna szövegként a cella tartalma arra meg értelemszerűen nem tudja vizsgálni a MA függvényt.Sőt, ha csinálok egy olyat, hogy egy másik cellába olyat, hogy =Q3 (ugye, hogy megjelenjen benne a Q3 tartalma) akkor az sem működik. Ilyet még nem pipáltam.....
-
nemlehet
őstag
válasz
Delila_1 #35691 üzenetére
Az alsó az ami ugyan ebben a táblában a másik oszlopra működik. Próbáltam többféleképp dollárjelezni, próbáltam más színekkel hátha az a baja, hogy már "foglalt".
Szerk: Most megnéztem egy ha függvénnyel, hogy az milyen eredményt dob ki:
=HA(Q12<MA();"igen";"nem")
2012-es dátumra is azt dobja ki, hogy "nem", tehát akkor itt valami cellaformátum probléma lesz. Csak azt nem értem, hogy ez is ugyan úgy, ugyan arra a dátum formátumra van rakva mint a másik oszlop. -
Carasc0
őstag
válasz
Delila_1 #35683 üzenetére
Tökéletes, de miért dob néha Type Mismatch hibát, mikor kézzel törlöm ki az I oszlopban az értékeket?
If Target >= 3 Then
<---- erre a sorra adja be.Nézd meg, nem szöveg formátumúra van-e a cella állítva?
Nem! Szám formátumra van belőve, 0 tizedesjeggyel. (
I16:I35
tartományt néztem) -
Carasc0
őstag
válasz
Delila_1 #35681 üzenetére
Köszönöm tökéletesen működik!
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [I16:I35]) Is Nothing Then
If Target >= 3 Then
Cells(Target.Row, "AZ") = "I"
Cells(Target.Row, "AZ").Locked = True
End If
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [I16:I35]) Is Nothing Then
If Target >= 5 Then
Cells(Target.Row, "BE") = "I"
Cells(Target.Row, "BE").Locked = True
End If
End If
End SubÍgy viszont már nem! Ugyanis nekem több tartományra kéne érvényesítenem a dolgot. A BE oszlopos tartománynál már más a kritikus érték. Így nem engedi.
-
Carasc0
őstag
válasz
Delila_1 #35677 üzenetére
Private Sub Worksheet_Change(ByVal Target As Range
If Target.Address = "$I$16" And Target >= 3 Then
Range("AZ16") = "I"
Range("$I$16").Locked = True
End If
End SubNa ez kellett nekem! Én a zárolást csak azért hoztam fel, mert azt hittem azzal lehet megoldani a problémát. Tehát nem kellett a zárolás. No most ez a kód kéne nekem tartományra. Írom a példát:
I16 >>> AZ16
I17 >>> AZ17
I18 >>> AZ18
stb..Az kritikus érték természetesen továbbra is >=3.
-
Carasc0
őstag
válasz
Delila_1 #35670 üzenetére
Kilogikáztam!
Igen, a függő cellát kell Targetnak megadnom! Már a célban vagyunk, de van egy óriási hiba. Én azt akarom elérni hogy amikor A1 cella megkapja az X-et a target cella értéke alapján, akkor az A1 cella értéke maradjon örökre X. Mert ugyan zárolva lesz, de ha a Target-ban más értéket adok meg, akkor a zárolt cellában is megfog változni!
Nem csak az A1-et, hanem azt a cellát is zárolni kell, amelyiknek a hatására az A1 felvette a kritikus értéket.
Na azt nem akarom! Az egy általam kézzel változtatott cella.
Máshogy fogalmazok!
Az A1 cellában egy HA függvény működik. Megoldható-e az, hogy ha az A1 cella megkapja a kritikus értéket, akkor az A1 cella értéke ne HA függvény legyen, hanem a megkapott kritikus érték mint konstans. Végülis ugyanazt az eredményt kapom. Nem a zárolás a lényeg végülis. Hanem hogy amint megkapta a kritikus értéket a cella, az az érték büdösödjön meg benne és ne változzon tovább más cella hatására.
-
Carasc0
őstag
válasz
Delila_1 #35668 üzenetére
Szia!
Nem teljesen értem mi lehet a baj, de nem úgy működik ahogy vártam. Egyrészt csak 1x fut le a kód. Ha utána kézzel feloldom a munkalapot onnantól nem mükszik.
Megpróbálom részletezni amit szeretnék.
Legyen az A1 cella. Ebbe a cellába nem kézzel írnak bele, hanem az értéke egy HA függvénnyel van megadva. Na most ha a HA függvény pont úgy fut le, hogy pont az-az érték kerül az A1-be ami által már nem szabad hogy szerkeszthető legyen, na akkor kell a scriptnek lefutnia. De ha a függő cellában változik az érték, akkor is maradjon az A1 cella NE szerkeszthető. Magyarul ha egyszer megkapja az A1 cella a kívánt értéket, akkor onnantól kezdve a HA függvény ne legyen rá érvényes.
Az a baj hogy ezt nem tudom letesztelni, mivel a script csak 1x fut le. Utána nem.
FRISS!
Csak akkor fut le még egyszer a script ha kézzel írom be a zárolással járó értéket!
-
válasz
Delila_1 #35617 üzenetére
12 órás munkarend van, így a nappalos eleje és vége, az éjszakás műszak vége és eleje
A képen amit küldtem, a jobb oldalon ott van példának egy hónap, pl az júniusi, hogy mikor melyik műszak dolgozik
(Vízszintesen az A, B , C, D mint műszak jelölés, függőlegesen pedig a napok) Így van két nap meló délelőtt, aztán két nap pihi, aztán megint két nap meló délelőtt, kettő pihi, majd két nap éjszaka, kettő pihi, megint két nap és végül két nap éjszaka.
Megnéztem a képletet, amit küldtél, de abból nem tudom hogy tudnám megcsinálni tovább -
-
válasz
Delila_1 #35613 üzenetére
Köszönöm, valóban
(Office 2008-ban PERCEK van, PERC helyett
)
De mégsem lesz ez a jó megoldás.
Amit meg szerettem volna oldani ezzel, hogy van egy adat halmom időpontokkal, és azt szeretném egy beosztással összepárosítani.
Tehát hogy a mellékelt képen a B oszlopba (vagy akárhová) írja oda, hogy melyik műszaknak felel meg az adott időpont.
A ami nehezítés, hogy a Nappalos műszak 5:30-tól van 17:30-ig.
Milyen megoldással lehetne ezt kivitelezni? -
maestro87
őstag
válasz
Delila_1 #35597 üzenetére
Én nem ilyen manuálisra gondoltam.
Van a Tervezés menüpontban egy olyan, hogy Összegsor. Ha azt bekapcsolod, akkor automatikusan képzi az oszlopban lévő számok összegét, átlagát, maximumát vagy amit akarsz, merthogy átkapcsolható a cella lenyíló menüjében. Na ezt szeretném felülre hozni. -
bsh
addikt
válasz
Delila_1 #35574 üzenetére
de ez egy külön gomb megnyomásakor történik. (és most én is gy csinálom, kényszerűségből)
én pont azt akarom, hogy a refedit_change eventnél egyből validálja a tartalmat és addig a "tovább" gomb inaktív marad, amíg a refedit nem felel meg a feltételeknek. de semmilyen event nem fut le a refediten. -
válasz
Delila_1 #35525 üzenetére
Használatra példák:
=RegExExtract(A1)
- kiszedi a valamelyik nyitó ([{ és valamelyik záró )]} közül a szöveget=RegExExtract(A1,"","@")
- kiszedi az emailcím elejéről a nevet=RegExExtract(A1,"@","")
- kiszedi az emailcím végéről a szervert=RegExExtract(A1,"[","]", True)
- kiszedi a szögletes zárójeles szöveget (úgy hogy a zárójelet is visszaadja)RegExExtract.bas
Option Explicit
Dim rx As Object
Const REPLACABLE = "()[]{}-+*.\"
Public Function RegExExtract(Text As String, Optional StartMarker As String = "([{", Optional EndMarker As String = "}])", Optional Include As Boolean = False) As String
Dim sm As String
sm = ""
If StartMarker <> "" Then
Dim ix
For ix = 1 To Len(StartMarker)
If InStr(REPLACABLE, Mid(StartMarker, ix, 1)) > 0 Then
sm = sm & "\" & Mid(StartMarker, ix, 1)
Else
sm = sm & Mid(StartMarker, ix, 1)
End If
Next
sm = "[" & sm & "]"
End If
Dim em As String
Dim im As String
em = ""
im = ""
If EndMarker <> "" Then
For ix = 1 To Len(EndMarker)
If InStr(REPLACABLE, Mid(EndMarker, ix, 1)) > 0 Then
em = em & "\" & Mid(EndMarker, ix, 1)
Else
em = em & Mid(EndMarker, ix, 1)
End If
Next
im = "[^" & em & "]*"
em = "[" & em & "]"
Else
im = ".*"
End If
Dim rxt As String
If Include Then
rxt = "(" & sm & im & em & ")"
Else
rxt = sm & "(" & im & ")" & em
End If
If rx Is Nothing Then
Set rx = CreateObject("vbscript.regexp")
rx.IgnoreCase = True
rx.Global = True
rx.MultiLine = True
rx.Pattern = rxt
ElseIf rx.Pattern = rxt Then
'cached
Else
rx.Pattern = rxt
End If
Dim Matches
Set Matches = rx.Execute(Text)
If Matches.Count > 0 Then
Dim M
For Each M In Matches.Item(0).SubMatches
If M <> "" Then
RegExExtract = M
Exit For
End If
Next
Else
RegExExtract = ""
End If
End Function -
Juditta_56
aktív tag
válasz
Delila_1 #35404 üzenetére
Oooóóóóh, megint tanultam valamit, kösz, átírom! Úgy tudtam (sejtettem, inkább!), hogy ha vesszővel, egymás után beírom őket, akkor mind integer lesz!
Ezt is köszi!Szerk: "Az eredeti specbeillesztésnél néhány olyan paraméter szerepelt, ami alapértelmezés, azokat elhagyhatjuk."
Itt mire gondolsz? -
Juditta_56
aktív tag
válasz
Delila_1 #35396 üzenetére
Mindig mondom, hogy istennő vagy! Most az első copy-t bemásolja!
A másodiknál viszont ugyanaz a hiba, ha átírom a Te formuládra, ha hagyom az enyémet akkor is!
'Az alábbi másolást-beillesztés megcsinálja
Workbooks(OszNeve).Sheets(1).Range(Cells(OsszSor + 10, 4), Cells(OsszSor + 18, 4)).Copy
Workbooks(ControlNeve).Sheets(osszlap).Cells(EllSor + 24, HibaOszl).PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Köszönöm! ♥
Workbooks(OszNeve).Sheets(1).Range(Cells(OsszSor + 20, OsszOszl), Cells(OsszSor + 18, OsszOszlMax)).Copy
'ENNÉL A SORNÁL HIBAÜZENET: "Run-time error '1004'. Application-defined or operation-defined error." MIÉRT?
Workbooks(ControlNeve).Sheets(osszlap).Range(Cells(EllSor + 24, EllOszl)).PasteSpecial xlPasteValues
'MEG ENNÉL IS:
Workbooks(ControlNeve).Sheets(osszlap).Range(Cells(EllSor + 24, EllOszl)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=FalseBocs, nem leszek gépnél egy darabig, úgyhogy nem sürgős!
-
föccer
nagyúr
válasz
Delila_1 #35368 üzenetére
Egyetlen egy lapnak a nyomtatasarol van szo. Atallitom a parametereket, a formanyomtatvany megcsinalja a szamitasokat es nyomtathato A4 formatumban jeleniti meg a dolgokat, kvazi csak nyomtatni kell. Majd vissza korabbi lapra, parametereket allitani ellenorizni legpodulokat allitani minden biz-baz technologusi dolgot megcsinalni majd nyomtatni. Es ezt meg jo sokszor.
Kosz a valaszolat este atnezrm.
-
föccer
nagyúr
válasz
Delila_1 #35356 üzenetére
Majdnem. 10 paraméter van, ami külön-külön vűáltoztatható, ezért mindegyikre be van állítva az érvényesítés. Ellenben elég sokszor előfordul az, hogy az összes paramétert ugyan arra az értékre kell visszaállítani, ekkor legyen csak egy gombnyomás, hogy ne kelljen külön-külön végig zongorázni az összesen. Lappa megoldása pörfikt és elég egyszerű hozzá, hogy még én is megértsem.
üdv, föccer
-
BullZeye
veterán
válasz
Delila_1 #35319 üzenetére
Belefutottam egy hibába, ha duplikálom a sort makróval, amiben védett cellák vannak (bármit lehet, csak kijelölni nem), ott a képletet nem viszi át. Formázás átmegy tökéletesen, viszont az összes képlet hiányzik.
És persze Run-Time error '1004'
A módosítani kívánt cella vagy diagram védett lapon van. Ha módosítani szeretné ezt az elemet, oldja fel a munkalap védelmét. Lehet, hogy ehhez meg kell adnia egy jelszót.Ez a makró, amit használnék a sor duplikáláshoz:
Sub Duplicate()
'
' Duplicate Makró
ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.EntireRow.Copy ActiveCell.Offset(1, 0).EntireRow
' Billentyűparancs: Ctrl+d
'
End SubVan valami egyszerű módja kiegészíteni ezt, hogy védett cella függvényt is copyzzon? Cella védelem csak amiatt van, hogy még véletlenül se tudjak rákattintani és kitörölni a képleteket, és ne kelljen minden alkalommal ellenőrizni, hogy mindegyik megvan e még.
-
Új hozzászólás Aktív témák
- Borderlands 4
- Meghalt a Windows 10, éljen a Windows 10!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Analóg fényképezés
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Hogy is néznek ki a gépeink?
- AMD Navi Radeon™ RX 9xxx sorozat
- exHWSW - Értünk mindenhez IS
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- One mobilszolgáltatások
- További aktív témák...
- GIGA AKCIÓ!!! AKTIVÁLATLAN iPad Air M2 11" WiFi + CELLULAR 512GB!!! KÉK
- 136 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080 - 4 ÉV GARANCIA!
- Bomba ár! Lenovo X1 Carbon G7: i5-8365U I 16GB I 512GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Workstation bazár - Lenovo, HP, Dell - számla, 6 hó garancia
- Samsung Galaxy S23 Ultra 5G 512GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest