-
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
-
ZaiKo
csendes tag
válasz
Fferi50
#34613
üzenetére
Szia!
Köszönöm a választ!
Azt hogy tudom automatizálni, hogy a második ilyen sémát hányadik karaktertől keresse?
Ugye a két számlaszámnak a pozíciója totál változó lehet. Lehet hogy azonnal egymás után vannak, lehet hogy az első előtt van még 10 karakternyi valami, lehet a kettő között 10 karakternyi valami (a 10 itt most egy random szám). -
HREH
senior tag
válasz
Fferi50
#34611
üzenetére
Köszi!
A frissítő rutin kifejezést nem értem pontosan, ugyanis automatikusan frissít percenként (így van megadva a külső adatok átvételénél), nem én csinálom manuálisan.
Átírni pedig nem szeretném pontra, jobban szeretem a vesszőt elválasztóként.
Most próbáltam úgy is, hogy egy makróba beteszem a dolgokat, a rögzítéssel rögzítettem is, de abszolút nem azt csinálja, amit kellene neki
(adatok frissítése, majd cseréje)na mindegy, még elszórakozok vele egy kicsit
(#34610) pigster: Ez bevált, nagyon köszönöm

-
bsh
addikt
válasz
Fferi50
#34466
üzenetére
tudom hogy kell elmenteni egy fájlt. ez szándékosan van így csinálva, hogy más néven is lehessen menteni, ha nem akarja a user felülírni a fix nevű fájlt. ha nem menti el a user, akkor a mégse-re kattintva megjeleníti az excelt. és nyilván a show-val mutatom meg a dialogot. a kérdés az, miért a háttérben jelenik meg, és hogy tudom előtérbe hozni. appactivate-tel nem megy.
-
lenkei83
tag
válasz
Fferi50
#34421
üzenetére
Közben megtaláltam.
Ribbon meghívásnál száll el a CopyMemory sornál.
#If VBA7 Then
Function GetRibbon(ByVal lRibbonPointer As LongPtr) As Object
#Else
Function GetRibbon(ByVal lRibbonPointer As Long) As Object
#End If
Dim objRibbon As Object
CopyMemory objRibbon, lRibbonPointer, LenB(lRibbonPointer)
Set GetRibbon = objRibbon
Set objRibbon = Nothing
End Function -
adik
őstag
válasz
Fferi50
#34367
üzenetére
Köszi a linkeket, megvoltak, ezekkel is kezdtem, csak nekem ez túl elméleti, bár kétségkívül hasznos. pl a MS oldalán feltüntetett eygszerre 2xx ember, stb... ezért kérdeztem volna, h mik a valós tapasztalatok, egy Magyarországon működő, átlag cég, átlag IT környezetében. Előző munkahelyemen egész combosba hajló file-okat használtunk, amiket 10-20 percenként frissítettünk+mentettünk és remekül működött minden, de azt is hozzá kell tennem, hogy erősen túlméretezett és jól karbantartott volt az infrastruktúra, annak perpill minden előnyével. Ezért inkább azt akartam megtudni, hogy inkább volt-e az helyi előny, hogy rendesen működik, itt meg a gyengébb vállalati IT háttér miatt már nem.
-
scott_free
senior tag
válasz
Fferi50
#34342
üzenetére
akkor félreérthető voltam:
G3-től G300-ig, és elég sok oszlopban van bejegyzés, amit cserélni kellene (5446 db)
szóval egyesével nem megoldható.próbáltam helyettesítő karaktereket használni, de valahogy nem jó.
és mivel képlet, ezért több lépésben sem tudom módosítani. (pl. hogy először csak beteszem a kerekítés szót)valami ilyesmi kellene, de ez nem jó: HAHIBA(KEREKÍTÉS(*;2);*)
ahol a csillag a meglévő szövegrész lenne. -
föccer
nagyúr
válasz
Fferi50
#34319
üzenetére
Dinamikusan kell a szűrőről leszedni a feltételt.
Egy picit bővebben leírom, hogy miről szól a játék.
Éves vizsgálati adatsorok. A 4 jegyű az egy anyag azonosító. Az időszakban több alkalommal is vizsgáljuk ez anyagot és minden vizsgálati eredményt ebben a táblázatba viszek fel. Nyilván az év során sok féle anyagot vizsgálatunk, össze vissza. Ezért is jó az autoszűrő párosítva az összesít függvénnyel. Leszűröm a megfelelő anyagokat és a táblázat alján, (elszeparáltan, hogy az autoszűrőt ne hülyítse meg) összesít függvénnyel szedem ki a szükséges adatokat (min/max, összegek, darabszám stb).
Viszont vannak olyan adatok, amit a fenti táblázat nem tartalmaz. Termelési adatok pl. ezekre is szükségem lenne. Egy másik táblázatból ki tudom ezeket szedni, de ehhez kellene a anyag azonosítója.
Tehát leszűrnék az adott anyagra, mindent kiszámolok, és már mentem is a szűrt eredményt. Havi szinten több száz ilyen kiértékelést kellene megtenni, szóval a lehető leghatékonyabbra kell összekalapálni a cuccot.
üdv, föccer
-
ngyk90
újonc
válasz
Fferi50
#34228
üzenetére
Szia!
Ezt szeretném elérni az egész munkalapra érvényesen! Tehát, ha pl.: B11
12 cellatartományba begépelem az adatokat, majd a B12 cellába "B"-t írok akkor azt szeretném, ha automatikusan a B11
12 tartomány kitöltőszíne szürke lenne, ha "T" akkor fehér!Remélem így már érthetőbb a dolog!
Köszönöm szépen az eddigi segítségeket!
Üdv
-
KaliJoe
tag
-
0P1
aktív tag
válasz
Fferi50
#34241
üzenetére
Hello,
Igen, valami ilyen tákolásra gondoltam én is a "rendívül körülményes" módszer alatt, de nem voltam halandó kiagyalni
, főleg , hogy van ezerszer egyszerűbb és átláthatóbb megoldás is (Beolvasás/átalakítás)
Régen valóban ilyenekhez kellett folyamodni ilyen feladatokhoz, (vagy VBA-hoz , az ilyen függvényezésnél még az is szebb megoldás ), de ma már hála istennek nem vagyunk rászorulva. -
ngyk90
újonc
válasz
Fferi50
#34162
üzenetére
Szia!
Már majdnem jó, köszönöm a segítséget! Annyit kellene még változtatni, hogy ne csússzon el a képen látható módon:
Tehát, ha "B" betűt írok akkor ne az alatta lévő cellákat színezze be, hanem a hozzá tartozókat!
A fenti szabályt úgy hoztam létre, ahogy mondtad, B és C oszlop kijelölve teljesen és beírtam, amit ajánlottál!Köszönöm!
Üdv,
Krisz -
0P1
aktív tag
válasz
Fferi50
#34201
üzenetére
Szia, ez szerintem nem azt csinálja, amit ReSeTer kért (én legalábbis nem így értelmeztem)
Ez így ebben a formában az adott cellában szereplő érték összes előfordulás számát adja ki az oszlopban, ha az három vagy annál több.
ReSeTer szerintem úgy szeretné, hogy azt adja vissza, hogy hány olyan cellatartomány van, ahol háromszor vagy annál többször szerepel AKÁRMILYEN érték egymás után (vagyis nem üres).
"Azt számolja, hogy hányszor fordult elő az, hogy egy oszlopban egymás után 3 vagy több cellában is szerepel bármi (szöveg) megszakítás nélkül."
34200-as válaszom ezt csinálja , de ha meg tudnád egy kicsit módosítani tömbfüggvénnyel, hogy ne legyen szükség egyáltalán segédoszlopra, az jó lenne

-
ngyk90
újonc
válasz
Fferi50
#34156
üzenetére
A példánál maradva, a képen összetartozó cellák alatt a B21
22-re gondoltam egyszer, annak kellene "automatikusan" szürke színűnek lenni, ha a B22-be "B" betűt írok! Másik ilyen a B37
38, aminek fehérnek kellene, hogy legyen, ha a B38-ba "T" betűt írok! Azért kell a fehér is, mert minden szürke cellának van egy párja is annyi különbséggel, hogy "T" betű szerepel ott és, ha begépelem a szürke tartalmát és átmásolom akkor szürke marad, de ha a "B"-t "T"-re változtatom lehetne fehér és nem kellene "manuálisan" változtatni vissza!Nem tudom mennyire érthető a dolog így ebben a formában! A cellák nincsenek egyesítve, a szürke és a fehér részen belül is 4db külön álló cella található!
-
poffsoft
veterán
válasz
Fferi50
#34063
üzenetére
o.k.
Fránya makrórögzítő csak így hajlandó rögzíteni.

ráadásul a "H" még hibás is volt, csak most vettem észre:
Sub Rendez()
Dim usor As Long
Dim lusor As Long
Dim ms As Long ' max sor'
Dim sm As Long ' aktualis sor'
Dim i As Variant
Dim Ls() As String
Dim Ts As String
Dim valasz As String
Ls() = Split("B.C.D.E", ".") ' a neveket tartalmazó oszlopok'
Ts = "H" ' a szűrt lista oszlopa'
sm = 1
ms = Rows.Count
usor = Range(Ts & ms).End(xlUp).Row
If usor > 1 Then
valasz = MsgBox("Nem üres a cél """ & Ts & """ oszlop." & vbCrLf & "Folytatod?", vbYesNo, "Figyelem!")
If valasz = vbYes Then Range(Ts & "1:" & Ts & usor).Clear Else Exit Sub
End If
For Each i In Ls
usor = Range(i & ms).End(xlUp).Row
If usor > 1 Then
Range(i & "2:" & i & usor).Copy Destination:=Range(Ts & sm)
sm = sm + usor - 1
End If
Next i
'duplicate remove'
usor = Range(Ts & ms).End(xlUp).Row
Application.DisplayAlerts = False
Range(Ts & "1:" & Ts & usor).RemoveDuplicates Columns:=1, Header:=xlNo
Application.DisplayAlerts = True
With ActiveSheet.Sort
.SetRange Range(Ts & "1:" & Ts & usor)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range(Ts & "1").Select
End Sub -
mivannem
csendes tag
válasz
Fferi50
#34023
üzenetére
Ok, köszi, én megoldottam, csak pontatlan, most még épp a pontosításán dolgozom. A végtelen megoldás az világos, és nem is probléma, a lényeg, hogy hasonlítsanak egymásra.Jó lett volna, ha az excel tartalmaz olyan függvényt, amely szétosztja a cella értékét több cella között, mert így 150%-os hiba is beesik néha. Sajnos ezen feladatom alatt kellett rájönnöm, hogy mennyire buta és mamut ez a program. Egy darab fájl (3 db egymillió cellát tartalmazó lap, két lapon csak számokkal, egyiken pedig képlettel feltöltve) 1,3 gb méretű, megnyitásához pedig 28 gb ram kell.
-
mivannem
csendes tag
válasz
Fferi50
#34015
üzenetére
Magamat idézve: "csak 3000 sorra és ugyanennyi oszlopra kell majd, szóval nem kézzel szeretném beírni". És a 15-öt ne úgy ossza el, hogy 15 db egyes, inkább 4-3-2-2-1-1-1-1 meg egy csomó 0. De megközelíthető a probléma úgy is, hogy adott sor- és oszlopösszegek alapján töltjük ki a táblázatot, viszont akkor nem csak az oszlopokat kell súlyozni hanem a sorokat is.
-
mivannem
csendes tag
válasz
Fferi50
#34002
üzenetére
Köszi, de képzeld el, ez a képlet milyen eredményt adna, ha a pl 15-öt kellene elosztani 3000 felé? Ha ilyen egyszerű volna, már rég készen lennék, azért írtam ide, mert ez ennél kicsit bonyolultabb. A súlyozás célja, hogy a nagyobb osztályba tartozók nagyobb valószínűséggel vonzzák be, és többet, de a kisebb súlyúakhoz is beeshet véletlenszerűen egy-egy, persze nagyon kis eséllyel. Ha ez segít, akkor hozzáteszem, hogy a sor- és oszlopösszegeknek is ki kellene jönnie, ezek az adottak, ezek alapján töltöm ki a táblázat egymillió celláját. De a lényeg a sorösszeg, az oszlopösszeg nem feltétlenül kell, hogy pontos legyen, inkább az az egyik súlyozási tényező.
-
nordican
tag
válasz
Fferi50
#33981
üzenetére
Igen, de ha egy oszlopot szélesebbre veszek, akkor a tőle jobbra lévő oszlopokban lévő cuccok is csúsznak (vagy keskenyebbre kéne vennem őket, de ezt meg a bennük lévő adatok miatt nem tudom). Elég kötött munkalapokkal dolgozom, szinte minden mindennel összefügg, ami ilyen szempontból elég szerencsétlen megoldás.
-
nordican
tag
-
nordican
tag
válasz
Fferi50
#33974
üzenetére
Fantasztikus vagy, köszönöm!
Így már sikerült a meglévő munkafüzetemre alkalmaznom, egy bökkenő van, és itt fel is adom ezt a történetet. Ha a sorban van összevont cella (és nekem sajnos van), ott nem működik, és hiába szedem szét a cellákat, a szöveg nem megy át a következő cellába. Ha leveszem a Sortöréssel több sorba opciót, akkor átfolyik a másik sorba, de a lista elemei egymás mögött jelennek meg. Magyarul kellene egy jó széles oszlop, ahová kompletten beférnek a lista elemei (amik egyébként fájlnevek), ehhez meg újra kellene csinálnom az összes munkalapot. 
-
nordican
tag
válasz
Fferi50
#33964
üzenetére
Fiúk-lányok, tök rendesek vagytok, hogy ennyi időt beleöltök más problémájába, de nekem ez még mindig túl elvont. Még azt kérhetném, hogy egy konkrét példára fordítsátok le ezeket a kódokat?
Szóval tegyük fel, hogy a Munka1 lapom a főlap, itt az A1 és az A3 cellában készül két különböző (többtételes) lista, és a Munka2 lapon a B2 és B4 cellában kellene megjelennie automatikusan az A1 és A3 listának, és egyúttal automatikusan át is kellene méreteződnie a Munka2 lap 2 és 4-es sormagasságának. Én pedig megfogom a kódot és egy az egyben beszúrom a Worksheet/Change lapra, és beszámolok az eredményről. Ha működik, akkor már csak a cellák meg a lapok nevét kell lecserélnem, ami elvileg még nekem is menni fog. -
poffsoft
veterán
válasz
Fferi50
#33964
üzenetére
Én értem.
Nem biztos, hogy nordican is értette az uniont.Szóval, ha csak azokat a
cellákat figyeled, amik az A oszlopban (A:A) vannak, és a B1:E100 tartományban, meg a 23. sort:If Not Intersect(Target, Union(Range("A:A"), Range("B1:E100"), Range("23:23"))) Is Nothing Then -
-
kezdosql
tag
válasz
Fferi50
#33923
üzenetére
Igen, ilyenekkel en is szivtam idonkent csv fajloknal.
Hulye excel ilyenkor az egesz sornyi adatot egyetlen cellaba olvasta be.
A megoldas az volt, hogy txt-re at kellett nevezni, akkor mar elindult a konverzios varazslo, amelyik tudta, hogy vesszo es pontosvesszo is lehet hatarolo.
Kar, hogy kulon nem lehet elinditani a konverzios varazslot.
-
-
Dronte
aktív tag
válasz
Fferi50
#33911
üzenetére
Köszi, énis erre jutottam eddig, viszont módszertanilag nem tudom egészen hogy érdemes nézni. Tehát mire húzzam a függvényt - éves százalékos változásokra, vagy nominális értékekre.. esetleg kezdő és végső időpontra? Hogy mutat reális képet? Igazából ez lehet részletkérdésnek hangzik, de elég nagy elemzésről van szó
-
válasz
Fferi50
#33902
üzenetére
Ugyan nem tudom milyen csúnya szavakat használsz, de a leírtakkal mintha megoldódott volna a probléma. Létrehoztam a segédmezőt a leírtak szerint és így mintha lenne eredménye
Nagyon szépen köszönöm a segítséget!
Amit ajánlottam, fenntartom - bármikor van szegedi út, szívesen meghajigállak sütivel
-
-
kezdosql
tag
-
Delila_1
veterán
válasz
Fferi50
#33838
üzenetére
Felvittem az elsőt.
Aki tudja, folytassa! -
egil2
csendes tag
válasz
Fferi50
#33834
üzenetére
Köszönöm, ez nem ad megoldást vagy nem látom hogy lehetne ezzel megoldani.
Ha pl. 52 üzletkötő 1100 szerződése van a táblában, nekem 52 új excel tábla kéne, bennük az egyes üzletkötők szerződéseivel tehát az 52 új táblában összesen 1100 sorral. Tehát hogy ne kelljen 52 (máskor még több) szűrést megcsinálni és az egyes szűrések eredményét új excelbe copyzni. -
Delila_1
veterán
válasz
Fferi50
#33826
üzenetére
Munkalapra is el lehet helyezni, nem szükséges a userform. A hátránya, hogy ha sok sorba akarunk ezzel a módszerrel adatot bevinni, egyrészt csúnyán megnöveli a fájl méretét, másrészt soronként kell meghatározni a LinkedCell értékét.
Makróval meg lehetne oldani viszont, hogy mindig az első üres sorba íródjon fel a ListFillRange tulajdonságnál megadott tartományból kiválasztott érték.
Itt a C oszlop első üres sora lesz a célcella.
Private Sub ComboBox1_Change()
Dim sor As Long
sor = Range("C" & Rows.Count).End(xlUp).Row + 1
Range("C" & sor) = ComboBox1
End Sub -
poffsoft
veterán
válasz
Fferi50
#33795
üzenetére
Nekem eszembe sem jutott volna.
Ezt sikerült összehoznom végül:
Public Function STR_SPLIT(ByVal str As String, ByVal sep As String, Optional ByVal n As Integer = 0)
Dim V() As String
Dim num As Integer
V = Split(str, sep)
num = UBound(V)
If num < n Then STR_SPLIT = "#SOK": Exit Function
If n = 0 Then STR_SPLIT = num Else STR_SPLIT = V(n - 1)
End Functiona képlet pedig:
=STR_SPLIT(CELLA("filenév");"\";STR_SPLIT(CELLA("filenév");"\"))ahol:
=STR_SPLIT(CELLA("filenév");"\")
megadja, hány darabból áll a mappanév,=STR_SPLIT(CELLA("filenév");"\";2)
megadja, hogy a 2. mappa nevét.
-
nordican
tag
válasz
Fferi50
#33790
üzenetére
Sziasztok, nagyon köszönöm, ehhez kell egy kis idő, hogy feldolgozzam, de igyekszem.
Ez pedig, remélem, az utolsó kérdésem (nem gondoltam, hogy az Excel függőséget tud okozni).
A munkafüzetem sok munkalapból áll, amelyek egy részét nem mindig használom, így elrejtettem. Ha viszont kellenek, szeretném őket felfedni, és nem egyenként. A neten találtam is egy ilyen makrót, amivel mindet fel lehet fedni egyszerre (talán másnak is hasznos lehet, bocs, ha nagyon banális):Sub Minden_munkalapot_felfed()
Dim sh As Worksheet
For Each sh In Sheets
sh.Visible = True
Next sh
End SubKiválóan működik, de: Hogyan lehetne úgy átírni, hogy csak meghatározott munkalapokat fedjen fel? Két munkalapot mindig rejteni szeretnék, mert képletek vannak rajta.
-
poffsoft
veterán
válasz
Fferi50
#33773
üzenetére
Megnyugodtam. Eddig féltem, megint nekem vannak szövegértési nehézségeim.
Kategorikusan havi adatok összevetéséről beszél a kolléga.
Szerintem még mindig az a gondja, hogy hogyan állapítsa meg az adott hónap napjainak számát (vagyis az átlag, median, módusz, stb.) számításához mekkora range-t kell kijelölnie.
Gondolom, perpillanat csak fix 31 cellás vektorokkal tudja a képleteket beírni...
De nem okoskodom tovább, megvárjuk a válaszát
Új hozzászólás Aktív témák
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I7 6700 / 16GB DDR4 / GTX 1650 Super / 500 SSD
- ÁRGARANCIA! Épített KomPhone i5 10400F 16/32GB/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- Apple iPhone 13 128GB,Használt,Adatkabel,12 hónap garanciával
- Intel Core i5-9500 / i7-8700T / i7-8700 / i7-9700 /i5-10500T processzorok- számla, garancia
- AKCIÓ! LENOVO ThinkPad P15 Gen2 munkaállomás - i7 11800H 64GB DDR4 1TB SSD RTX A2000 4GB W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Valami ilyesmi sejtésem volt... 
(adatok frissítése, majd cseréje)


12 cellatartományba begépelem az adatokat, majd a B12 cellába "B"-t írok akkor azt szeretném, ha automatikusan a B11



