- iPhone topik
- One mobilszolgáltatások
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- 45 wattos vezeték nélküli töltés jön az új iPhone-ba
- Az Oppo Find X8 Ultra lett a legvékonyabb kameramobil
- Google Pixel topik
- Okosóra és okoskiegészítő topik
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Xiaomi 13 - felnőni nehéz
- Apple iPhone 16 Pro - rutinvizsga
-
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
róland #36898 üzenetére
Private Sub Worksheet_Open()
Dim oCtrl As Office.CommandBarControl
'CTRL+C, CTRL+V és CTRL+X letiltása
Application.OnKey "^c", ""
Application.OnKey "^x", ""
Application.OnKey "^v", ""
'Cut menü letiltása
For Each oCtrl In Application.CommandBars.FindControls(ID:=21)
oCtrl.Enabled = False
Next oCtrl
'Copy menü letiltása
For Each oCtrl In Application.CommandBars.FindControls(ID:=19)
oCtrl.Enabled = False
Next oCtrl
'Vonszolás letiltása
Application.CellDragAndDrop = False
End SubA BeforeClose-ban vissza kell állítani!
-
Fferi50
Topikgazda
válasz
róland #33604 üzenetére
Szia!
Makró nélkül azért nem fog menni, mert egy cellában vagy képlet (és annak eredménye) van, vagy "konstans érték". Képlettel el lehet érni, hogy az adott hónap legyen látható és még a lista követelményeknek is megfeleljen, viszont amint megváltoztatod az értékét, abban a pillanatban "elvész" a képlet.
Én a Munkalap aktíválási eseményébe tenném be az egysoros kódot - ami 3 sor leszPrivate Sub Worksheet_Activate()
Range("A1").Value=Application.Choose(Month(Date), "Január","Február","Március","Április" stb.)
End SubAz adott cellára természetesen az érvényesítést is kiadhatod emellett - ahhoz nem kell nyúlni többet.
Üdv.
-
b3n1t0
csendes tag
válasz
róland #33106 üzenetére
Szia,
az alábbi makrót bemásolod egy modulba (témaösszefoglaló), a munkalapon kijelölöd azt a tartományt, amit exportálni szeretnél, majd ALT + F8, kiválasztod a Save2Text makrót és indítás. A makróban kommenttel jelölt mentési helyre elkészíti a file-t, lentebb szintén kommentelt résznél tudsz még elválasztó jelet módosítani (vessző, pontosvessző stb...)
Public Sub Save2Text()
Dim lineText As String
Dim myrng As Range, i, j, k
Filename = "C:\export.csv" 'hova/milyen néven mentse
Open Filename For Output As #1
Set myrng = Selection
For i = 1 To myrng.Rows.Count
For j = 1 To myrng.Columns.Count
lineText = IIf(j = 1, "", lineText & ";") & myrng.Cells(i, j) '";" mivel legyenek elválasztva az adatok
Next j
Print #1, lineText
Next i
Close #1
End Sub -
Juditta_56
aktív tag
válasz
róland #33106 üzenetére
Szia!
Én is most kínlódtam meg ezzel. Kérdés, hogy Neked milyen formátum kell.
Ha "simán" mentettem a munkalapot csv-ként, az nekem pontosvesszővel elválasztott adatokat eredményezett. Úgyhogy összefűztem a szükséges adatokat úgy, hogy közé vesszőket tettem (a fejlécet is!), ezt átraktam egy üres munkalapra és azt mentettem csv-ként. Így szabályos, vesszővel elválasztott mezőket kaptam. (Konkrétan a guglinaptárba akartam importálni a beosztásomat.) -
Agostino
addikt
válasz
róland #33054 üzenetére
szia!
szerintem jó lesz ez, köszönöm! : )) az utóbbi általad írt feltétel nem jön elő asszem. holnap reggel meg is nézem, hogyan muzsikál. mondjuk annyi félelmem van, hogy szerintem megint több feltételt akarnak egy cellába belezsúfolni a megrendelők, szóval könnyen lehet valami segédtáblába kell legyártanom a történetet..
-
Delila_1
veterán
válasz
róland #31906 üzenetére
Tettem fel egy fájlt, amiben le vannak tiltva a következő hónap napjaihoz rendelt érvényesítési értékek.
A hétvégéken kívül más háttérszínnel jelöltem az ünnepnapokat, és az áthelyezett szombatokat is.
Az A3 képlete adja a hónap munkaóra számát. Kivétel az a két hónap (március és október), ahol 8 órával több lesz a mutatott értéknél. Ezt majd valaki ügyesen megoldja.
-
Fferi50
Topikgazda
válasz
róland #31906 üzenetére
Szia!
Ha jól látom, akkor a hónap az A2 cellában van. Szerintem az adatérvényesítéssel meg lehet oldani, hogy ne lehessen semmit írni, ha a hónap nem 31 napos.
Pl. a 31. napot tartalmazó oszlopra a következő adatérvényesítést lehet kiadni:
Adatok - érvényesítés - egyéni - a képlet mezőbe pedig ezt írod:=NEM(VAGY(A2="február";A2="április";A2="június";A2="szeptember";A2="november"))
A 29. 30. esetén elég a=NEM(A2="február")
képlet.
A figyelmeztető és hibaüzenetekben meg lehet adni az okát a beírás elutasításának.Hasonló képletekkel a feltételes formázással elérhető, hogy a cellák más színűek legyenek - értelmes felhasználó ebből már megérti, hogy ott nincs keresnivalója.
Üdv.
-
Fferi50
Topikgazda
válasz
róland #31414 üzenetére
Szia!
Amennyiben a hahiba függvényben az üres sztringet átirtad hiba szövegre és nem a hiba szöveg jelenik meg a cellában eredményként, akkor az azt jelenti, hogy olyan cellát talált, ami "üres". Ezt tesztelheted úgy, hogy átmenetileg az üres cellákat feltöltöd értékkel a képlet helyett.
Üdv.
-
Fferi50
Topikgazda
válasz
róland #31379 üzenetére
Szia!
Az "üres" cella amiatt keletkezett, mert a beágyazott függvényeid közül valamelyik hibát eredményez, a HAHIBA függvényben pedig hiba esetére "" (üres sztring) van megadva. Ha ide pl. azt írod, hogy "HIBA", akkor nem üres lesz a cella, hanem az jelenik meg, hogy HIBA.
Meg kellene nézned a beágyazott függvényeidet (belülről kifelé haladva), melyiknek az eredménye hiba.
Ezt F2 után a szerkesztőlécen az adott függvényre állva és az fx gombot megnyomva érheted el.Üdv.
-
Fferi50
Topikgazda
válasz
róland #31377 üzenetére
Szia!
Szerintem csak annyi történt, hogy az INDEX függvényben felcserélted a sor és oszlop paramétereket.
=HAHIBA(INDEX($FA5:$HR5;HOL.VAN(0;DARABTELI($BZ5:BZ5;$FA5:$HR5);0);1);"")
helyett:
=HAHIBA(INDEX($FA5:$HR5;1;HOL.VAN(0;DARABTELI($BZ5:BZ5;$FA5:$HR5);0));"")
képletet kell végighúzni.Üdv.
-
-
Delila_1
veterán
válasz
róland #31066 üzenetére
Feltettem egy füzetet.
Az Adatok lapon oszlopokban, táblázatokban vannak az egyes érvényesítés típusok. A 4-es táblázatnál jeleztem, hogy a G2:G4 tartománynak a _4 nevet adtam, de az első 3-nál is így jártam el. Szükséges a kezdő _ karakter, mert számot önmagában nem lehet névként megadni. Nézd meg a Névkezelőt. A táblázatok tetszés szerint bővíthetőek, ne hagyj üres cellákat bennük.
A Munka1 lapra a nevek után beszúrtam egy oszlopot, ami a névhez tartozó érvényesítés típusát tartalmazza. Az érvényesítést a teljes (C2:E10) területre egyszerre vittem be, az Indirekt függvény alkalmazásával.
-
sztanozs
veterán
válasz
róland #30852 üzenetére
Ja, hogy a forrás listának range-et adsz meg - azt nem tudod megoldani, csak dinamikus range-dzsel.
Csináltam már ilyet, de kell hozzá néhány plusz oszlop és egy-két plusz bonyolultabb named range.
Array formula a Controls worksheet A oszlopban levő elemek deduplikálására (a D oszlop header-je ne szerepeljen egyszer se a deduplikált oszlopban), feltételezve, hogy az adatok 2-15 között vannak:
=IFERROR(INDEX(Controls!$A$2:$A$15, MATCH(0, COUNTIF(D$1:$D1, Controls!$A$2:$A$15), 0),1),"")Array formula, D2-be kel beírni (és CRTL+ENTER-rel bevinni) és célszerű lehúzni a deduplikált tábla aljáig
A headernek (D1) 0-t célszerű beállítani, mert így távolítja el az adatok között levő üres cellákat is.És utána egy olyan named range kell, ami levága az utolsó üres cellákat:
=OFFSET(Controls!$D$2,0,0,COUNTIF(Controls!$D$2:$D$15,">""""")-1,1)Ez kell beállítani egy Workbook-érvényességű named-range-be, és ezt a range-et adod meg a listába érvényesítésre.
-
Delila_1
veterán
válasz
róland #29555 üzenetére
Az INDEX függvény első paramétere a tartomány, amiben keresel. Nem látom ezt az egyszerűsített függvényedben.
A HOL.VAN függvény 3. paraméterében a 0 adja a pontos keresést, az 1 a közelítőt. Az utóbbi azt a legnagyobb értéket adja eredményül, ami kisebb, vagy egyenlő a keresési értékkel. Ehhez emelkedő sorrendben kell lennie a keresési tartománynak.
A 3. paraméter lehet még -1 is, ami fordítottja az 1-nek.
-
azopi74
addikt
válasz
róland #27486 üzenetére
Jó, hát én nem "általános" használatban gondolkozok, hanem vállalati használatban, ez talán szakmai ártalom ...
Általános használatra szerintem az ingyenes Windows 10-es Excel universal app is (de még az androidos és ios-es excel és az Excel Online is) elég jó.
A szeparátor pedig még Excel-en belül is változó lehet beállítástól függően.
Nem kifejezetten csak a makróprogramozásra gondolok, amikor az Excel felsőbbrendűségéről beszélek.
Bár jelenleg az is egy igen fontos tényező, rengeteg nagyvállalatnál legacy makrós megoldások százai vannak használatban, és annak ellenére, hogy 90%-uk kiváltható lenne mai eszközökkel makrómentes megoldásra, de ez mint jelentős idő és pénz.
Igaz, a VBA sírját már jó ideje ássa a MS, és mindegy egyes verzióval közelebb kerülünk ahhoz, hogy lapátra kerüljön, mert egyre ritkábban kell hozzányúlni, de a fent említett okokból még sokáig megmarad, csak az van, hogy egyszerűen nem fejleszti tovább a MS (az az igazság, hogy már egy jó ideje befagyaszotta a fejlesztését, 2003 óta a VBA gyakorlatilag változatlan), és próbálja kiváltani, és fokozatosan átterelni a fejlesztőket a modernebb eszközök irányábaInkább olyan, vállalati alkalmazás során nélkülözhetetlen forró feature-ökre gondolok, mint Data Model, PowerPivot (Excel 2013 óta beintegrálva, 2010-hez ingyenes add-in) in PowerQuery (2010-hez és 13-hoz add-in-ként elérhető, Excel 2016-ba végre beintegrálva, sőt, maximálisan programozható), stb... És ezek folyamatosan fejlődnek, szinte havonta új feature-ökkel gazdagodva.
De említhetném akár a jó öreg legacy MS Query-t is (bár PowerQuery-hez képest kicsit őskövületként hat), ha vállalati alkalmazásról beszélünk. De az alap dolgok is ezerszer kulturáltabban vannak megoldva, mint az "alternatívákban". Más alkalmazási területeken (szövegszerkesztés, prezentáció) nem olyan széles a szakadék, mert tényleg eléggé jól felzárkózott a konkurencia a MS Office-hoz, de táblázatkezelés esetében én úgy érzem, hogy egyre inkább behozhatatlan az Excel előnye, és minden egyes új verzióval tovább nyílik az olló, és a lemaradás egyre durvább.
Ennek persze nem örülök, mert egy kis verseny nem ártana a piacon, de jelenleg esély sincs arra, hogy valamelyik konkurens szoftver akár csak az Excel lába ujja közelébe érjen. -
azopi74
addikt
válasz
róland #27484 üzenetére
Tudom, tudom, csak irónia volt (azt viszont nem vettem észre, hogy OpenOffice.org-ban kezdte el)
Én nem használok semmilyen ingyenes MS Office alternatívát, különösen, ha táblázatkezelőről van szó, az ingyenes alternatívák tudása az Excel funkcionalitásának 3-4%-át súrolják alulról
-
zodo
nagyúr
válasz
róland #27469 üzenetére
Igazából az napi 2 x 3 nem csupán 3 ami nekünk bőven elegendő, kis pénzből keveset költünk
de ha mégis kevésnek bizonyulna akkor két-két számlát még össze tudok adni és annak értékét bejegyezni.
Ha elárulod a több bejegyzés létrehozás tipped hogy miként gondoltad akkor azt szívesen meghallgatóm!
-
-
Delila_1
veterán
válasz
róland #27296 üzenetére
Vigyél érvényesítést a cellára, ahol a Figyelmeztető üzenet fülön a Figyelmeztetés mezőben add meg a megjelenítendő szöveget. Ez akkor jelenik meg, ha rákattintasz a cellára, de talán így is elfogadható.
Azt, hogy a "másik cella tartalma megjeleníthető legyen", a fényképezőgép ikon segítségével állíthatod elő. Keress rá a szóra itt, a topicban.
-
Delila_1
veterán
válasz
róland #23800 üzenetére
If Target.Column = 7 Then ' ha a G (hetedik) oszlopban kattintasz egy cellára, akkor hajtja végre a Then ágat
sor = Target.Row 'a sor változó felveszi a kattintás helyének a sorszámát. Ha a G10-re kattintottál, a sor változó értéke 10 lesz
Application.EnableEvents = False letiltja az eseménykezelést
Range(Cells(sor, "B"), Cells(sor, "F")).Copy 'másolja a B10: F10 sort (ha a 10. sorra kattintottál)
Range("H18").PasteSpecial xlPasteValues 'a H18 cellába beilleszti az értéket
Application.CutCopyMode = False 'megszünteti a kijelöltséget
Range("B4").Select 'a B4 cellára áll
Application.EnableEvents = True 'Visszaállítja az eseménykezelést
End If 'no commentA H18 helyett nálad legyen Range("A" & Range("A3")). Az "A" helyett annak az oszlopnak a betűjelét írd, ahova másolni akarsz, a Range("A3") pedig a kiszámolt sorszámot adja.
-
slashing
senior tag
válasz
róland #23794 üzenetére
sőt ezt szerintem képlettel is le lehetne írni: ha/dátum/most/kisebb/nagyobb vagy valamilyen keres függvényekkkel.... ezek csak hírtelnjében kippattant fügvények amikkel lehet hogy le lehet írni. Nem tartom kizártnak bár rövid az nem lenne, lehet tényleg egyszerűbb macro-val..
-
Mutt
senior tag
válasz
róland #19135 üzenetére
Hello,
..hogyan lehet rögzíteni a nyomtatási területet?..
Lap rendezése csoport-on belül nyisd meg az Oldalbeállítás párbeszédablakot és annak a Lap fülén lehet állítani a területet.
Ha dinamikusan változik, akkor pedig makróval:
Sheets("minta").PageSetup.PrintArea = "$A$1:$F$100"üdv.
Új hozzászólás Aktív témák
Hirdetés
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Vírusirtó, Antivirus, VPN kulcsok
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Apple Watch SE 2 44mm, Újszerű, 1 Év Garanciával
- Xiaomi Redmi Note 10 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Gigabyte A620M R5 7600 32GB DDR5 512GB SSD RTX 4070 12GB ZALMAN S2 TG EVGA 650W
- Huawei P20 Lite 64GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! Apple iPad Pro 11 2024 1TB WiFi + Cellular tablet garanciával hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest