- Otthoni hálózat és internet megosztás
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Hálózati / IP kamera
- Windows 10
- HBO Max & OD topic
- Milyen routert?
- OpenMediaVault
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- Játékfejlesztés
-
IT café
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
-
Pityke78
őstag
Sziasztok!
Hogyan tudom kiszámoltatni két cellának a különbségét percben, amik időformátumban vannak megadva óra:perc-ben.
pl:
A1: 10:10
B1: 12:30
C1: 140 (percet adjon eredményül)Köszönöm
-
-
WildBoarTeam
aktív tag
Sziasztok!
Szükségem lenne egy "rövid" makróra, ami csak annyit csinál, hogy azt a cellát, amin állok, azt valamilyen színnel kiemeli.
Az is jó megoldás, hogy ha használom az excel keresőjét, akkor a keresési eredmények között ugrálva emelje ki a találatot színnel (természetesen, ha továbblépek, akkor a formázás álljon vissza alapra).Vagy ezt makró nélkül is meg lehet oldani valami beállítás módosítással?
Előre is köszönöm.
UI.: Az excel tábla kb 2ezer soros és kb 18 oszlopból áll.
blabla
-
Delila_1
Topikgazda
válasz WildBoarTeam #23307 üzenetére
Egyszerűbb, ha a keresésnél nem a Következő, hanem a Listába mind gombot nyomod meg. A megjelenő felsorolásban egyenként nézheted meg a találatokat.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
littleNorbi
aktív tag
Sziasztok! Van egy excel fájl, amiben több sheet található. Minden sheeten használtam egy oszlopban egy FKERES függvényt. A FKERES tartományát meg lehet valahogy egyszerűen változtatni, vagy csak gyalog? Tehát mindenhol csak pl. a 400. sorig van a tartománya, és nekem kellene hogy a 600.-ig legyen az új tartomány.
-
lappy
őstag
válasz littleNorbi #23309 üzenetére
Szia!
Hát ha jól van megírva a függvényed és persze nem olyan sok munkalap van akkor inkább manuálisan old meg. Másik módja a macro, de szerintem az nem túl egyszerűBámulatos hol tart már a tudomány!
-
m.zmrzlina
senior tag
válasz littleNorbi #23309 üzenetére
Én úgy írnám a fv-t, hogy pl: =FKERES(D2;A:B;2;0) ahelyett, hogy =FKERES(D2;A1:B400;2;0).
Persze csak ha nem zavar be 400. sor után lévő tartomány, (ha van ott egyáltalán valami)
[ Szerkesztve ]
-
slashing
senior tag
A kepleteknel is mukodik a keres es csere funkcio, nem muszaj vegigzongorazni egyesevel vagy macroval...
-
littleNorbi
aktív tag
válasz m.zmrzlina #23311 üzenetére
Így is gyalog kellett kijavítanom, de köszönöm, mert hosszútávra szuper megoldás.
-
Mittu88
senior tag
Az megoldható valahogy, hogy CSAK akkor tudja az adott xlsm fájlt megnyitni a felhasználó, ha a makrók futtatása engedélyezve van a gépén? (vagy megbízható helyek között van az a mappa, amelyikben van, vagy alapból engedélyezve vannak a makrók)
-
m.zmrzlina
senior tag
válasz Mittu88 #23314 üzenetére
Nekem azt sikerült kiötleni (na jó innen loptam :-) hogy hozzáadsz a munkafüzetedhez egy lapot amin csak egy információ van a felhasználónak, hogy "Nincs engedélyezve a makró. Zárd be a munkafüzetet és nyisd meg újra miután engedélyezted a makrókat!". A fálj bezárásakor ezen a lapon kívül minden munkalapot elrejtesz és mentesz. Ha valaki engedélyezett makróval vagy letiltott makróval de biztonságos helyről nyitja meg a fájlt akkor a Worbook.Open esemény során az összes munkalap rejtése megszűnik csak az üzenetet tartalmazóé marad meg ergó tud dolgozni a user. Ha viszont nincsen engedélyezve a makró akkor megnyílik a fájl de csak egy lap látható amin az üzenet van (hiszen úgy mentetted el a fájlt hogy az összes többi rejtett).
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sh As Worksheet
For Each sh In Worksheets
sh.Visible = xlSheetVisible
Next
For Each sh In Worksheets
If sh.Name <> "figyelem" Then sh.Visible = xlSheetVeryHidden
Next
Application.DisplayAlerts = False
ActiveWorkbook.Save
Application.DisplayAlerts = True
End Sub
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In Worksheets
sh.Visible = xlSheetVisible
Next
For Each sh In Worksheets
If sh.Name <> "figyelem" Then
sh.Visible = xlSheetVisible
Else
sh.Visible = xlSheetVeryHidden
End If
Next
End SubJa és nem Insert>New>Module-ba másolod a makrót hanem a Thisworkbook>Worksheet-ba
[ Szerkesztve ]
-
Mittu88
senior tag
válasz m.zmrzlina #23317 üzenetére
Húú de cseles Holnap megnézem, mert most rohannom kell. Majd írok, hogy mi lett.
-
Delila_1
Topikgazda
válasz WildBoarTeam #23316 üzenetére
A kérdéses laphoz (mindegyikhez, ahol működtetni akarja) kell rendelni a lenti makrót, amit nem én írtam, de nagyon tetszik.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.FormatConditions.Delete
With Target
With .EntireRow
.FormatConditions.Add Type:=xlExpression, Formula1:="1"
With .FormatConditions(1)
With .Borders(xlTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
With .Borders(xlBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
.Interior.ColorIndex = 20
End With
End With
With .EntireColumn
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="1"
With .FormatConditions(1)
With .Borders(xlLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
With .Borders(xlRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
.Interior.ColorIndex = 20
End With
End With
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="1"
.FormatConditions(1).Interior.ColorIndex = 36
End With
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.
-
Fferi50
őstag
válasz Delila_1 #23319 üzenetére
Szia!
Akkor azt javaslom, hogy a Thisworbook SheetSelectionChange eseménybe írja be a makrót:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
End SubA fenti két sor közé. Az Sh.name megmondja, hogy melyik munkalapon van éppen. Ezt megvizsgálva eldöntheti, hogy menjen-e a feltételes formázás vagy nem.
Nem kell sok-sok munkalapra másolni, csak egy változóban meg kell adni a munkalapok neveit, amit aztán többféle módon lehet ellenőrizni. (Pl. Instr függvény)
Üdv.
[ Szerkesztve ]
-
-
sutyimatyi
csendes tag
Sziasztok! Segítség kellene. Hogyan lehet azt megcsinálni, hogy A3-A50 ig figyelje a beírt értékeket, és ahol negatív előjellel talál értékeket azokat összeadja, és beírja A1-be. Remélem érthetően írtam le. Köszönöm
-
slashing
senior tag
válasz sutyimatyi #23322 üzenetére
nem próbáltam ki de elvileg működnie kell:
=SZUMHA(A3:A50;"<0";A3:A50)
sőt ha jól tudom az utolsó(második) A3:A50 csak opcionális szóval elhagyható...
[ Szerkesztve ]
-
slashing
senior tag
válasz sutyimatyi #23324 üzenetére
=ABS(SZUMHA(A3:A50;"<0"))
-
slashing
senior tag
válasz sutyimatyi #23327 üzenetére
Nincs mit...
-
Fferi50
őstag
válasz Delila_1 #23321 üzenetére
Szia!
Az igaz, hogy a makró a feltételes formázás törlésével indít, de ki tart vissza bennünket attól, hogy előtte elmentsük a feltételes formázásnak azt az értékét, amit meg akarunk változtatni (mert nyilván, nem az egész formázás fontos, hanem annak mondjuk a színe), amikor pedig "kilépünk" belőle, akkor visszaadjuk az eredeti értéket. (De most másban vagyok benne, nem érek rá megírni - bár nyilván csak pár sor.)
Üdv.
-
Mittu88
senior tag
válasz m.zmrzlina #23317 üzenetére
Szuppper Az Open és a BeforeClose eseményben is volt előtte parancs, ezeket egyből kiütötte (nem működtek), mert rossz helyre illesztettem be először a parancssoraidat (veryhidden munkalapon nem tud dolgozni a vba!), de minimális gondolkozás és javítás után tökéletesen működött.
Nagyon szépen köszönöm a segítséget!
-
Delila_1
Topikgazda
válasz WildBoarTeam #23331 üzenetére
Hurrá!
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
#02644736
törölt tag
Sziasztok!
Olyan problémám lenne, hogy adott egy excel (2013-as), ami 22 munkalapból áll. Az utolsó 18 lapra mindig txt fájlból olvasok be adatokat (Adatok menü Szövegből), és az első 4 munkalap azokból vesz ki adatokat.
Beállítom az utolsó 18 munkalapon a kívánt oszlopszélességeket, de mikor új txt-t olvasok be, nem marad úgy a beállított oszlopszélesség, mindig megváltozik. Be lehet valahogy állítani, hogy amit beállítok, az ne változzon meg, ha új txt-t olvasok be? -
Mittu88
senior tag
válasz #02644736 #23333 üzenetére
Ha kijelölöd valamelyik celláját a becsatolt adattartománynak, és az Adatok fülön rákattintasz a Kapcsolatoknál a Tulajdonságokra, lennie kell az Adatformátum és elrendezés részben olyannak, hogy Oszlopszélesség igazítása. Checkboxból pipa ki és kész.
Legalábbis 2010-esben így működik, sajnos nincs '13-asom. -
-
bbTamas77
aktív tag
Sziasztok!
Tegyük fel, hogy van egy ilyen táblám, ahol a sorok a következőek:
Az oszlopok a "csoport", és "létszám".
CSOPORT1 10 fő
CSOPORT1 24 fő
CSOPORT1 30 fő
CSOPORT2 40 fő
CSOPORT2 54 fő
CSOPORT2 44 fő
CSOPORT2 24 fő
CSOPORT3 23 fő
CSOPORT3 53 fő
CSOPORT4 10 fő
CSOPORT4 12 főCsoportok összlétszámát kellett kiszámolnom csoportonként, ez eddig sikerült egy szumha függvénnyel.
De utána kellene ezeknek a soroknak Mediánt és Móduszt is számolni csoportok alapján!Hogyan lehetséges ezt egy képlettel megoldani?
[ Szerkesztve ]
-
Mittu88
senior tag
válasz m.zmrzlina #23335 üzenetére
A mi cégünknél nem elvárás az ilyen alap szintű office programcsalád ismerete. Pályakezdő vagyok (bár már talán nem, 2 éve vagyok a cégnél), máshol elvárás?
Amúgy nevetséges -
Mittu88
senior tag
válasz Mittu88 #23337 üzenetére
Ma pl. lecsesztek, hogy a szerveren amit anno csináltam fájlt, simán le tudta törölni az egyik felhasználó. Megnéztem és az egész fájlt törölte. Erre mondtam, hogy nem azt mondtátok, hogy ne törölhesse, hanem hogy ne törölhessen bele.
Ezt én (remélem helyesen) úgy értelmeztem, hogy ha meg van nyitva a fájl, ne tudjon munkalapot vagy cella tartalmat törölni.
Pár évnyi adatot töröltek, de van róla biztonsági mentés. -
Delila_1
Topikgazda
válasz Fferi50 #23329 üzenetére
A makró több formátumot módosít: a cella háttérszínét, a 4 szegély 3-3 tulajdonságát, úgy, mint stílusát, vastagságát, és színét, ami összesen 13 tulajdonság.
Igen, látszólag el lehetne tárolni ezeket, de mikor is állítanád vissza az eredeti értékeket? Mikor egy másik cellára kattint a felhasználó.
Tehát 13 publikus változóban kellene tárolni a fentieket, plusz az előzőleg kiválasztott cella címét, hogy tudjuk, melyik cella feltételes formátumát kell visszaállítani – ha egyáltalán volt rá ilyen adva. Ezeken kívül még a feltétel(eke)t is be kellene spájzolni.Eddig 1 celláról beszéltem, de a kiválasztott cellának a teljes sorát, és oszlopát módosítja a célkeresztes makró. Hány változó is kellene ehhez?
Nem tudod eltárolni az adatokat.
A célkeresztes makrót ott lehet alkalmazni, ahol nincs a lapon feltételes formázás.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
slashing
senior tag
válasz slashing #23340 üzenetére
jah azt elfelejtettem megkérdezni hogy mit értesz az alatt hogy "egy képlettel" mert egyel sehogy sem mert 3 abszolút eltérő képletről beszélünk... mindegyiknek külön oszlop kell
nálam így volt:
e2,3,4 a csoportok
f1 a létszám g1 a módusz h1 a medián és ezek alatt voltak a képletek...ha a fentiek megvannak akkor ki lehet iratni egy képlettel mindet így:
="a csoport létszáma="&F2&" módusza="&G2& " mediánja="&H2
[ Szerkesztve ]
-
Fferi50
őstag
válasz Delila_1 #23339 üzenetére
Szia!
"Nem tudod eltárolni az adatokat."
Már miért ne tudnám. A formatcondition objektum egymaga tárolja a benne levő összes beállítást, nem kell mindenhez külön változó - még azt is tudja, hogy mely tartományra vonatkozik.
Tehát elég "csak" az adott területen található formatcondition objektumokat eltárolni. Igaz, az állapotok visszanyerése jóval bonyolultabb az eltárolásnál.Viszont amit én írtam, az egyetlen cellára vonatkozott, hiszen a feladat az volt, hogy a feltételeknek megfelelően történő ugrálásnál váltson színt a cella. Egy színt azért csak meg lehet jegyezni a cella címével együtt...
Üdv.
-
Delila_1
Topikgazda
válasz Fferi50 #23342 üzenetére
Elbeszélünk egymás mellett.
Te most egy teljesen új formázásról írsz a cella kiválasztásakor, ahol egyetlen cella háttérszínét módosítod, nem a "célkeresztes" megoldásról. Ám annál is az állapotok visszanyerése jóval bonyolultabb az eltárolásnál.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Mittu88
senior tag
válasz m.zmrzlina #23343 üzenetére
Az biztos. Az Apple komoly pénzeket fizetne egyes kollegák szoftveres "tesztelési" képességeiért.
-
Fferi50
őstag
válasz Delila_1 #23344 üzenetére
Szia!
Szerintem nem beszéltünk el egymás mellett, de ez nem is lényeges.
A 2010-es exceltől biztosan (de valószínűleg a 2007-ben is már) igen egyszerűen megoldható a feladat:Public fmtcondis As New Collection
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ujfmtr As FormatCondition, ujfmtc As FormatCondition, ujfmtt As FormatCondition
On Error Resume Next
If IsError(Target.Cells.Count) Then Exit Sub
On Error GoTo 0
If Target.Cells.Count <> 1 Then Exit Sub
If fmtcondis.Count > 0 Then
On Error Resume Next
For Each fmt In fmtcondis
fmt.Delete
fmtcondis.Remove 1
Next
On Error GoTo 0
End If
With Target
With .EntireRow
Set ujfmtr = .FormatConditions.Add(Type:=xlExpression, Formula1:="1")
With ujfmtr '.FormatConditions(1)
With .Borders(xlTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
With .Borders(xlBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
.Interior.ColorIndex = 20
.SetFirstPriority
End With
End With
fmtcondis.Add ujfmtr, "fmt1"
With .EntireColumn
Set ujfmtc = .FormatConditions.Add(Type:=xlExpression, Formula1:="1")
With ujfmtc '.FormatConditions(1)
With .Borders(xlLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
With .Borders(xlRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
.Interior.ColorIndex = 20
.SetFirstPriority
End With
End With
fmtcondis.Add ujfmtc, "fmt2"
Set ujfmtt = .FormatConditions.Add(Type:=xlExpression, Formula1:="1")
ujfmtt.Interior.ColorIndex = 36
ujfmtt.SetFirstPriority
fmtcondis.Add ujfmtt, "fmt3"
End With
End SubHiszen itt már be lehet szúrni "akárhány" feltételes formázást és elsőnek tenni, ha pedig megváltozik a kijelölés, akkor az előző formázást törölni.
Ha egy kijelölés közben megváltoztatod az oldalon a feltételes formázási szabályokat, akkor nem tudja a kijelölés elhagyása után letörölni a régi formázást - viszont, ha már úgyis benne vagy a szabályokban, egyszerűen ki kell törölni a kijelölésre vonatkozó feltételes formázásokat, utána az új kijelöléstől már ismét működik az automatizmus.2007. előttre olyan ötletem van, hogy az adott munkalapról csinálni kell egy másolatot és arról minden kijelölés váltásnál vissza kell másolni a formátumot az eredetire.
Üdv.
-
Delila_1
Topikgazda
válasz Fferi50 #23347 üzenetére
2007-ben nem jó, 2010-ben igen, azt leszámítva, hogy a füzet újbóli behívásakor a lapon megmarad az utolsó kijelölésnek megfelelő szálkereszt. Erre tudsz valami megoldást?
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
slashing
senior tag
válasz Mittu88 #23345 üzenetére
erről én is tudnék mesélni, mikor megnyitja a munkafüzetet előjön automatikusan egy msgbox kiírja hogy mit nem szabad, a cellán érvényesítés van és kiírja hogy mit nem szabad más színnel van jelölve és még akkor is az ellenkezőjét csinálja mikor meg letiltom akár még a rákattintást is akkor meg reklamál hogy de miéééért, mert hülye vagy azért és nem fogja fel....
az abszolút hozzá nem értőnél már csak az rosszabb aki azt hiszi hogy ért hozzá, mert majd ők megoldják de még egy ha függvényt sem tud megcsinálni
minden szerénység nélkül mondom hogy nálunk 5 asszisztens munkáját fél év alatt automatizálni tudnám és még csak makró sem kéne hozzá, pedig én se vagyok egy nagy mágus de félelmetes a hozzá nem értés. A színezésen kívül talán még a szum függvény amit értenek...
-
Fboy
aktív tag
Sziasztok!
"Az A2- A12 cellába írja be az alábbi számokat:
24, 12, 79, 32, 104, 54, 254, 46, 9, 124, 43"Erre van valamilyen spéci beillesztés? Vagy be kell írkálni őket? Olyan opciót találtam, hogy szövegből oszlopok, de ugyanezt nem tudom eljátszani sorokkal.
Új hozzászólás Aktív témák
- World of Warcraft Shadowlands Collectors edition EU EN
- Game Pass Ultimate előfizetések 1 - 25 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.
- Eladó Steam kulcsok kedvező áron!