- iPhone topik
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Íme az új Android Auto!
- Samsung Galaxy S20 és S20+ duplateszt
- Xiaomi 13 - felnőni nehéz
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Honor Magic6 Pro - kör közepén számok
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Samsung Galaxy S24 FE - később
- Kedden érkezik a Galaxy S25 Edge
-
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
-
pigster
senior tag
-
pigster
senior tag
válasz
Delila_1 #21845 üzenetére
Hú, látom nagyon beleástad magad, köszi!
Úgy tűnik, hogy tizedesvesszőhöz igazodnak, pedig nem. Nagyobb szövegméretnél, meg "exotikusabb" betűtípusoknál (Algerian, de akár Arial Black is) látszik, hogy mégsem. Legalábbis nekem nem. Mindegy, majd azt gondolom, hogy tényleg egymás alatt vannak... -
toth60
csendes tag
válasz
Delila_1 #21827 üzenetére
Ez eddig szuper,köszi szépen...csak most minden egyes cella beíráskor le kell venni a lapvédelmet !
Konkrétan a problémám:
egy olyan excelt kell használnunk, amibe ha 1x egy cellába/sorba beír valaki, azt ne lehessen megváltoztatni többé, csak olvasni ( a példádban a lapvédelem felszabadítása után bármelyik cellát lehet módosítani a tartományon belül is, én pont ezt szeretném elkerülni!)
Tehát egy felhasználó rögzít egy sort a táblában (pl. 5 cellát), majd utána mentéskor ennek a sornak kellene zárolódni, azért hogy a leírtakat ne lehessen megváltoztatni csak olvasni és így menne tovább minden bejegyzés!
Biztos én nem magyaráztam el a problémámat érthetően, bocsi érte! -
bagira82
csendes tag
válasz
Delila_1 #21817 üzenetére
Szia,
A megoldásodat az alábbira formáltam. Hogyan tudnám meghatározni, hogy mennyi ilyen Tomb változó keletkezett? A lényege az egésznek az lenne, hogy a vesszőig beolvasott karaktereket az "a"változóban tárolnám, addig, amig egy másik munkalapon megkeresem az "a" változóban lévő értéket. Utána jöhet a következő vessző előtti 10 vagy 11 karakter, amit szintén "a" váltzóban tárolnám, és ez az egész addig megy, amíg el nem fogynak a karakterek a cellában.
Do
lep = ActiveSheet.Cells(i, 4).Value
Dim Tomb
Tomb = Split(ActiveSheet.Cells(i, 4).Value, ",")Do
a = Tomb(j)
j = j + 1
Loop Until Tomb(j) = Empty ' HIBAÜZENET ITT (subscript out of range)i = i + 1
Loop Until lep = Empty
Köszi
-
bagira82
csendes tag
-
slashing
senior tag
válasz
Delila_1 #21753 üzenetére
Köszi, ment egy privát.
A kérdésem másik felére találtam egy megoldást. Adott cellába csak adott dátumot vagy karakter stb.... lehessen megadni:
Adatok/érvényesítés
Itt a megengedve résznél lehet kiválasztani hogy mit akarunk. Az egyéninél lehet képlettel is dolgozni, nagyon jó. Lehet megadni hibaüzenet is ha rosszul írják be az adatot ill. automatikus üzenetet ha ráállnak a cellára.
-
slashing
senior tag
válasz
Delila_1 #21732 üzenetére
Lehet félreérthető voltam, szóval nekem nem szűrésre van szükségem hanem egy fkeres-re ami a segédtáblában megkeresi a sorszámhoz tartozó termékszámot majd annak a nevét. Ezzel nem is lenne gond ha egy sorszám alatt csak egy termékszám/terméknév lenne de mint látod a 3-as sorszám-hoz 3 termék kapcsolódik de ha fkeres-et használok akkor nem tudom kiválasztani pl. a piros pólót mert az fkeres az első találatod adja majd mindig így oda kéne egy legördülő lista ha több termék kapcsolódik egy sorszámhoz.
Az összevonás csak a jobb átláthatóság miatt lett a példában összevonva azzal nem lesz gond.
-
fess
őstag
válasz
Delila_1 #21745 üzenetére
idáig sikerült eljutnom. Azt akarom,hogyha nem-et választok akkor az egész sor piros legyen,ha igent akkor meg zöld. mit kell ehhez beírnom?
-
Gabcsika
tag
-
KERO_SAN
aktív tag
válasz
Delila_1 #21715 üzenetére
Nem teljesen értem, amire gondolsz...
A lényeg, hogy szeretném ha egy dinamikus érték szerepeljen a célcellában, és ne kelljen újra meg újra rászűrnöm a táblára, majd újra beállítani a summázandó tartományt, ha netán új sorral bővül az eredeti tábla.
Kicsit átfogalmaztam:
Van 2 táblám. A 2. tábla A oszlopa dátumokat tartalmaz (éééé.hh.) A B ( szám ) oszlopba egy olyan összeg kerül, ami az 1. tábla X ( szám ) oszlopainak összege, ahol soronkent Y( éééé.hh ) oszlop = A ( éééé.hh ) .
Tehát ha egyel több Y = A sorom van akkor egyel több X értéket adok hozzá a B számhoz stb...
-
-
Gabcsika
tag
válasz
Delila_1 #21702 üzenetére
Így nézek ki:
Sub Nyomtat()
Dim sor1 As Long, sor2 As Long
Sheets("Sheet1").Selectsor1 = 2: sor2 = 1
Do While Cells(sor1, "A") <> ""
Range("A" & sor1 & "" & sor1 + 4).Copy
Sheets("Sheet2").Range("A" & sor2).PasteSpecial Paste:=xlPasteValues, Transpose:=True
sor1 = sor1 + 5
If sor2 >= 63 Then
Sheets("Sheet2").Select
Sub Nyomtat()
'
' Nyomtat Makró
' Printing
'
' Billentyűparancs: Ctrl+k
'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
Cells.ClearContents
Sheets("Sheet1").Select
sor2 = 1
Else: sor2 = sor2 + 3
End If
Loop
If Sheets("Sheet2").Range("A1") > "" Then
Sheets("Sheet2").Select
Sub Nyomtat()
'
' Nyomtat Makró
' Printing
'
' Billentyűparancs: Ctrl+k
'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
Cells.ClearContents
Sheets("Sheet1").Select
End If
End Sub -
alfa20
senior tag
válasz
Delila_1 #21688 üzenetére
igen
esetleg így? -
alfa20
senior tag
válasz
Delila_1 #21674 üzenetére
köszi!
és ha azt szeretném, hogy a start gomb atollfüggően indítson el egy makrót, hogy melyik fül (page) az aktív azt hogy tudom beállítani?
eddig így indult a program:
Private Sub Btn8_indít_Click()
If OptionButton1.Value = True Then
kp_rnd
ElseIf OptionButton2.Value = True Then
ksz_nev
Else
MsgBox "Kérlek válaszd ki a rendelés típusát"
End If
End SubMivel ketté szedném, több szelekciós váltózó miatt így jobb lenne külön fülekre tenni a választási lehetőségeket, csak nem tudom, hogy indítsam el ha a 'Page1' vagy a 'Page2'-re vannak be/kitöltve az adatok.
-
válasz
Delila_1 #21591 üzenetére
hát vagy nagyon béna vagyok, vagy nemtudom már, kifolyik a szemem, de nem hajlandó operálni nekem, pedig az első pár futtatás jó volt,most pedig mindig ezt a 91-es hibát dobja, pedig elméletileg minden definiálva van.
[link]
tanácstalan vagyok, pedig egyszerűnek tűnik a dolog.jah, és a dátum formázása sem működik, tehát ha a változóba olyan dátum kerül, ami mögött nincs ott a 00:00, akkor a format parancs nem teszi hozzá. már napok óta ezzel az egyszerű dologgal szívok :/
-
-
ildikol
újonc
válasz
Delila_1 #21578 üzenetére
Megnéztem, de nem találok benne hibát..
Privatesubworksheet Change(byvaltargetAsRange)
Application.EnableEvents = False
Cells(Target.Row, "Q") = Time 'aktuális idő beírása
Application.EnableEvents = TrueIf Cells(Target.Row, "P") = "Eztkellmásolni" Then 'ezt a szöveget írd át
Masol Target.Row 'Masol makró meghívása, az aktuális sor értékének átadásával
Else
Application.CutCopyMode = False
End If -
PistiSan
addikt
válasz
Delila_1 #21527 üzenetére
Maradtam végül az eredeti megoldásnál, kis módosítással.
Eredeti: =JOBB(B1;(HOSSZ(B1)-2))
Új:= =JOBB(B1;(HOSSZ(B1)-2))*1A TRIM-el sajnos nem volt jó, mert ugyan megkaptam a számot, de szorozni nem lehetett 1-el, hibát kapsz úgy.
Ha kimásolom, és értékként illesztem be, majd megszorzom 1-el, úgy jó volt, de az első verzió végül is jobb megoldás. -
gobe22
csendes tag
válasz
Delila_1 #21549 üzenetére
Igazából kicsit bonyolultabb a történet, mert 2 oszlop van (A és B) ahol A-ban végig van egy többezres lista, a B-ben pedig csak ha van hozzátartozó adatok vesszővel elválasztva. Ezért kérdeztem hogy meg lehet-e oldani hogy az üres sorokat is meghadja, ráadásul a B oszlopba kerülnek a rendezendő elemek.
De óriási segítség amit eddig is küldtél, mert vlookupolással így is meg tudom oldani belőle, csak van így még pár plusz lépés.
De ezer köszi az eddigieket! -
lenkei83
tag
válasz
Delila_1 #21522 üzenetére
Megoldottam máshogy...
Minden lapon van fix cellám ami nem változik:
Sub AR_APSELECT()
Dim SheetArray() As Variant
Dim ws As Worksheet
Dim indx As Integer
For Each ws In ThisWorkbook.Sheets
If ws.Range("A6") = "Company" Then
ReDim Preserve SheetArray(indx)
SheetArray(indx) = ws.Index
indx = indx + 1
End If
Next
If indx > 0 Then
Sheets(SheetArray()).Select
End If
End Sub -
bteebi
veterán
válasz
Delila_1 #21498 üzenetére
(Most már) nálam is
. Elsőre lefut hiba nélkül, de ha utána újra lefuttatom, akkor előjön ez a hiba. Második futás után - nem tudom miért - azt csinálja, hogy már eleve szétbontja oszlopokra a szöveget. Ezek szerint nem csak minden indítás után végzi el a tagolást, ami számomra meglepő. Ráadásul a munkafüzetben bárhová másolom az adatokat, akkor is szétbontja oszlopokra. Valószínűleg emiatt van a hibaüzenet is, bár nem világos, hogy miért.
#21500: Köszönöm neked is! Ismertem amúgy ezt a funkciót, bár még talán csak egyszer-kétszer használtam korábban.
-
user112
senior tag
válasz
Delila_1 #21239 üzenetére
Kedves Delila_1!
Már régebben volt egy kicsit, mikor küldted segítségül a makrót!. Most az a bajom vele, hogy ha szöveges adatok helyére törzsszámok kerülnek, akkor ezt a hibát kapom:
Run-time error '1004':
WorksheetFunction osztály Match tulajdonsága nem érhető el:
és a követkeő sorra áll: sor1 = Application.WorksheetFunction.Match(ertek, Columns(6), 0)
A cellaformátum általános.
Mi a baja?
Köszönöm! -
nebulo0128
csendes tag
válasz
Delila_1 #21375 üzenetére
azt én így értem is, de gáz, így most megnyitom, win7 kihúzom az egyiket jobb szélre ott van, megnyitom másikat kihúzom balszélre ott van, egyszerű, átlátható. ugyanez nem annyira átlátható ha egy excelben dolgozok. főleg ha mondom már több mint 2 tábla van megnyitva.
itt alapvetően a kezelhetőséggel van a probléma, minek +5 kattintás ha meg tudom csinálni 1 mozudlattal szutyok az excel...
úgy érzem a problémámra vagy az egyik verzió vagy a másik a lehetőség, a két verzió együtt meg lehetetlen.(a gáz csak az h ezt főnököm rohadtul nem érti meg és ezzel baszogat)
-
nebulo0128
csendes tag
válasz
Delila_1 #21373 üzenetére
Az úgy nekem nem megfelelő, mert 8-10 excellel dolgozok egyszerre, nagyon macerás 1 excel táblában váltogatni, ezért van úgy hogy külön excel programként nyitogatja meg és nem mindig ugyan abban.
A gond ott van hogy így nem működik a hivatkozás egyikből a másikba.(Persze ha megnyitom excelből és úgy csinálom akkor működik, de ha már dolgozok valamiben akkor rohadtul macerás több táblázatot lementegetni és úgy megnyitni, betallózni újra)
office 2010-et használok
-
Louro
őstag
válasz
Delila_1 #21342 üzenetére
Wow, köszi. Előbb a paraméterezést kipróbálom. De ha könnyen áttekinthető maradhat, hogy egy oldalon van az összes script, akkor nyitott vagyok rá.
Különben - kicsit hardcore - lefutási időben van különbség itt? Modulokban tárolom -e vagy egy oldalon vannak -e a scriptjeim?
-
Louro
őstag
válasz
Delila_1 #21339 üzenetére
Van egy userform. Ezen vannak a gombok, jelölőnégyzetek, freetext mező.
Vannak a modulok, amikben a makrók futnak le.
A makrók futtatása paraméterek nélkül tökéletesen működnek. De ha játszani szeretnék a paraméterekkel, akkor hiába van a userform-omon 5 jelölőnégyzet, nem tudom az értéküket átadni a modulnak.
Remélem így kicsit pontosítottam. Ha userform-ba szeretném az összes makróm, akkor lefutnak. Akkor annyit csinálok, hogy a Click eseményre a modulban szereplő makrót átmásolom és ahol szükséges, ott a paraméterre hivatkozok. De az nem megy, hogy a Click eseményre meghívok egy modult és átadok paramétert. REngeteget gugliztam és kerestem megoldást, de kb. 2-2,5 hét után adta fel és fordulok hozzátok.
Azt gondolnám, hogy az jó lehet, hogy
module.macro(elso_parameter, masodik_parameter, harmadik_parameter) -
válasz
Delila_1 #18606 üzenetére
szia Delila!
ismét hasznát vettem ennek a remek kódnak, tökéletes módszer a beolvasásra. viszont nem teljesen értem, hogyan is kellene fordítani, értelmezni a IF ágban megadott két feltételt:
<.>
<..>
ez csak arra utal, hogy egy fájlnév nyilván nem lehet . és .., vagy van más jelentése is?illetve az sem tiszta teljesen még, hogy a kód végén mire is szolgál az FN=Dir() sor pontosan?
köszönöm, ha ezt megosztod velem
-
glocker
tag
válasz
Delila_1 #21310 üzenetére
Az amúgy is látszik, hogy nem vagyok egy Excel bajnok, de ennyire bénának sem gondoltam magam... (eddig)
(erre rájöhettem volna... és ez csak azért gáz, mert ha egy komoly tapasztalattal bíró kolléga szabadidejét fecsérli arra, hogy segítsen akkor illik komolyabb problémát felvetni és nem olyat amire két kattintással magától is rájöhet az ember)
Köszi még egyszer!
-
glocker
tag
válasz
Delila_1 #21306 üzenetére
Köszönöm segítséged!
... nézem / próbálom...
1. az általad mondott megoldás MŰKÖDIK
(tehát szerkeszthető a képlet ha az elejétől fogva beírással hozom létre és nem pl. a célra történő mutatással / kijelöléssel)
2. mintha jól csinálnám, de nem ugyanaz az eredmény mint neked (valamiért nekem alulra akarja az összesítés sort, ez látszik a mintánál is amit a funkciónál jelez) kerülő megoldásként áttettem az összesítendő sorok alá a hónapneveket (bár ez kicsit zavaró... de működik)
Talán nem mellékes és eddig sajnos nem mondtam: magyar Office2010-ről van szó...
Még egyszer köszönöm!
-
glocker
tag
válasz
Delila_1 #21304 üzenetére
hm.. köszi a tippet... kicserélem
Ha már ilyen kedves vagy, egy kicsit visszaélnék a helyzettel, lennének még kérdéseim
Egy (három műszakos munkarendhez) műszakbeosztást csinálnék de vannak nehézségeim:
1.
Néha előfordul, hogy egy képleten módosítva már nem működik a képlet, akkor sem ha vissza módosítom az eredeti értékére (a lenti képen a 21.sorban látható a probléma).Pl:
a Stat tábla egy cellájában ez van, és működik is: =Param!A19 (mutatja a Param tábla A19-es cellájának értékét)ha kézzel módosítom, pl.: =Param!$A$19 akkor valamiért / valahogy megszűnik képletnek lenni és a képletet csak szövegként értelmezi / kezeli... ha vissza írom erre =Param!A19, akkor is szöveg marad (tehát NEM mutatja a Param tábla A19-es cellájának értékét)
Ha másik (pl alatta lévő nem módosított) cella másolatával fölülírom akkor ismét műxik, de pl. csak a formátum másolás nem elég...
Kipróbáltam, azt is, hogy ezt =Param!A19 átírom erre =Param!A20, de szintén "szöveggé válik"...
2.
csoportosítás...Olyan kibontható / bezárható csoportosítást szeretnék ahol kb a következő módon jelennek meg az adatok:
+Teljes év
+Első félév
+Január
+Február
valami
valami más
+Első félév
...Ha a Januári adatokat összecsukom az ismételt kibontásukhoz a februárra kell kattintani ami elég zavaró...
(nem világos, hogy kell úgy megcsinálni, hogy a januárra kelljen kattintani a januári kibontáshoz)Esetleges segítséged, előre is köszönöm!
-
válasz
Delila_1 #21280 üzenetére
Köszi szépen
Ám elkeserítettek, hogy a kiinduló érték csak év (azaz 2008.04. helyett csak 2008 van), így viszont eleve hülyeség, csak kb értékre lehet számolni. Arra viszont nem jöttem rá, hogy a cellaformátumot ÉV-re lehessen állítani, hogy 2008-at beírva 2008-as (vagy spec 2008.06-nak) évnek tekintse a dolgot.
Új hozzászólás Aktív témák
Hirdetés
- SanDisk Extreme Portable 8TB (SDSSDE61-8T00-G25)
- BESZÁMÍTÁS! Gigabyte B450 R7 5700X 32GB DDR4 512GB SSD RX 6700XT 12GB Rampage SHIVA be quiet! 650W
- LG 42C3 - 42" OLED EVO - 4K 120Hz 0.1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen6 CPU
- Telefon felvásárlás!! Apple Watch SE/Apple Watch SE 2 (2022)
- AKCIÓ! GIGABYTE AORUS MASTER RX 6800 XT 16GB videokártya garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest