- Luck Dragon: Asszociációs játék. :)
- M0ng00se: Hardvert áruhitelre?
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- eBay-es kütyük kis pénzért
- Rap, Hip-hop 90'
- Brogyi: CTEK akkumulátor töltő és másolatai
- bitpork: MOD Júni 13 Augusztus 2- szombat jelen állás szerint.
- btz: Internet fejlesztés országosan!
-
LOGOUT
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
-
Pakliman
tag
Sziasztok!
Segítséget kérnék VBA problémával kapcsolatban, amivel eddig egyáltalán nem foglalkoztam (Classmodul), mert nem volt rá szükségem. Most viszont másképp nem lehet megoldani a dolgot (legalábbis "egyszerűen" nem)...
Egy Formon dinamikusan hozok létre változó mennyiségű OptionButton-t.
Hogyan tudom "elindítani" programból ezeknek a Click eseményét anélkül, hogy az egérrel vagy billentyűvel ténylegesen kattintanék?Ami megvan:
clsOPB:Option Explicit
Public WithEvents OptionButton As MSForms.OptionButton
Private Sub OptionButton_Click()
UserForm1.Label1.Caption = OptionButton.Parent.Name & ": " & OptionButton.Name
End SubUserForm1:
Private opbArray() As New clsOPB
Private Sub CommandButton1_Click()
Dim ctl_OpB As MSForms.OptionButton
Dim i As Long
ReDim opbArray(1 To 3)
For i = 1 To 3
Set ctl_OpB = Me.Controls.Add("Forms.OptionButton.1", "opbXYZ" & i, False)
With ctl_OpB
.Left = 100
.Top = 150 + (i * 20)
.Width = 100
.Caption = "opb_" & CStr(i)
.Visible = True
If i = 1 Then
.Value = True
' .Click 'HIBA!! Object doesn't support this property or method
End If
End With
' ctl_OpB.Click 'HIBA!! Object doesn't support this property or method
Set opbArray(i).OptionButton = ctl_OpB
' opbArray(1).Click 'HIBA!! Method or data member not found
' OptionButton_Click 'HIBA!! Sub or function not defined
Set ctl_OpB = Nothing
Next i
End Sub
Private Sub CommandButton2_Click()
Me.Controls("opbXYZ2").Enabled = Not Me.Controls("opbXYZ2").Enabled
End SubMár próbáltam azt is, hogy a Change eseménybe írtam be a szükséges dolgokat, de hiába változtatom meg KÓDBÓL a Value értékét, a Change esemény nem aktiválódik
Biztosan van megoldás, de eddig nem találtam meg
Tudna valaki segíteni? -
Fferi50
Topikgazda
válasz
föccer #54196 üzenetére
Szia!
Nem tudom, milyen biztonsági verzió van nálatok, de ezeket találtam:
Microsoft Purview információvédelem | Microsoft Biztonság
Minimum versions for sensitivity labels in Microsoft 365 Apps | Microsoft Learn
Továbbra is azt gondolom, kell legyen userre vagy más egységre szabott beállítási lehetőség, ezért az IT rendszergazdákat érdemes megszorongatni miatta. Addig marad a PrintPreview - plusz 2 enterrel
Tudom, neked sem feladatod a rendszerbeálítási lehetőségek felderítése és én sem vagyok abban a helyzetben, hogy "segíthessek" a "szakembereknek", hiszen ők azért vannak alkalmazva. (Csak információként raktam be a linkeket.)
Remélem, mielőbb megtalálják a normális megoldást.
További jó munkát!
Üdv. -
föccer
nagyúr
válasz
Fferi50 #54195 üzenetére
Stopra nem adja ki az ablakot, sendkey nem használ.
A PrintPreview műxik, de akkor pontosan ott vagyok, mintha manuálisan kérném a táblicskut az üzemeknek az egyedi elemzésére.
Úgy van felépítve a tábla, hogy alkalmas egyenként is, manuális kérésre is az elemzések legenerálására. A makró nagyjából csak annyit csinál, hogy sorra veszi az üzemeket, kéri az elemzést, meghatározza, hogy mennyi munkalapot kell nyomtatásra küldeni, kijelöli őket, nyomtat, a pdf-et menti. Következő üzem...
Így a 10 perces munka helyett van egy fél napos.
Minden esetre ismételten köszönöm a segítség nyújtást. Úgy érzem hogy ebben az esetben tehetetlen vagyok fejlesztési oldalról. Marad a manuális munka egyessével
-
Fferi50
Topikgazda
válasz
föccer #54194 üzenetére
Szia!
Én megpróbálkoznék a nyomtatás utáni sorban egy stop-pal a makróban, ha így megkapod ezt a képernyőt, akkor el tudod küldeni a nyomtatóra.
Esetleg PrintPreview és utána a nyomtatás gombra kattintani.
Persze így nem fut le automatikusan, de legalább működhet.
Az automatizmushoz megpróbálhatnád a Sendkeys Entert is a Print v. Export után.
(Én sem szeretem, de ha nincs más mód...)
Egyébként úgy látom, hogy ez egy MS eszköz, amiben szerintem lehet (kellene, hogy legyen) felhasználó szintű beállítási lehetőség is.
Üdv. -
Fferi50
Topikgazda
válasz
föccer #54191 üzenetére
Szia!
Ha "direktben" nyomtatsz PDF-et, akkor látod a felugró ablakot gondolom. Ezt le tudod képernyőfotózni tanulmányozás céljából. Makróban szerintem be kellene tenni egy várakozó ciklust a nyomtatás utánra, majd - bármennyire is utálom én is... - egy Sendkey utasítással megpróbálkozhatnál, figyelembe véve az elózőekben írtakat és tapasztaltakat.
Üdv. -
föccer
nagyúr
válasz
Fferi50 #54160 üzenetére
Kezd körvonalazódni. Csináltak egy új IT Policy-t, ami nem engedi hogy közvetlenül pdf-et nyomtassunk nyomtatási soron keresztül.
Feldob egy olyan ablakot, hogy válasszuk az exportot és onnan csinálja meg a mittuom én milyen biztosnági protokoll metaadat pecséttel ellátott biribingyót. Mivel makróból for ciklussal megyek végig a 35 üzemen, így csak simán nem menti a pdf-et, de lép tovább. Viszont makró rögzítéssel sem bírtam elkapni ezt az ablakot, hogy mégis mi a pék lehet, vagy hogy lehetne ezen túljutni.
Írtam IT-nak, kíváncsi vagyok tudnak-e vele valamit kezdeni
Már azért powerusernek gondolnak, hogy a total commanderben használom a mappa füleket
üdv, föccer
-
BullZeye
veterán
válasz
Fire/SOUL/CD #54189 üzenetére
Köszi!
-
válasz
BullZeye #54187 üzenetére
1. Adatok/Munkafüzet-csatolások (külső tábla)
2. CTRL+F (külső tábla)
Együtt a kettő.
3. CTRL+F (belső munkalap)
[kép] -
BullZeye
veterán
Excelnek van olyan funkciója, hogy egy lássam egy táblázatban, hogy mely cellákra van hivatkozás másik lapról?
-
huan
őstag
Sziasztok,
Microsoft 365 Excelből hogyan lehet eltávolítani az élőfejet? Sehol nem találom...
Köszi -
E.Kaufmann
veterán
válasz
E.Kaufmann #54183 üzenetére
Volt drivercsere, kumulatív frissítés, takarítás, rontáslevétel és... kopp-kopp, most éppen működik
-
E.Kaufmann
veterán
válasz
Fire/SOUL/CD #54182 üzenetére
Egy próbát megér majd, köszi
-
válasz
E.Kaufmann #54181 üzenetére
Januárban volt ilyen probléma több Konica nyomtatóval (csak Excel-nél volt gondjuk), minden esetben a legújabb driver oldotta meg a problémát, a W11 is kapott egy új V4 nyomtató-illesztő "motort". Innen töltsd le a nyomtatódnak megfelelő W11-s, legújabb Universal Printer Driver V4 - 2.4.0.1. driver-t és telepítsd (ha ez lenne fent, akkor is telepítsd újra) és gép restart (ha nem kéri, akkor is!)
Természetesen bele lehet futni, hogy még jobban elcsesződik, de jobbat nem tudok. -
E.Kaufmann
veterán
válasz
Fire/SOUL/CD #54180 üzenetére
Csak az Excel, Word nem, fullos asztali, a legújabb M365 amire frissült, Konica C250i, vezetékes hálózat.
-
válasz
E.Kaufmann #54179 üzenetére
Csak az Excel? Word-l ha nyomtatsz? Bármilyen más alkalmazással is gond van (pl. Notepad stb)? Melyik M365-ről van szó, Desktop App-s (butított) vagy a full-os?
Nyomtató típusa? Wifi-n/Wifi direct-n, kábelen nyomtatsz? -
föccer
nagyúr
válasz
E.Kaufmann #54177 üzenetére
Inkább gondolnám hálózati hibának, mint ecxel gondnak. Ha PDF-be nyomtatsz, akkor is gondos?
-
E.Kaufmann
veterán
válasz
E.Kaufmann #54174 üzenetére
Enyémre valaki?
-
Fferi50
Topikgazda
válasz
Fire/SOUL/CD #54175 üzenetére
Szia!
Köszi a példát. Most nem mennék mélyebben bele, ha valakinek másra lenne szüksége, úgyis megkeresi a fórumokat.
Üdv. -
válasz
Fferi50 #54172 üzenetére
...ha nem elég rá az Excel által adott lehetőség.
Az attól függ, mit kellene megoldani. Gyorsan egy példa, van 1 jelszóval védett Excel fájl, amiben, attól függően ki (milyen user) nyitotta meg, attól függően van engedélye bizonyos tartományokat módosítani, mást meg nem.
Van 2 tartomány, mindkét tartománynak van külön-külön, más-más jelszava. Mindkét tartomány esetében magamat vettem fel, mint felhasználót, de azzal a különbséggel, hogy első tartománynál megtagadtam magamtól a Tartomány szerkesztése jelszó nélkül opciót, míg a 2. tartomány esetében meg engedélyeztem.
Végén persze lapvédelmet bekapcsoltam, egyszerűség kedvéért mindent.
Ennek eredményeképp az 1. tartományt csak jelszó birtokában szerkeszthetném (csak Én), egyébként nem, 2. tartományt meg jelszó nélkül is, függetlenül attól, hogy be van állítva jelszó (szintén csak Én).
Szóval Windows engedélyek bevonásával mindegy, hogy 1 gépen van pl. 10 user fiók, vagy hálózaton 10 gép, ami nyitná az adott Excel táblát, nincs szükség arra, hogy VBA-ból nézegessük, hogy ki nyitotta meg a munkafüzetet, mert innentől ez automatikus.Ez egy egyszerű példa volt, de az látható, hogy elég összetetten is be lehet határolni, hogy ki és mit csinálhat egy adott munkafüzettel.
-
E.Kaufmann
veterán
M365-ös Excel belefagy a nyomtatásba, nyomtatófüggetlenül. Volt teljes javítás, Appdata takarítás, Safe mód, új Excel fájlból nyomtatás, de nem lett jobb. Mit lehet még tenni?
-
föccer
nagyúr
válasz
Delila_1 #54171 üzenetére
Mindenképpen macerás. Excel azért nem erre van kitalálva. Pár hónapra beszélgettük ez talán Fferi-vel, hogy ha valaki kicsit jobban ért hozzá, akkor nem lehet megóvni az adattáblákat, mindenképpen be lehet nyitni és bele lehet nézni, bármilyen védelmet is prbál bele építnei az ember.
-
Fferi50
Topikgazda
válasz
Fire/SOUL/CD #54167 üzenetére
Szia!
Ok, értem és valóban jó. Azért az kérdés, hogy a fájlon belüli különböző jogosultságokat hogyan lehet kezelni (és ezt nem kötözködésből kérdezem), ha nem elég rá az Excel által adott lehetőség.
Üdv. -
föccer
nagyúr
válasz
Delila_1 #54168 üzenetére
System.Security.Cryptography.MD5CryptoServiceProvider
Win beépített MD5 encodert meg kell hívni az eredeti jelszó megadásakos és csak a hash-t lementeni. Ellenőrzéskor ugyan ezzel a szolgáltatással vissza lehet ellenőrízni. Ha a két hash egyezik, akkor mehet tovább, ha nem akkor nem tud belépni. Szövegesen nem kell tárolni az eredeti jelszót. Aki az MD5-öt visszafejti, azzal szemben tök mindegy
-
tylerddd
veterán
Üdv! Olyan embert keresek, aki profi Excelben és díj ellenében megoldana néhány feladatot. Pü-ben várom a jelentkezést. Elküldöm a feladatot, megmondja, hogy megoldható-e, mond egy árat és megcsinálja, ha elfogadom az ajánlatot. Ha ismertek ilyet, aki itt nem elérhető, akkor szívesen veszem az ő elérhetőségét is. Köszönöm!
ui: Tényeg komoly mestert keresek, aki nem csak találgatja a lehetőségeket!
-
Delila_1
veterán
válasz
Fire/SOUL/CD #54167 üzenetére
Az eredmény függ attól, hogy kik használják a fájlt.
Abszolút védelem nincs, mint tudjuk. -
válasz
Delila_1 #54165 üzenetére
Ha kivitelezhető és semmi (az adott feladat) nem indokolja, akkor pont az a lényeg, hogy a makró ne tartalmazzon érvényes jelszavakat, se tömbben, se máshogy, mert adott esetben "simán" kiszedhető... Ha nincs titkosítva ez a VBA kód, akkor simán bele lehet nézni megfelelő fájlba (Excel egy ZIP ki lehet tömöríteni és a vbaProject.bin fájlban ott van minden)
Ez a VBA kód
Private Sub CommandButton1_Click()
Jelszo = Application.InputBox(prompt:="Kérem a jelszót", Type:=2)
If Jelszo = "xxx" Or Jelszo = "yyy" Then
MsgBox "Jó jelszó"
End If
End SubEz meg a kicsomagolt Excel és annak vbaProject.bin állománya
Látod, hogy látom?
Fferi50
Ahogy írtam, nem kell vizsgálni a jelszó helyességét, csak simán megnyitni a megadott jelszóval, ha jó, ha nem jó. Hisztizni fog ha nem jó, és amúgy is kérni fogja újra.Private Sub CommandButton1_Click()
Jelszo = Application.InputBox(prompt:="Kérem a jelszót", Type:=2)
Set MyWorkBook = Workbooks.Open(Filename:="C:\fájlneve", Password:=Jelszo)
End Sub -
Fferi50
Topikgazda
válasz
Fire/SOUL/CD #54164 üzenetére
Szia!
"a jelszó vizsgálat nélkül megnyitni a táblázatot. Ha megnyílik, akkor jó jelszót adott meg, ha meg nem, akkor nem jó jelszót"
Megmutatnád, honnan lehet akkor megtudni, hogy megfelelő jelszót adtak meg?
Üdv. -
Delila_1
veterán
válasz
Fire/SOUL/CD #54164 üzenetére
Magában a makróban meg lehet adni (pl. egy tömbben), hogy melyik jelszavakat fogadhatja el.
Ha nem jó az input, zárja be a füzetet. -
válasz
Delila_1 #54163 üzenetére
Ehhez annyi kiegészítés, hogy ez a módszer egy biztonsági kockázat, amit ki kell zárni, azaz nem kell vizsgálni a jelszót, hanem a jelszó vizsgálat nélkül megnyitni a táblázatot. Ha megnyílik, akkor jó jelszót adott meg, ha meg nem, akkor nem jó jelszót (akkor is kérni fogja), de a VBA kód ne tartalmazza beírva az érvényes jelszót/jelszavakat...
-
Pá
addikt
Lehet, hogy kicsit kuszán írtam mit szeretnék.
Szóval a lényeg és, ami fontos, hogy a Personal.xlsb-m ThisWorkbook részébe tennék egy Workbook_Open subot, aminek az lenne a célja, hogy bizonyos szempontból automatikusan megvizsgáljon mindegy egyes excel-t, amit megnyitok.
Az a problémám, hogy az excelek egy része jelszóval védett, amiket megnyitok. És úgy kéne ezt a subot beállítani, hogy a jelszóval védett exceleknél várja meg, amíg megadom a jelszót, mielőtt lefut.
Igazából nem tudom, hogy excelben van-e bármi jele, hogy megkapta a jelszót a file és ehhez tudnám kötni a macro futását.
MsgBox-szal tesztelgettem a workbook open-t de jellemzően már azelőtt elkezdte dobálni a MsgBoxot, mielőtt egyáltalán feljött a jelszó kérő ablak, szóval valahogy késleltetni kéne a macrot addig.
-
Fferi50
Topikgazda
válasz
föccer #54159 üzenetére
Szia!
A PDF exportnál van olyan lehetőség, amikor csak a kijelölt területet nyomtatja:Azt nem tudom, nem néztem, hogy makróból állítható-e. A területet biztosan ki tudod jelölni makróból.
Ilyen lett a felvett makró, amivel csak a kijelölt területet teszi ki PDF-be.Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"xxxx.pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Üdv. -
föccer
nagyúr
válasz
Fferi50 #54158 üzenetére
Nem akarom kinyomtatni, elektronikusan van tárolva és továbbítva a tanusító szerv felé. De az export már tartalmazza azokat az oszlopokat, amik nem kellenének. Ha ezt nyomtatom, akkor a nyomaton is rajta lesznek.
Na, ledokumentálom és kiküldöm az IT-nek, hogy csócsáljanak rajta egy sort.
A PDF export ami nem veszi figyelembe azt a beállítást, hogy csak a kijelölt területet nyomtassa. Fix nyomtatási terület nem játszik, mert változó adatmennyiség van.
Most annyit gányoltam rajta, hogy egy fehér betűszinnel, egy nem használatos cellába raktam egy x-et, és a korábbi vezérlő cellákat beképletezrem erre az eredeti vezérlőt meg elrejtettem. Így legalább az odlalszélesség helyre jött, de a sorok cella szegélyei miatt a tényleges adattartalom alatt szereplő üres cellákat is nyomtatja (aminek nincs adata, de a szegélye meg van rajzolva). itt ugye nem a feltételes formázás rajzolja a szegélyeket, mert mindig területet nyomtatta, így osztán hótra mindegy volt, hogy alatta még 342 sornyi szegély van rajzolva.
De ha a gyorsriportoló xlsm-em is tönkre ment, akkor pipás leszek, de nagyon. Az eszméletlen mennyiségű adatot számol át, rendszerez, elemez és generálja a jelentéseket és menti fel hálózatra. Havi ~1500 oldalnyi dokumentáció. (mondjuk rajtam kívül a kutya se nézi, de ez ebből a szempontból tök mindegy)
-
Pá
addikt
a personal.xlsb-be szeretnék tenni egy macrot, amit azt csinálná, hogy
1. Minden esetben, amikor megnyitok egy bármilyen excel-t (igazából elég lenne xlsm fajta)
2. Vizsgálja meg, hogy bizonyos szempontoknak megfelel-e (ez a része könnyű, ezt tudom)
3. Ha megfelel, akkor tegyen ki néhány gyorsvezérlő gombot felülre és rendeljen hozzájuk néhány macrot szintén a personal.xlsb-ből
4. Ha nem felel meg, akkor ne csináljon semmit.Két nehézségem van ezzel.
1. Nem vagyok benne biztos, hogy tudok ilyen macros gyorsvezérlőket kipakolni, csak az adott megnyílt file-ra, mindezt VBA-ból
2. Néhány file-amit megnyitok jelszót kér megnyitáskor. (amit keresek és amire akarom pakolni a gyorsvezérlőket is pont ilyen, jelszókérős)
Valahogy úgy kéne A Workbook_Open eseményt csinálni, hogy szépen várja meg, amíg beírom a jelszót és utána fusson le rendesen. Eddig tesztelgetésnél úgy láttam, hogy már lefut mielőtt egyáltalán feljön a jelszó bekérő ablak. -
föccer
nagyúr
nyomtatási képen:
és a nyomaton..
és ez még az egyszerűbb..
Grrr
-
föccer
nagyúr
Cégnél bevezettek valami új policy-t, így a megnyitott xlsm fájlokból ha pdf-be akarok nyomtató porton nyomtatni, akkor nem engedi, átirányít valami biztonságos exportálás menüre. Viszont a nyomtató beállításánál meg volt adva, hogy csak kijelölt területet nyomtasson, teljes oldalszélességre. No, ez szépen elúszott, szépen nyomtatja rá a vezérlőket is amit nyilván nem kellene ...
Mi a pöcsömet csináljak vele. Sem időm, sem lelki erőm átszabni az xlsm-eket, az IT érzésre megvonja a vállát, hogy global IT policy-t ők ugyan meg nem fognak kerülni a kté szép szememért... :-/
Faxom, a gyártásellenőrzési dokumentációt meg várják. Kézzel össze rakni... hát, több nap lenne üzemenként, ami most 10 perc lenne...
Még az automata elemzőt nem mertem elindítani, ami szépen sorba veszi az összes üzemet és menti le hálózatra a riport dokumentációt. Ha az is megdöglött, akkor kva mérges leszek.
Köszipuszi, jöttömre 2 nap múlva számítsatok, hajnalban, kelet felől.
-
Pá
addikt
Ez is jó ötlet. Ha saját használatra csinálok excel-t akkor egyszerűbb mint VBA-val szórakozni.
Viszont, ha úgy készítem, hogy megosztom másokkal, akkor igyekszem kerülni a feltételes formázást, mert az a tapasztalatom, hogy a sok copy&paste-tel meg cellák huzigálásával nagyon hamar szétcseszik a userek.
-
Mutt
senior tag
Szia,
...azt kéne elérni, hogy a visible sorok legyenek szép zebra mintásak...
Látom közben VBA-n indultál el, ahol használod a SUBTOTAL (RÉSZÖSSZEG) függvényt ami a megoldás kulcsa.
Itt van az én VBA és Excel tábla nélküli, feltételes formázást használó megoldásom:
A képlet pedig:=MOD(SUBTOTAL(3;$A$5:$A5);2)
Magyar Exelben:=MARADÉK(RÉSZÖSSZEG(3;$A$5:$A5);2)
A lényeg, hogy a SUBTOTAL-ban egy alulról nyitott tartomány (csak a kezdő cella van rögzítve, a vége növekszik, ahogy másolódik a képlet) van megadva.
üdv
-
Pá
addikt
válasz
Fferi50 #54150 üzenetére
Amúgy sokszor már az sokat segít, hogy idejövök és leírom a nyűgöm.
Ehhez kicsit át kell gondolnom és összegeznem a problémát. Nagyon sokszor küldöm a hsz-t és utána 1-2 perccel már jön is egy újabb megközelítésre egy ötlet.
Ennek most különösen örülök, mert a csíkozás sokkal könnyebben olvashatóvá teszi a sok oszlopos táblázatokat és mindig is zavart, hogy a filter sokszor elrontja a csíkozást, szóval ezt sok helyen fogom tudni használni.
-
Pá
addikt
válasz
Fferi50 #54148 üzenetére
Közben sikerült egy egészen jól működő verziót fabrikálnom.
Betettem egy Subtotal 109-et a táblázat egyik oszlopára, ahol jellemzően 6-8 számjegyű egyedi értékek vannak, így a subtotal cella értéke 99.99%-ban változni fog, ha Autofilterezgetek.És akkor ennek a cellának a változására már lehet indítani a macrot.
Szóval a "CHECK" tartományban ez a formula=SUBTOTAL(109,S4:S100000)
Ez meg indítja a macrot, ha változik a CHECK
Private LastSubtotal As Double
Private Sub Worksheet_Calculate()
Dim NewSubtotal As Double
NewSubtotal = Me.Range("CHECK").Value
If NewSubtotal <> LastSubtotal Then
LastSubtotal = NewSubtotal
Call ZEBRA_STRIPE
End If
End Sub
Talán lehetne még finomítani ezen, de most végre elég jól működik így.
-
Pá
addikt
válasz
Fferi50 #54144 üzenetére
Hát, közben kiderült, hogy sehogy.
Van egy VBA, ami megcsinálja pont azt, amit kell, de nem tudom megbízhatóan triggerelni Autofilterre, szóval nem működik megbízhatóan. Vagy csak nagyon eröltetett megoldással lehetne, (pl másodpercenként időzítéssel betenni valami check-et, de ezt túl favágó megoldásnak érzem).Van arra ötlet, hogy mivel lehetne triggerelni Autofilterre a VBA kódot? Ez lenne a legtisztább.
Ha nincs akkor megpróbálom táblázatként. Tegnap futottam ezzel egy gyors 5 perces kört, akkor nem működött (hiába filtereztem, nem csíkozta át). De lehet, hogy rosszul csináltam, mert táblázatokat szinte sosem használok, szóval nincs tapasztalatom vele.
Vagy esetleg ha táblázatként van benne, akkor már könnyebb triggerelni a VBA-t?Amúgy ez a kód (megkeresi a range utolsó+1 sorát, aztán, azt becsíkozza, majd a végén az összes többi sort befeketézi)
Private Sub ZEBRA_STRIPE()
Dim ws As Worksheet
Dim rng As Range
Dim rowIndex, visibleRow, lastRow As Long
Set ws = Sheet1
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).row + 1
Set rng = ws.Range("A4:BU" & lastRow)
Application.ScreenUpdating = False
visibleRow = 1
For rowIndex = 4 To rng.Rows.Count + 3
If Not ws.Rows(rowIndex).Hidden Then
If visibleRow Mod 2 = 0 Then
ws.Rows(rowIndex).Interior.color = RGB(220, 220, 220)
Else
ws.Rows(rowIndex).Interior.ColorIndex = xlNone
End If
visibleRow = visibleRow + 1
End If
Next rowIndex
ws.Rows(lastRow + 1 & ":" & ws.Rows.Count).Interior.color = RGB(0, 0, 0)
Application.ScreenUpdating = True
End Sub
-
föccer
nagyúr
Vagy táblázattá kell formázni, vagy feltételes formázást beállítani. Megcsinálod a táblázat alap színét, amit a páratlan sorokra akarsz használni, majd a feltételes formázásnál a képlet valami olyasmi lesz, hogy "MARADÉK(SOR();2)=0" Ez megadja a páros sorokat, amire berakod azt a formátumot, amit a páros sorokra akarsz.
kitöröltem egy sort.
-
mome
tag
Sziasztok!
Szeretném az A oszlopban szereplő meghatározott értéknél alacsonyabb számokat megszámlálni, ha B oszlopban nincs mellette X karakter.
Segédoszloppal HA és MAX függvényekkel tudnám megoldani, de van erre elegánsabb megoldás?
Köszönöm előre is. -
Pá
addikt
Újra bizonyíthatjuk felsőbbrendűségünket chatGPT felett!
Szóval van egy tartományom, a neve:
"DATA" ($A$4:$BU$1048576)
A könnyebb olvashatóság miatt a sorok háttérszíne felváltva fehér és világosszürke. Szóval minden páratlan sor fehér, a párosak pedig szürkék.Azt szeretném, ha ezt a szép zebra csíkozást megtartaná minden esetben. Pl ha kitörlök egy sort, vagy másolok egyet. De ami a legnehezebb része talán, hogy ha filtereket használok. Ugye ilyenkor csak rejti kiszűrt sorokat, szóval a sorszámuk nem változik, emiatt előfordul, hogy sok páros vagy páratlan számú kerül egymás mellé.
Szóval lényegében azt kéne elérni, hogy a visible sorok legyenek szép zebra mintásak. A legtöbb ötletem eddig ezen vérzett el, mert általában a kézenfekvő megoldás a sorok sorszámából indul ki és nehéz kiszűrni a hideolt sorokat.VBA, conditional formatting vagy bármi frappáns megoldás játszik.
-
ny.erno
tag
Sziasztok!
Az alábbi feladatra keresnék megoldást, bízom benne, hogy tudtok segíteni. Adott egy példa tábla hozzá, amit itt lehet elérni.
Az első munkalapon látható, hogy különböző boltok, különböző termékeket adnak-vesznek.
A második munkalapon látszik, hogy melyik kategóriában milyen terméket szeretnénk eladni és milyet szeretnénk vásárolni.
1. kérdés: Hogyan kivitelezhető egy olyan körlevél excelen belül, ami figyeli, hogy melyik bolt melyik termékekkel kereskedik és a második munkalapra megadott értékekből csak azokat kapja meg a címzett, amikkel ő is dolgozik az első munkalapon megadott termék kategóriák közül?
2. kérdés: Hogyan lehetne jobban szétszedni és úgy generálni a körlevelet, hogy a beszerző csak azt kapja meg, amit eladni szeretnék, az értékesítő pedig azt, amit vásárolni szeretnék?
Előre is köszi! -
Fferi50
Topikgazda
válasz
aviator #54133 üzenetére
Szia!
Értem én amit írsz, de akkor mégsem azonos a munkafüzet, hiszen nem egyforma a benne levő userform.Az adatokat stb. tartalmazó részek ugyanolyanok (de a különböző userformok miatt talán itt is van némi különbség).
Ez esetben talán a "front-end" munkafüzet lehetne az, amiben nincs más, csak a verziónak megfelelő userform a hozzá tartozó kódokkal. A többi művelethez pedig a háttérben megnyitja tényleges adatokat tartalmazó munkafüzetet.
Üdv. -
aviator
tag
válasz
Fferi50 #54132 üzenetére
Köszönöm a választ. Az a gond, hogy a munkafüzet, tehát az adatok minden user számára azonosak. Ezért nem lehet két munkafüzetben kivitelezni a dolgot. Itt a front-end-nek kéne csak különböznie ami végülis adott, viszont mindaddig amíg minden kód lefut ha megnyitom az egyik userformot, ez nem fog menni.
-
Fferi50
Topikgazda
válasz
aviator #54131 üzenetére
Szia!
1.) A legegyszerűbb megoldás, ha a jelenlegi O2016-os userek is kapnak O365-öt. Nem hiszem, hogy megoldhatatlan egy olyan munkahelyen, ahol már egyébként van O365 (persze lehet, hogy gépet kell cserélni, licencet bőviteni stb.).
2.)Mivel az O2016 biztosan nem fogja tudni ezután sem a nem támogatott eszközöket - és az általad leírtak alapján ki is írtja azokat - , nincs más lehetőség szerintem, mint az, hogy a régi verziót használó userek számára egy másik munkafüzetet/VBA-t biztosítasz, kihagyva belőle a nem támogatott részeket. Feltételezem, hogy a régi verzió is megoldja azon feladatokat, amiket az új verzióban más eszközökkel kezelsz, ez azon kívül, hogy neked egyszeri többletmunkát okoz, más gondot nem látok.
Az O2016-os verzióju munkafüzet nevében pedig feltűnő módon jelezni érdemes a verziót, illetve mindkettőnél érdemes lehet ezt a gyakorlatot bevezetni.
Sajnos ennél jobb megoldást nem látok kivitelezhetőnek.
Üdv.
Ps.
Létezhet még az a megoldás, hogy az új verzióban is a régi megoldásokat használod....
.......esetleg futás közben adod hozzá az új eszközöket a verzió vizsgálat után, de szerintem ez utóbbi végképp nem éri meg a fáradságot. -
aviator
tag
Sziasztok,
Volt már téma 1-2 hónapja, csak azóta nem foglalkoztam vele, a probléma viszont azóta is fennáll. Röviden arról van szó, hogy van egy kódom amit használ olyan user akinek office2016 van, meg olyan is akinek office 365 van. Ennek megfelelően a felület két részre van osztva és máshogy is működik annak érdekében, hogy a 2016-os usernek ne fusson hibára egy olyan komponens amit a 2016 nem támogat, pl. Treeview.
A gondom az, hogy tök mindegy mit csinálok, hogy hol és hogyan választom szét egy if-fel, hogy melyik userformot hívom meg attól függően hogy melyik user szeretné használni, abban a pillanatban, ahogy a kód bármelyik része meghívódik, az excel észreveszi, hogy benne van a treeview a kódban, a 2016-os usernek kiáll hibára, amit ő leokéz, dolgozik a saját felületén, elmenti a munkafüzetet és legközelebb amikor a 365-ös user szeretne dolgozni, a treeview hiányzik a formról.
Erre keresem a megoldást.
-
Mutt
senior tag
válasz
jackal79 #54126 üzenetére
Szia,
Az én javaslatomban a szerszámok elé beszúrtam egy oszlopot, ahova fel lehet sorolni a karbantartási napok nevét (pl. K,P)
A C2-ben a képlet a mintámban (vigyázz a vegyes hivatkozásokra, egyszer az első sort kell rögzíteni, másszor pedig az első oszlopot):=HA(SZÁM(SZÖVEG.KERES(SZÖVEG(C$1;"nnn");$A2));"X";"")
A képlet az első sorban lévő dátumból a SZÖVEG függvénnyel a nap nevét meghatározza, majd megkeresi hogy az első oszlopban szerepel-e a név. Találat esetén jön az X.
üdv
-
Fferi50
Topikgazda
válasz
jackal79 #54126 üzenetére
Szia!
Próbáld ki a következőt:
A szerszámok tisztítási napjait foglald táblázatba a HÉT.NAPJA függvénynek megfelelő értékkel, ahogyan a képen a sárga színű tartományt látod.
Azután a képlet a B2 cellában:=HA(HÉT.NAPJA(B$1;2)=FKERES($A2;$Q$1:$S$3;HA(HÉT.NAPJA(B$1;2)<=3;2;3);0);"x";"")
Ez húzható jobbra és lefelé is.
Természetesen a tisztítási táblázatot teheted egy másik/rejtett munkalapra is és a tartománynak nevet is adhatsz.
A képletben figyelj a sorok/oszlopok megfelelő rögzítésére ($ jelek).
Ez akkor működik, ha egy szerszámot kétszer kell egy héten tisztítani. Ha többször, akkor több oszlopba kell beírni a napokat és a képletet annak megfelelően módosítani.
Üdv.
-
jackal79
aktív tag
Sziasztok! Egy kis segítséget szeretnék kérni! Lenne egy táblázat ahol az A oszlopban a szerszámok számai szerepelnek, 1-es sorban meg az idei év dátumai. A táblázatban azt kell meghatározni, hogy a szerszámok tisztítását mely napokra ütemezzük, ide x-et szoktunk tenni. A szerszámok közötti ütemezés az változik, viszont szerszámra nézve a frekvencia nem. Pl 1-es szerszám tisztítása minden kedd és péntekre eső nap, 2-es szerszám minden szerdára eső nap, stb. Megoldható ez vmilyen függvénnyel, hogy ne kelljen az egész évet végig írnom? Előre is köszönöm a segítséget!
-
Pá
addikt
válasz
föccer #54124 üzenetére
Jah, igen, ilyen nagyon eröltetett izéket nem akartam, hogy macroval mindig visszaírom, amit módosítanak, ennyi azért nincs benne.
Viszont a validation nagyon jó ötlet, elegánsan működik, pont ilyesmiért jöttem ide.
Egyelőre az emberiség még veri az AI-t.Szóval így a worksheetet tudom lockolni, hogy ne engedje a formázást. A néhány cellát pedig, ahol szeretném engedni a formázást, azokat kiveszem a lockolás alól és validatiönnel megvédem az értékeket, szuper!
-
föccer
nagyúr
Hát, azt biztos meg lehet csinálni, hogy makróból a cella módosítás esetén visszaállítod a formátumot arra, aminek lennie kell. Kicsit fapados, de működik, ha megvan, hogy milyen feltételek szerint kell a formázást megcsinálni. Egyes cellákat lehet tiltani a lapvédelemmel. Ha jól emlékszem, akkor az egész munkafüzetet le kell védeni, ami védelem alól ki lehet venni egyes cellákat. Ha nem akarsz jelszavakkal szórakozni, akkor a beviteli munkalapról is kell csinálni egy árnyékmásolatot ami veryhidden és cella módosulásnál azt is vissza kell írni. Utóbbira ha nincs nagyon sok cella és nem a szándékos károkozást kell kivédeni, csak a véletlen felülírást, akkor lehet cella érték érvényesítésnél is beállítani, hogy csak arra az egy értékre legyen érvényes a cella. Ilyenkor bármi más adatot akarnak bevinni, az excel nem fogja engedni.
-
Pá
addikt
Sziasztok!
ChatGPT-nek ebbe beletört a foga.
Én sem hiszem, hogy megoldható, de hátha van valami trükkös megoldás rá.Szóval egy munkalapon kéne megoldani azt, hogy
1. A cellák értékét lehessen változtatni, de formázás-t ne engedje a usereknek.
2. De lenne néhány cella (A4:AZ4), ahol viszont pont fordítva kéne. Szóval az értékét semmiképpen se lehessen változtatni, de formázni lehessen.Kis plusz info, hogy ahol a formázás tiltva van, azokon a cellákon conditional formatok vannak beállítva, szóval úgy kell letiltani a usereket a formázgatásról, hogy attol a condi formatok még tudjanak lefutni.
Jól sejtem, hogy vagy az értékeket tudom protectelni munkalapon belül vagy a formázást? De cella szinten ezt kevergetne nincs mód?
Esetleg valami cseles macro erre? -
Fferi50
Topikgazda
válasz
tgulyas #54115 üzenetére
Szia!
Bocs, de szerintem ez túl van a topic terjedelmén, mivel ez egy komplett feladat, ráadásul speciális ismeretekre is szükség van a megoldáshoz.
Nem hiszem, hogy pusztán szívességből tudna/szeretne itt neked segíteni ekkora mértékben.
Javaslom, hogy olyan fórumokat keress fel, ahol munkát vállalnak a tagok.
Üdv. -
Mutt
senior tag
válasz
meke11 #54118 üzenetére
Szia,
A videóban a trendvonal együtthatóit kézzel rögzítik, de lehet képlettel számoltatni.
A LIN.ILL (angolul LINEST) függvényt lehet használni. Alapból lineáris illesztést végez, de meg lehet adni neki hogy másikkal számoljon (esetedben logaritmikus). Ha megvannak az együtthatók, akkor már csak képletbe kell tenni őket.A képen angol Excelben látod a dolgokat.
Az E2-ben van a meredekség A képlete magyarul:=INDEX(LIN.ILL(B2:B10;LN(A2:A10));1)
A metszéspont képlete (E3)=INDEX(LIN.ILL(B2:B10;LN(A2:A10));2)
Ezek tömbképletek, Excel 2021 előtt Ctrl-Shift-Enter (CSE) kell hozzájuk.
Ezek után az E5/F5/G5-be tettem az értékekeket, amikhez keressük a szemcseméretet.
Ennek a képlete:=KITEVŐ((E5-$E$3)/$E$2)
Ha Excel 2024/MS365-ön vagy, akkor a fentiek helyett az egészet egy LET/LAMBDA függvénybe lehet elhelyezni (CSE sem kell).
E7-ben a mindent helyettesítő képlet:=LET(
egyutthatok;LIN.ILL($B$2:$B$10;LN($A$2:$A$10));
y;E5;
KITEVŐ((y-INDEX(egyutthatok;2))/INDEX(egyutthatok;1))
)
üdv
-
meke11
aktív tag
válasz
föccer #54117 üzenetére
Köszönöm, de én ennyire nem akarok belemerülni a dolgokba.
Öntözés tervezésnél, a K-tényező számoláshoz szükség van az U-ra, amit a D60/D10 hányadosa ad meg. Az U-ból kiszámolom a hézadtérfogatot. Az U, a hézagtérfogat és D17-ből számolom a K-t. Eddig manuálisan olvastam le a szemeloszlási görbéről a D10, D17 és D60 értéket. Én valami olyat szeretnék, ami leolvassa valahogy a görbéről ezt a 3 értéket.A lappy által linkelt videó egész ígéretesnek tűnik, ha hazaértem megpróbálkozom vele
-
föccer
nagyúr
válasz
meke11 #54116 üzenetére
Én így csináltam meg ugyan ezt a feladatot. Kicsit fapados, de működik
Az m az gyakorlatilag az átesett görbe feletti terület. Mivel a szemmegoszlást diszkrét pontokra veszed fel, így simán lehet csinálni rá egy numerikus integrálást, jelen esetben 1-átesett az összes szitán (kivéve a felező szita), osztva 100-al, mert m/m%-al dolgozol.
Az U már keményebb dió.
s és S a két keresett m/m%-hoz szitán átesett tömegarány. d és D ezekhez tartozó szitaméret (ezeket keressük). A kisbetű az alsó, a nagy betű a felső ponthoz tartozik.
da és df azok a szitanyílások, amihez s alatti és feletti értékek tartoznak, sa és sf pediglen ezeken a szitákon fennmaradt tömegszázalékok. d-t az előrejelzés függvénnyel tudod interpolálni vigyázz, mert neked az előrejelzést az inverz függvényen kell keresned, mert az s-van megadva és d-t keresel, így ennek megfelelően kell paraméterezni a függvényt!
-
tgulyas
senior tag
Üdv, tudna eben valaki segíteni, ezt kéne össze raknom de nem tudom hogy csináljam .
Excel felhasználásával készíts egy munkaerő-tervezésimodellt, amely segít meghatározni, hogy hánymunkatársra van szükség az osztály teljesítéséhez.
Az alábbi információk állnak rendelkezésedre az újosztályról:
1. Legalább 4 fő szükséges egy nap.
2. Az áruház nyitvatartási ideje 10:00-20:00-ig.
3. 8+1 órás műszakokban dolgoznak a kollégák, amiből 1 óra szünet, az nem számít munkaidőnek.
4. Reggelente számolj előkészületi idővel, zárásnál pedig rendrakási idővel.
5. A pihenőnapokra figyelj, vedd figyelembe, hogy hétvégén is dolgoznak a kollégák.
6. Számolj távolléti aránnyal is (minden kollégának a szerződött munkaórájának átlagosan a 20%-a szabadság és táppénz egy hónapban)
7. Szeretnénk, ha minden kollégának minden 2. hétvégéje szabad lenne!
Lehetőség szerint tegyél javaslatot, hogy hány teljes munkaidős és hány részmunkaidős kolléga a legoptimálisabb az osztály működéséhez!
-
föccer
nagyúr
válasz
meke11 #54110 üzenetére
Egyenlőtlenségi együtthatót kell számolni?
Az D70/D10. Mihez kell a D17?
Ha igen, akkor nézd meg a vonatkozó szabvány. Amivel én dolgoztam, abban nem megengedett a közelítő függvény használata, hanem a 10% alatti és feletti szita méretre kell interpolációval számítani a 10%-hoz tartozó elméleti szitaméretet. Ez meg kell csinálni d-re és D-re (alsó szita és felső szita) és a két, interpolációval kalkulált szitaméretet kell osztani egymással az egyenlőtlenségi együtthatóhoz.
-
meke11
aktív tag
Kedves Excel Guruk!
Van egy 7 koordinátával meghatározott logaritmikus görbe grafikonon ábrázolva.
Konkrétan, ez egy szemeloszlási görbe, az X tengelyen szemcseátmérő (mm), az Y tengelyen tömegszázalék (%). Azt szeretném, megtudni, hogy az Y tengelyen lévő 10%, 17% és 60% pontokon mekkora a szemcseátmérő (X tengely) értéke? Erre kellene megoldás.Köszönöm!
Szép napot!
-
Fferi50
Topikgazda
válasz
Lajos.P #54102 üzenetére
Szia!
Hogy legyen még egy megoldás:
Kijelölöd az egyik oszlopot (mert egyszerre csak 1 oszlopon megy). Ezután Adatok - Szövegből oszlopok - tagolt - tovább a harmadik párbeszédpanelen benyomod az irányított gombot:Tizedesjelet nem bántod, Ezreselválasztóhoz beírod/kiválasztod a pontot. OK. Befejezés.
Ezután megismétled a másik oszloppal is.
Üdv. -
Mutt
senior tag
válasz
Lajos.P #54102 üzenetére
Szia,
Nem írtál verzió számot, de a korábban kapott pont lecserélése helyett ítt egy saját függvény, amelyet Excel2024 vagy MS365-ben a névkezelőben tudsz létrehozni.
Névnek SZÁMOK -at adtam meg.
A képlet pedig:=LAMBDA(r;SZÖVEGÖSSZEFŰZÉS("";IGAZ;HA(SZÁM(SZÖVEG.KERES(KÖZÉP(r;SORSZÁMLISTA(HOSSZ(r));1);"0123456789"));KÖZÉP(r;SORSZÁMLISTA(HOSSZ(r));1);""))*1)
üdv -
Mutt
senior tag
Szia,
1) Legyen táblázatban az adat (példámban bal fent), mert ekkor tudsz szeletelőket (slicers) használni.
2) Ezek után a SZŰRŐ (FILTER) függvényt lehet használni a RÉSZÖSSZEG (SUBTOTAL)-al.
A részösszeg olyan függvény, amely képes a rejtett sorokat (szűréskor ez történik) megkülönböztetni a többitől.A képlet az én példámban:
=SZŰRŐ(Táblázat1[[Név]:[Kor]];BYROW(Táblázat1[Név];LAMBDA(sor;RÉSZÖSSZEG(3;sor)));"Nincs adat")
Remélem ez alapján el tudsz indulni.
üdv
-
jjohn
aktív tag
válasz
Fferi50 #54101 üzenetére
Szia!
Köszi a tippet. Végül is, ha elmentem. xlsb, xlsm-be az is jó, mert csak módosítok pár adatot gyorsan makróval, aztán elmentem két formátumba, és a kollégák használhatják .xlsxt, nekik nem kell makró. Mert ugye néha, ha nem azt kiterjesztést látják akkor gond van. -
-
Lajos.P
csendes tag
Sziasztok
Egy kiexportált adat számai nem úgy jelennek meg ahogy egy sima szám.
Pontok lesznek a számok között.
Hogy lehetne azt megoldani hogy csak a szám legyen mert így nem tudom tovább felhasználni a számokat.Pl:1.350.023 és nekem 1350023 kellene pontok nélkül.
Köszönöm
Új hozzászólás Aktív témák
Hirdetés
- Kerékpárosok, bringások ide!
- Linux kezdőknek
- Windows 98/ME kérdések és válaszok
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- AMD Catalyst™ driverek topikja
- Milyen belső merevlemezt vegyek?
- Kertészet, mezőgazdaság topik
- Xbox Series X|S
- További aktív témák...
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- Assassin's Creed Shadows Collector's Edition PC
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- BESZÁMÍTÁS! Asus TUF B450M R5 5600X 32GB DDR4 512GB SSD RTX 3060 XC 12GB Rampage SHIVA Chieftec 600W
- DOKKOLÓ BAZÁR! Lenovo, HP, DELL és egyéb más dokkolók (TELJES SZETTEK)
- AZONNALI SZÁLLÍTÁS Eredeti Microsoft Office 2019 Professional Plus
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- OLCSÓ MONITOROK
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest