-
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
-
Mutt
aktív tag
válasz bteebi #17072 üzenetére
Hello,
Azt szeretném megcsinálni, hogy csak az egy adott időhöz (pl. hétfő, kedd, szerda... 0:10, 3:50 vagy 6:40) tartozó B oszlopban lévő számokat átlagoljam (0:00-tól 23:50-ig, 10 percenként, összesen 144 időpont).
Ha Excel2007 vagy újabbat használsz akkor használhatók a HATÖBB (ÁTLAGHATÖBB, DARABHATÖBB stb) függvények is. Régebbiekben pedig az AB.ÁTLAG vagy a SZORZATÖSSZEG függvények tudnak segíteni.
Mindegyik esetben nem arra kerestem, hogy pontosan hol van pl. 12:10 hanem 12:10-12:19-es időintervallumra. Gondolom kerekítési hiba miatt nem megy a pontos keresés.
Itt van a minta fájl.
üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
válasz bteebi #17592 üzenetére
Makróval:
Sub Szamma()
Dim ter As Range, CV As Object
Set ter = Application.InputBox("Jelöld ki a számmá alakítandó területet!" _
, "Terület bekérése", Type:=8)
For Each CV In ter
CV = CV * 1
Next
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
bteebi
veterán
válasz bteebi #18296 üzenetére
Mivel csak az első karaktert kellett lecserélni, ezért közben már megoldottam kerülő úton, függvénnyel: =CSERE("cella";1;1;2). Mindenesetre örülnék neki, ha valaki tudna megoldást adni az eredeti problémára függvény és makró nélkül .
Cancel all my meetings. Someone is wrong on the Internet.
-
Delila_1
Topikgazda
válasz bteebi #20329 üzenetére
A Lista laphoz kell rendelned a makrót.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lap%
If Target.Address = "$A$1" Then
For lap% = 1 To Worksheets.Count
If Sheets(lap%).Name <> "Lista" Then
Sheets(lap%).PageSetup.CenterHeader = "Szín: " & Sheets("Lista").Range("A1").Value
End If
Next
End If
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz bteebi #20342 üzenetére
Nálam csont nélkül végrehajtotta.
Próbáld meg, hogy a Lista laphoz ennyit rendelsz:Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Cimsor
End SubEgy modulba pedig ezt:
Sub Cimsor()
Dim lap%
For lap% = 1 To Worksheets.Count
If Sheets(lap%).Name <> "Lista" Then
Sheets(lap%).PageSetup.CenterHeader = "Szín: " & Sheets("Lista").Range("A1").Value
End If
Next
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz bteebi #20347 üzenetére
Ha másik lapon is akarod futtatni, akkor a másik laphoz is hozzá kell rendelned az eseménykezelő makrót.
Az ilyen típusú makrók már csak ilyen természetűek.Meg lehet oldani, hogy minden lapon működjön, de akkor a ThisWorkbook laphoz kell beírnod a makrót.
[ 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.
-
Delila_1
Topikgazda
-
Mutt
aktív tag
válasz bteebi #20466 üzenetére
Hello,
Az élőlábba beletettem a filenevet (&[Fájl]), ami Excel 2003-ban jól jelenik meg, 2007/2010-ben viszont lehagyja a kiterjesztést.
Windows mappa beállításoknál az "Ismert filetípusok kiterjesztésénel elrejtése" opcióból vedd ki a pipát.
üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
bteebi
veterán
válasz bteebi #20533 üzenetére
3. Save as-nél probléma: a "_mod"-dal kiegészítve nem pont úgy írja át, ahogy szeretném: a filenév végéhez írja a "_mod"-ot, a kiterjesztés után. Ezt meg lehetne kerülni a kiterjesztést jelölő pont előtti/utáni részre való szűréssel. Ezt viszont egyrészt én nem tudnom megírni, ráadásul ha a filenévben is van pont, akkor a "legjobboldalibb" pont előtti/utáni részre kellene szűrni.
Mondjuk a jobb szélső pont felvetése olyan szempontból megoldható, hogy jobbról keresve (Right) az az első pont. Közben találtam egy kódot, ami közelebb vihet a megoldáshoz:
Function CheckExtension()
CheckExtension = Right(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - InStrRev(ActiveWorkbook.Name, "."))
End FunctionEbből kiindulva - remélhetőleg - a SaveAs problémát talán meg tudom majd oldani.
Cancel all my meetings. Someone is wrong on the Internet.
-
storkie
újonc
válasz bteebi #20540 üzenetére
Szia(sztok),
Próbáltam úgy leírni akkor nem sikerült
Elég nehéz úgy megfogalmaznom, hogy tisztán lássátok de megpróbálok.(a hiba bennem van)
Adott egy "szum.xls" és adott "1";"2";"3";"4" nevezetű tábla
1-2-3-4-s nevű tábla tartalmilag ugyan úgy néz ki.
Hozok egy általános példát:
1es fájl:
van egy fül egy táblával Jan-Dec-ig, a sorok A-Z-ig és ezek keresztmetszete adja meg pl a D cég Júniusi bevételét
ebben a fájlban van egy fő fül ahol beírom hogy D és Junius és INDEX(HOL.VAN) függvénnyel előhívom és ide kiíratom az eredményt; mittomén (1.215.898Ft)Ugyanebből az adatokból áll a 2-3-4-s excel tábla is.
Amit akarok:
Lenne egy Szum.xls ahol a legördülőmenüből kiválasztom(a legördülő menü készítése az stimm) - jelen esetben az 1-2-3-4-et beírom ide is a hónapot és példáúl az F céget, és ezekből a táblákból (1-2-3-4) beolvassa a megfelelőt, amire nekem szükségem van, nem kell megnyitnom a táblát.
Itt négy táblával dobálóztam, de nekem olyan 30-ra lenne ez és így jelentősen megkönnyítené a munkám.
Remélem sikeredett a fogalmazásom
Köszönöm a gyors választ!!!!!
-
bteebi
veterán
válasz bteebi #20533 üzenetére
A SaveAs-t egy módon már meg tudom oldani:
Sub SaveAs()
Application.Dialogs(xlDialogSaveAs).Show ActiveWorkbook.Path & "\" & "teszt.xls"
End SubAzt viszont nem értem, hogy csak akkor működik, ha modulba teszem, különben Complie error van ("Member already exists in an object module from which this object module derives"). Miért baj, ha objektumba van beletéve, és nem modulba?
Fura amúgy, hogy kell a "\", de ha nincs ott, akkor ugyan jó mappába menti a file-t, viszont az utolsó mappanevet összefűzi a "teszt"-tel. Esetemben így a teszt.xls-ből Excelteszt.xls lett volna, mert egy ...\Excel\ nevű mappába ment volna a mentés.
A többi kérdést azonban egyelőre még nem tudtam megoldani - például azt se, hogy az eredeti file névhez annyit fűzzek hozzá mentéskor, hogy "_mod".
Cancel all my meetings. Someone is wrong on the Internet.
-
bteebi
veterán
válasz bteebi #20556 üzenetére
És működik! Egy talált kódot átírva sikerült megoldanom, hogy úgy mentse el, ahogy szeretném:
Sub SaveAs()
Dim utolsopont As Long
utolsopont = InStrRev(ActiveWorkbook.FullName, ".")
Dim UjNev As String
UjNev = Left$(ActiveWorkbook.FullName, utolsopont - 1) & "_mod" & Mid$(ActiveWorkbook.FullName, utolsopont)
Application.Dialogs(xlDialogSaveAs).Show ActiveWorkbook.Path & UjNev
End SubKipróbáltam, FullName helyett Name-mel is megy, de akkor kell bele a "\".
Cancel all my meetings. Someone is wrong on the Internet.
-
kőbaltazár
tag
válasz bteebi #20661 üzenetére
Sajnos egyik sem működik valamit biztos nem jól csinálok.
Azt szeretném, hogy egy munkalapon B22ésC37 tartomány valamint az F13 és B53 cellák tartalmát lehessen csak módosítani, a többi cellát valami háttérszínnel jelölje meg.
Az még hab lenne a tortán, ha nyomtatáskor az összes cella fehér hátterű lenne.
Üdv és köszi.[ Szerkesztve ]
Üdv: Kőbaltazár
-
Mutt
aktív tag
válasz bteebi #20977 üzenetére
Hello,
..cellákat az AH4:AH87 tartományban, amelyek értéke ... 10 és 20 közé esik
Alternatívák:
=SUMPRODUCT(--(AH4:AH87>=10);--(AH4:AH87<=20))
{=SUM(IF(H4:H25>=10;IF(H4:H25<=20;1;0)))}
=COUNTIFS(AH4:AH87;">=10";AH4:AH87;"<=20")
=INDEX(FREQUENCY(H4:H25;{9,999;20});2)üdv
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Delila_1
Topikgazda
-
Delila_1
Topikgazda
-
pirit28
csendes tag
válasz bteebi #21185 üzenetére
A megoldásod helyes ,köszönöm.
A kérdésed helytálló én fogalmaztam meg rosszul mert nem a ledolgozott időhöz kell hozzáadni hanem a munkaidő befejezéséhez.Ha tehát a dolgozó pl 16:00-ig dolgozott és ebben volt 60 perc szünet akkor igazából 17:00-ig kell Írni a befejezési időt.(már az én esetemben )
Egyébként a fáradtságod,köszönöm..
[ Szerkesztve ]
-
Delila_1
Topikgazda
válasz bteebi #21292 üzenetére
A Select Case utasítás a többirányú, tetszőleges számú elágazásokat teszi lehetővé az összetett, egymásba ágyazott If feltételek helyett, átláthatóbban.
Pontosan kell meghatároznod az értékeket.
Sub forma()
Select Case Sheets("Adatok").Range("B17")
Case 0.0011 To 0.0099
Selection.NumberFormat = "0.00000"
Case 0.011 To 0.099
Selection.NumberFormat = "0.0000"
' Case ...
' ...
End Select
End SubA feltételes formázás színét nem lehet alapul venni, mert akár teljesül a feltétel, akár nem, a szín lekérdezése a cella alapbeállításának megfelelő színkódot adja.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
-
bteebi
veterán
válasz bteebi #21497 üzenetére
Mégse az a sor a baja, mert ha kiveszem, akkor is küldi a hibaüzenetet, bár megcsinálja azt, amit kell. Azt hittem, hogy a ConsecutiveDelimiter:=False a baja, ezért áttettem True-ra, de úgyis küldi a hibaüzenetet.
Cancel all my meetings. Someone is wrong on the Internet.
-
Új hozzászólás Aktív témák
- Lakáshitel, lakásvásárlás
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Mesterséges intelligencia topik
- Android alkalmazások - szoftver kibeszélő topik
- Bugok, problémák a PROHARDVER lapcsaládon
- GoodSpeed: A Windows 11 23H2 telepítő esete az Intel Ethernet Controllerrel-I225-V 2,5 Gbps
- Apple notebookok
- Konzolokról KULTURÁLT módon
- OLED TV topic
- Nincs több főgombos iPad, van helyette nagyobb Air és Pro M4 chippel
- További aktív témák...
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig
- Warhammer Online - Age of Reckoning (DE) Collectors Box (Figurával!)
- Steames kulcsok jó áron eladóak!
- Eredeti Windows, telepítéssel! Digital Doctor Számítógép Szerviz
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest