-
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
-
polar
tag
válasz Delila_1 #5613 üzenetére
Mellékelnék némi képanyagot, mert nem teljesen érthető szerintem amit leírtam
1.jpg: Ezen van az X legjobb érték summája
2.jpg: ezen az összes érték (nem egy summa oszlopból származik, hanem az összes, értéket tartalmazó oszlop külön van felvéve, hogy külön látszódjanak)
3.jpg: Itt látható az 1.jpg-n látható diagram adatforrása. Mivel itt csak egy értéket raktam be(vagyis csak a summa oszlopot), ezért nem tudok módosítani az adatsoron.Egyébként a 2.jpg-n látható diagramon megy az adatsor módosítása, de itt is csak az értékek sorrendjét változtatja egy oszlopon belül. Nekem pedig az kellene, hogy az oszlopok sorrendje legyen csökkenő.
[ Szerkesztve ]
Bárcsak három madár lehetnék és felülről láthatnám, ahogy magam alatt repülök...
-
polar
tag
válasz Delila_1 #5615 üzenetére
Igen, ez a megoldás nekem is megvan, csak azt akartam elérni, hogy mind a 2 diagram megfelelő sorrendbe legyen, az adatok sorrendjének módosítása nélkül. De akkor ezt Te szerinted sem lehet megcsinálni
Azért köszi szépen a segítséget!
Bárcsak három madár lehetnék és felülről láthatnám, ahogy magam alatt repülök...
-
Jumbo
tag
-
-
ALbeeeee
csendes tag
válasz Delila_1 #5566 üzenetére
Szia Delila_1,
az általad leírtaknak megfelelően meg tudtam oldani maradéktalanul a problémát. A kommentek megjeleítését az adott cellára való kattintáshoz kötöttem az elrejtését pedig egy "X" alakzathoz (az összes elrejtését). Jól működik, kis helyet foglal és nem zavaró.
Nagyon hálás vagyok a tanácsokért! Köszönöm!
Üdv,
ALbeeeee:)
-
Delila_1
Topikgazda
válasz Delila_1 #5684 üzenetére
Az 5684-es hozzászólásba is belerondított a szerkesztés megváltoztatása.
Helyesen (a kettőspontok utáni szóközök nélkül), hátha így már nem íródik át:R1-be (ha szabad ez az oszlop): =HA(ÉS(D1="y";M1="o";Q1="x");1;0)
R2-be: =HA(ÉS(D2="y";M2="o";Q2="x");MAX(R$1: R1)+1;0)
Ez utóbbit másold végig az oszlopban.
Utoljára valahova: =MAX(R: R)
Ezt akár meg is írhatod makróba.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
félisten
válasz Delila_1 #5685 üzenetére
Hali!
Nem lenne ezzel az új Programkóddal semmi baj, csak meg kellett volna hagyni a betűszínt szürkének, mert így beleolvad a HSZ-ba, hiába más a betűkészlet de így is "kissé" zavaró(legalább is szerintem).
Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz Delila_1 #5689 üzenetére
Hali!
Nem értelek, sorry. Nálam
1. Lehet scrollozni vízszintesen
2. Nincsenek smiley-k a Programkód részben...
3. "Eddig a letiltásuk elmulasztása esetén a smiley fölé állva látszott a kódja."
Na ez meg a pár év alatt fel sem tűnt Nekem...Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz Delila_1 #5691 üzenetére
Hali!
1. De igen, van scroll: [link]
2. Igen, ezt eddig is tudtam, ezért nem kell simán beírni képleteket...
3. Megnéztem, na ez is szép, hogy most tudok meg ilyen életbevágó információkat...Fire.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
veterán
válasz Delila_1 #5685 üzenetére
Szia!
Köszönöm, állatsák, működik, és még azt is értem, hogy miért Tényleg köszi
már csak két kérdésem lenne... vagyis már csak egy, mert megoldottam közbe az egyiket mire leírtam
hogy tudom nem message box-ba írni az infót, hanem egy megadott cellába?
szerk:
ja, a 25-ször dolgot úgy értettem, hogy a három érték közül valamelyik mindig változik.
és így nem 25 hanem 114 variációm van.[ Szerkesztve ]
-
veterán
válasz Delila_1 #5699 üzenetére
Szia!
az Application.ScreenUpdating ismerem köszi
hát itt tartok, hátha így érthetőbb.Sub visual()
Sheets("IDE_MASOLD").Select
filteregy = Range("Data!C23").Text
Dim sor, x
Dim sor1, y
x = 0
y = 0
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(sor, 4) = filteregy And Cells(sor, 13) = " 1-10" And _
Cells(sor, 17) = "Visual Inspection - OOW" Then x = x + 1
Next
For sor1 = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(sor1, 4) = filteregy And Cells(sor1, 13) = "21-30" And _
Cells(sor1, 17) = "Visual Inspection - OOW" Then y = y + 1
Next
Sheets("Data").Select
Cells(25, 2) = x
Cells(26, 2) = y
End SubSzóval a filteregy egy olyan érték, ami két féle lehet (most, majd a végén 5 lesz ) és egy cellából olvasom ki
a (sor,4) 5 + 1 különöböző állapotot vehet fel, és a (sor, 17) pedig 19 féle lehet
így jön ki a 114[ Szerkesztve ]
-
veterán
válasz Delila_1 #5705 üzenetére
itt a kép. szóval azt szeretném, hogy ez egy db oszlopba legyen nekem rendezve, a zárójelben található első adat szerint. vagyis így nézzen ki:
[0,2]
[1,1]
[2,13]
[3,11656]
[4,x]
[5, x]
stb..
azt meg már meg tudom csinálni, hogy ezt szétszedje majd két oszlopra.
remélem így világos/amúgy bámulatos, hogy milyen excel tudással rendelkezel hol lehet ilyesmire szert tenni?/
"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"
-
veterán
válasz Delila_1 #5708 üzenetére
azért írtam a 4 üres sort, mert ugye, ha favágó munkával minden sor után beillesztek 4 üres sort. akkor a B, C, D, E oszlopok értékeit, szépen be tudom "húzgálni" egérrel az üres sorokba, és így folytonos oszlopot kapok.
ez a saját szabadalmaztatott módszerem
"a jövötsajnos nemlehet tudni csakhamárotvagy deakormegmár azajelen"
-
veterán
válasz Delila_1 #5709 üzenetére
nincs filter kettő.
részben arra gondoltam amit a (#5704) hsz-ben csináltál, csak azzal megspékelve, hogy a sor,17 értékét is szeretném 19 féle képpen módosítani.
tehát végigszámolni a már megadott módon, és utánna a sor, 17 értéke változikszerk:
vagy egyszerűbb lenne ha pl a data sheet AA1:AA19-ig lennének ezek az értékek, és így lehetne filter kettő?[ Szerkesztve ]
-
veterán
válasz Delila_1 #5715 üzenetére
Szia!
alakul
szóval al ényeg, hogy az első (sor, 3) az a data!23-ból olvasom ki.
a második (sor, 13) az "adat"
a harmadik pedig 19 féle állapot.
én így akartam megoldani, de így nem jóSub visual()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, ossz, fil
q = 0: w = 0: x = 0: y = 0: z = 0: ossz = 0
For fil = 1 To 19
filteregy = Range("Data!C23").Text
filterketto = Range("Data!AA & fill").Text
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = filterketto Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
ossz = q + w + x + y + z
Next
Sheets("Data").Cells(2, 2 + fil) = ossz
Sheets("Data").Cells(5, 2 + fil) = q
Sheets("Data").Cells(8, 2 + fil) = w
Sheets("Data").Cells(11, 2 + fil) = x
Sheets("Data").Cells(14, 2 + fil) = y
Sheets("Data").Cells(17, 2 + fil) = z
End SubÉrted így, hogy mit szeretnék?
tehát hogy az első érték az fix, vagyis az eleén eldől, hogy a vagy b.
a másik két értéken viszont minden lehetőségen végig kellene menni. -
veterán
válasz Delila_1 #5723 üzenetére
ja, bocs, elgépeltem
megcsináltam ahogy mondod, de nem jóSub visual()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, ossz, fil
q = 0: w = 0: x = 0: y = 0: z = 0: ossz = 0
filteregy = Range("Data!C23").Text
For fil = 1 To 19
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
filterketto = Range("Data!AA & fil").Text
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = filterketto Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
ossz = q + w + x + y + z
Next
Sheets("Data").Cells(2, 2 + fil) = ossz
Sheets("Data").Cells(5, 2 + fil) = q
Sheets("Data").Cells(8, 2 + fil) = w
Sheets("Data").Cells(11, 2 + fil) = x
Sheets("Data").Cells(14, 2 + fil) = y
Sheets("Data").Cells(17, 2 + fil) = z
End Suba hiba az hogy "For without Next"
hát ha jól értem akkor minden for ciklushoz kellene tartozni egy next-nek.
csak nem tudom hova kéne írni -
veterán
válasz Delila_1 #5727 üzenetére
őő akarom mondai hülye vagyok
szóval feladom.
megírom akkor 19 szer így...Sub receiving()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, ossz, fil
q = 0: w = 0: x = 0: y = 0: z = 0: ossz = 0
filteregy = Range("Data!C23").Text
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = "Warehouse Receiving - OOW" Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
ossz = q + w + x + y + z
Next
Sheets("Data").Cells(2, 1) = ossz
Sheets("Data").Cells(5, 1) = q
Sheets("Data").Cells(8, 1) = w
Sheets("Data").Cells(11, 1) = x
Sheets("Data").Cells(14, 1) = y
Sheets("Data").Cells(17, 1) = z
End Sub
Sub visual()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, ossz, fil
q = 0: w = 0: x = 0: y = 0: z = 0: ossz = 0
filteregy = Range("Data!C23").Text
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = "Visual Inspection - OOW" Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
ossz = q + w + x + y + z
Next
Sheets("Data").Cells(2, 2) = ossz
Sheets("Data").Cells(5, 2) = q
Sheets("Data").Cells(8, 2) = w
Sheets("Data").Cells(11, 2) = x
Sheets("Data").Cells(14, 2) = y
Sheets("Data").Cells(17, 2) = z
End Sub
Sub quicktest()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, ossz, fil
q = 0: w = 0: x = 0: y = 0: z = 0: ossz = 0
filteregy = Range("Data!C23").Text
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = "Quick Test - OOW" Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
ossz = q + w + x + y + z
Next
Sheets("Data").Cells(2, 3) = ossz
Sheets("Data").Cells(5, 3) = q
Sheets("Data").Cells(8, 3) = w
Sheets("Data").Cells(11, 3) = x
Sheets("Data").Cells(14, 3) = y
Sheets("Data").Cells(17, 3) = z
End Sub[ Szerkesztve ]
-
félisten
válasz Delila_1 #5729 üzenetére
Hali!
A hiba az Ön készülékében van, mint ahogy van vízszintes görgetősáv is MINDEN programkódnál, úgy NINCS 1 sorban az egész makró. Javasolni tudnám egy másik böngésző használatát, esetleg a meglévő frissítését, végső esetben a format c: alkalmazását.
Fire.
UI: Tényleg nem bosszantani akarlak, de valami nem OK a masináddal...
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
válasz Delila_1 #5732 üzenetére
Hali!
Jaaa, bocsesz.... Azt hittem, hogy úgy látod a makrót a PH-s programkód-ban, hogy nincs görgetősáv sem és ráadásul még az egész csak 1 sor...LOL...
Fire.
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
dtpeter
csendes tag
válasz Delila_1 #5739 üzenetére
Köszönöm szépen, tökéletesen működik
Lenne új kérdésem is, a tab-bal kapcsolatban. Az áttekinthetőség kedvéért tab-bal beljebb írunk egy csomó sort. Arra már rájöttem, hogy ezt több sorra egyszerre is könnyedén meg tudom tenni, úgy, hogy kijelölöm a kérdéses pár sort, és ekkor nyomok tab-ot. Lehet-e hasonló elven több sorra egyszerre kiszedni ezeket a tabokat? Néha kiderül ugyanis, hogy mégsem kell oda újabb ciklus/feltétel/akármi, és eddig csak kézzel tudtam kiszedegetni, soronként, egyesével.Első számú aranyszabály: Ha nincs probléma, csinálunk.
-
dtpeter
csendes tag
válasz Delila_1 #5742 üzenetére
Köszönöm Igen, a kérdés erre vonatkozott volna, csak elfelejtettem pontosítani, hogy a visual basic-ben való ide-oda igazításról lenne szó. Mindenesetre most a backspace billentyűm kicsit fellélegezhet, eddig igénybe volt véve rendesen, mert gyakran rájöttem, hogy valamit máshogy kellene csinálni
Első számú aranyszabály: Ha nincs probléma, csinálunk.
-
félisten
válasz Delila_1 #5764 üzenetére
Hali!
Igen lehet, hogy erősnek tűnik a dolog, de Én ehhez vagyok szokva, sokszor még megismerkedni sem volt időm munkatársakkal, mert pár nap alatt repültek. Hiába dolgozott más programozási területen x éve, ahhoz a melóhoz nem értett, mást meg nem tudtak adni neki....
Hát ha én szabnék Neked egy kosztümöt, azt megnézném, hogy áll rajtad...
(kár, hogy nem vagyok Mekk Elek, mert akkor csak levernék az egyik logóm )Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
gsc73
aktív tag
válasz Delila_1 #5776 üzenetére
Köszönöm!
Ez egy igazán elegáns megoldás, amire én nem is gondoltam volna......
Kicsit próbálkoztam estefelé Cuci3 javaslatával, ami részben működött, de megint egy olyan dologgal találkoztam, amivel azelőtt még nem...vannak még ötleteim......ha kifogyok, kérdezni fogok 'ám.....
Üdv: g.
kedvenc szavaim: palack, flakon, kredenc, fridzsider, ibrik, trafik, szvetter, fregoli, rezsó, sparhelt, vájdling, szifon, gardrób, partvis, spejz, tégely, drót, abrosz, lavór...szocreál.
-
gsc73
aktív tag
válasz Delila_1 #5778 üzenetére
Szia!
Igen, tudom hogy itt egy nagyon segítőkész csapat figyeli a fórumot, élükön Veled.....
Ma reggel kicsit elkedvetlenedtem 2 dolog miatt. Egyrészt mert olyat küldtek, amit eddig még nem.... : most egy XLT file volt a csatolmányban. Ezzel nem volt különösebb baj, mert lefutott a rendezés, de pl a dátumformátum már nem stimmelt. Most ezzel küzdök.
Fire-nak teljesen igaza volt/van abban, hogy olyan makrót írni nagyon nehéz, ami teljesen univerzális, főleg úgy, hogy nem definiált előre hogy mi a bemenet, de a kimenetnek mindig ugyanolyannak kell lennie! (az sem megoldás hogy akkor én meg nem megyek szabadságra, nem leszek beteg..stb.. )
Most az egyik oszlop dátumformátumával nem tudok zöld ágra vergődni.
A cella így néz ki: 2009.11.30. 10:01
vagy így 2009.11.30. 5.47Ilyenné kell alakítani: 10:01
vagy ilyenné 5.47Ez igen egyszerűnek tűnik, de a valóságban nem az. Bizonyos esetekben, amikor az Excel felismeri hogy dátumról van szó, akkor jól működik az a macró sor, hogy
Selection.NumberFormat = "h:mm;@"
DE ha nem ismeri fel, akkor a fenti sorra nem reagál. Mondom oké, akkor "vágjunk" MID -del. az pedig csak akkor működik jól, ha kizárólag szöveg, különben nem lesz egyforma.
Ha átalakítom szöveggé, azzal a célzattal hogy akkor lehetne hasznáéni a MID-et, akkor meg "40147.4166666667" lesz belőle.................kezdek becsavarodni.
Üdv: g.
kedvenc szavaim: palack, flakon, kredenc, fridzsider, ibrik, trafik, szvetter, fregoli, rezsó, sparhelt, vájdling, szifon, gardrób, partvis, spejz, tégely, drót, abrosz, lavór...szocreál.
-
gsc73
aktív tag
válasz Delila_1 #5782 üzenetére
Sziasztok!
Közeledünk a tökéleteshez….
Az elválasztó karakter problémaköréből adódó nehézségeket sikerült megoldanom.
Detektálásért köszönet Delila_1 –nek………… (On Error Goto….)
Szétválasztásért köszönet Cuci3-nak………… (Adatok/Szövegből oszlopok)
Makró rögzítés. Kis alakítás, és működik is, örül, boldog………Egy kicsit más kérdés (ez már csak olyan szépítés):
A mostani personal.xlsb modul szerkezete az alábbiak szerint néz ki:Sub egyes_verzio()
'valami 1
kozos
End Sub
Sub kettes_verzio()
'valami 2
kozos
End Sub
Sub kozos()
'közös dolgok
End SubMivel a közös rész a legnagyobb (90%-a az egésznek), így logikusnak tűnt, hogy szubrutinszerűen meghívogatom, ami sok-sok egyéb előnnyel is jár. Ebben az esetben a futtatható makrók listájában 3 sor jelenik meg: egyes_verzio/kettes_verzio/kozos. Természetesen a kozos rész nem működik helyesen önmagában. El lehet azt rejteni valahogy? (hide)
Üdv: g.
kedvenc szavaim: palack, flakon, kredenc, fridzsider, ibrik, trafik, szvetter, fregoli, rezsó, sparhelt, vájdling, szifon, gardrób, partvis, spejz, tégely, drót, abrosz, lavór...szocreál.
Új hozzászólás Aktív témák
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs