- Yettel topik
- Samsung Galaxy Watch7 - kötelező kör
- Xiaomi 13 - felnőni nehéz
- Google Pixel topik
- Apple Watch
- Huawei P30 Pro - teletalálat
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Fotók, videók mobillal
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
-
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
-
válasz
Delila_1 #6061 üzenetére
Hali!
"Nem egyformán értelmezzük a feladatot."
Hát ez így ebben a formában egy szer igaz.Nekem meg ez az amiért másképp értelmeztem(és gyanítom, hogy ulrik19 is)
"Azt hogyan tudom megcsinálni, hogy ne csak egy értéket tudjak kiválasztani hanem akár több értéket egyszerre."Ezt csak vezérlőelemekkel lehet megoldani, ha meg még a több kijelölt adattal dolgozni is kell, akkor még plusz makró.
Majd remélhetőleg Bicé is még benéz Húsvét előtt, aztán megmondja a frankót.
Fire.
-
ulrik19
tag
válasz
Delila_1 #6014 üzenetére
igen, én is finomítottam még egy kicsit a kódon
(érdemes használni a Set-et)
Sub masolas_adat()
Dim alapfile As Workbook, adatok As Workbook
Set alapfile = ThisWorkbook
Set adatok = Workbooks.Open("C:\Production_Daily.xls")
alapfile.Sheets("Data").Range("A47") = adatok.BuiltinDocumentProperties("Creation date").Value
adatok.Sheets(1).Columns("A:G").Copy
alapfile.Sheets("IDE_MASOLD").Range("A1").PasteSpecial Paste:=xlValues
adatok.Close
End Sub -
válasz
Delila_1 #6005 üzenetére
ez lett, és működik...
köszönöm nektek MESTEREK!!!
Sub masolas_adat()
Dim excel_filename, filename2, kelt As String
excel_filename = ThisWorkbook.Name
Workbooks.Open FileName:="C:\Production_Daily.xls"
kelt = Workbooks("Production_Daily").BuiltinDocumentProperties("Creation date").Value
Workbooks(excel_filename).Sheets("Data").Range("A47") = kelt
filename2 = ActiveWorkbook.Name
Columns("A:G").Select
Selection.Copy
Windows(excel_filename).Activate
Sheets("IDE_MASOLD").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Windows(filename2).Activate
ActiveWindow.Close
End Sub -
válasz
Delila_1 #6003 üzenetére
ezt nyilván csak akkor tudom ha nyitva van a files ugye?
tehát pl így?Workbooks.Open FileName:="C:\Production_Daily.xls"
kelt=Workbooks("Generált").BuiltinDocumentProperties("Creation date").Value
Workbooks("Állandó.xls").Sheets("Munka1").Range("A11") = kelt
filename2 = ActiveWorkbook.Name
Columns("A:G").Select
Selection.Copy -
válasz
Delila_1 #5999 üzenetére
igen.
a megnyitás egy részét is nektem kszönhetem:
Sub masolas_adat()
Dim excel_filename, filename2 As String
excel_filename = ThisWorkbook.Name
Workbooks.Open FileName:="C:\Production_Daily.xls"
filename2 = ActiveWorkbook.Name
Columns("A:G").Select
Selection.Copy
Windows(excel_filename).Activate
Sheets("IDE_MASOLD").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Windows(filename2).Activate
ActiveWindow.Close
End SubHova tegyem itt azt a sort? Production_Daily.xls - nek kellene az create time-ja
-
ulrik19
tag
válasz
Delila_1 #5996 üzenetére
Az activeworkbook azért nem biztos, hogy jó, mert a makró nem abban a file-ban fut, aminek a dátuma kell, és nem biztos, hogy a dátum lekérdezésekor éppen az az aktív. Persze lehet úgy alakítani a kódot, de akkor már egyszerűbb egy direkthivatkozás: workbooks("filenév.xls")
-
ulrik19
tag
válasz
Delila_1 #5994 üzenetére
Hú, nem tudom, jól értem-e amire gondoltál. De szerintem az alap excel file-hoz nem tud "hozzányúlni", mert egy totál független programból jönnek szerintem az adatok (adat exportálás excel formátumban menüpontszerűségből), vagyis nemhogy makrót, de még csak képletet, értéket (totál semmit) nem tud beszúrni.
Az sem kizárt, hogy igazából egy html formátum jön ki xls kiterjesztéssel
(egyébként a Date() és Now() mindig az adatkiolvasás időpontját és/vagy napját mutatná, nem a file létrejöttét. vagyis azt hiszem)
-
ulrik19
tag
válasz
Delila_1 #5988 üzenetére
húha, egyre inkább nem értem
ha mindig az abszolút eredeti file-ból futtatja ezt a kódot, akkor mindig ugyanazon a file-néven fogja elmenteni (mert ugye a létrehozási dátum nem változik)
ha mindig az újonnan létrejött file-ból futtatja, akkor meg egyre hosszabb filenév lesz, mert mindig hozzáfűzi a dátumot.
-
ulrik19
tag
válasz
Delila_1 #5986 üzenetére
Persze-persze, az világos. Az logika nem világos nekem, hogy mire fog menni az így kialakított filenevekkel. (mármint azért, mert ugye egy adott file neve annak a file-nak a létrehozási dátuma lesz, amiből létrehozták. Mert ha mindig az aktuális dátum idő lenne benne, azt még érteném
)
-
ulrik19
tag
válasz
Delila_1 #5971 üzenetére
Még egy kis szőrözés
(bocsi érte)
1) elegendő lenne így is:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
If CheckBox1.Value Then
masolas_adat
End If
reogitesreceiving
reogitesvisual
reogitesquicktest
reogitesfct
Application.ScreenUpdating = True
End Sub2) de ha mégis szükséges az application.run, akkor nem muszáj zárójelet használni az argumentumnál, mert nincs visszatérési érték. (de ez már tényleg csak szőrszálhasogatás
)
-
válasz
Delila_1 #5966 üzenetére
van nyomógombom
Tát ha így jó lenne:
Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then
Application.ScreenUpdating = False
Application.Run ("masolas_adat")
Application.Run ("reogitesreceiving")
Application.Run ("reogitesvisual")
Application.Run ("reogitesquicktest")
Application.Run ("reogitesfct")
Else
Application.ScreenUpdating = False
' Application.Run ("masolas_adat") <--- vagy kitörlöm ezt a sor, mind1, csak így látványosabb
Application.Run ("reogitesreceiving")
Application.Run ("reogitesvisual")
Application.Run ("reogitesquicktest")
Application.Run ("reogitesfct")
End If
End Sub -
kételkedem
addikt
válasz
Delila_1 #5932 üzenetére
Szia!
Adott 5 üzlet. Az öt üzlet forgalmi adatait rendre a bolt1, bolt2...bolt5 fájlok tartalmazzák kb 6 évre visszamenőleg. Az egyes munkafuzetekben külön munkafüzet lapon vannak a hónapok. A táblázat sorait a hónap napjai adják, az oszlopokban a beszerzés, eladás, göngyöleg, selejt, forgalom stb vannak. Az oszlopok alján összeadva az egész hónap.
Kellett csinálnom egy éves összesítőt az elmult 3 évről évenkénti bontásban. A táblázatban a sorokat a boltok nevei adják, az oszlopokban pl az éves összes selejt van.
Manuálisan meg tudtam oldani, hogy adja össze az adott bolt havonkénti selejtjét, de ez nem igazán járható út, hiszen 3 év az 36 hónap, 5 bolt 10 forgalmi adatánál rengeteget kell kattintgatni.Makróval, vagy függvénnyel kellene megcsinálni, de sajnos pl makrót sosem írtam még és a függvényeknek is csak tördékét ismerem.
Remélem érthető amit összezagyváltam.
-
válasz
Delila_1 #5910 üzenetére
Hali!
Nem használok 2003-at, a 2007 megjelenése pillanatától...
Csak érdekelt volna, hogy van-e ilyen lehetőség a 2007-ben, mert még nem találkoztam vele.(igaz, nem is kerestem)2003-al dolgoztam persze, de teljesen elfelejtettem a menürendszerét, a 2007 új felépítéséből adódóan. Sajnos nem lehet párhuzamot vonni a kettő közt, pl testreszabás menü...
Fire.
-
-
válasz
Delila_1 #5902 üzenetére
Hali!
Sajnos ez nem megoldható, kicsit elgondolkodtam és rá is eszméltem.
Hiába készítenél egy saját ikokollekciós feltételes formázást, nem lenne hordozható a munkafüzet, azaz egy másik gépen/excelen nem jelennének meg a saját ikonok, hisz az excel tábla ezt nem menti(magát az ikonok képadatait) csak az indexüket. Szóval ez nem nyert. Olvastam a 2010-esről de nem utal rás semmi, hogy változna a helyzet...Fire.
-
válasz
Delila_1 #5898 üzenetére
Hali!
Először nekem sem volt szimpatikus a Office 2007 csomag, mivel a jól megszokott menürendszert lecsérélték, de aztán jobban megismerve, nagyon is logikus az, csak szokni kell.
Az adatsávokkal nagyon egyszerű dolgozni, lehet variálni tetszés szerint a színeket: [link]
Az ikonok az más tészta, eddig még nem fordult meg a fejemben, hogy saját ikonok legyenek a "gyári"-ak helyett/mellett, de megint egy remek ötletet/fejtörőt adtál, utánanézek, aztán ha jutok valamire, akkor írok...Fire.
UI: Hát ez nem tartott sokáig, elméletileg nem lehet saját ikont használni, de addig is egy kis olvasni való, főleg a VB kód lehet érdekes számodra, ott egy kis betekintést nyújtanak a használatukhoz. persze nem adom fel, mert ha megtalálom, hogy melyik fájlban tárolják az ikonokat, akkor azt ki is tudom bányászni ill. módosítani és esetleg új ikonokat hozzáadni anélkül, hogy az excel reklamálna. Jó ötletet adtál...
-
válasz
Delila_1 #5895 üzenetére
Hali!
Nézd, ha valóban sok munkafüzetről van szó, akkor egyértelmű adatkapcsolato(ka)t létrehozni, mert valóban az az ésszerű megoldás. Viszont ha személy szerint nekem lenne az a feladatom, hogy 2db munkafüzetet kell kezelni biztosan nem foglalkoznék a kapcsolatokkal. Ez ilyen "szakmai ártalom" vagy hasonló.
Mivel (többek közt) adatbázis-kezelőket írok, adatbázist tervezek/építek ezért nem használom ezt a fajta külső munkafüzetes megoldást, mert egy összetettebb adatbázis esetén(25-30 tábla) egyszerűen követhetetlen lenne. Az excel-t "csak" mint megjelenítő eszközt használom, ami a pl hálón megosztott adatbázist jeleníti meg. Az adatbázis-kezelő szoftver végez el minden olyan műveletet, amely által létrehozott eredménytáblák adatait átvéve az excel a user felé "érthetővé" áttekinthetővé stb stb teszi...Szóval sokszor a fentiekből adódóan másképp közelítek egy adott "problémához", és egész másképp oldok meg dolgokat, mint ahogy azt a "szakkönyvekben" le vagyon írva...
Van amikor jó, de van amikor rossz, mert néha túl bonyolultan közelítem meg a dolgot, holott van rá roppant egyszerű(a "szakkönyvben" is szereplő) megoldás.De ez már így marad. nem aggódom, mert itt vagy Te(és még páran) akik remekül le tudják adott esetben egyszerűsíteni a "képleteimet"...
Fire.
UI: Azt az excel képet úgy gugliztam, az épp nem saját volt...
(csak olyat tudtam volna belinkelni, amiben személyes adatok vannak, az meg azért nem tűnt jó ötletnek) -
-
válasz
Delila_1 #5891 üzenetére
Hali!
Persze, az csatolás, hisz fizikailag nem a "forrás" munkafüzetben vannak az adatok, hanem egy másik/külső/hálózati stb stb állományban. De ehhez nincs szükség adatkapcsolatra, mert nem erre találták ki elsődlegesen, hogy excel munkafüzeteket "kapcsolgass"(persze lehet, csak ebben az esetben nincs értelme, mert szükségtelen), hanem arra, hogy a legkülönbözőbb formátumú állományokkal/adatbázisokkal tudjon együttműködni az excel.
Fire.
-
-
Pá
addikt
válasz
Delila_1 #5823 üzenetére
Köszönöm ez így tökéletes lenne, csak sajnos még egy kicsit bonyolultabb.
Nem voltam pontos, amikor megfogalmaztam.Szóval a költséghelyek nem fixek. Van legalább 10db és minden egyes esetben abból kéne kiválasztani 2-3-at. Tehát úgy kéne megoldani, hogy a beviteli cella könnyen paraméterezhető legyen, hogy épp melyik 2-3 költséghely között ossza el az adott összeget.
Szerk: ha túl bonyolult azt is beletenni, hogy néha 2 néha 3 felé kell osztani az összeget, akkor legyen úgy, hogy mindig csak 2 felé.
-
ulrik19
tag
válasz
Delila_1 #5792 üzenetére
Én nem eseményhez kötném a lefutást, hanem így oldanám meg:
Public Function SubTotal(xRow As Integer, xCol As Integer)
Dim lap As Byte, Sum As Double
Sum = 0
For lap = 2 To Worksheets.Count
Sum = Sum + Sheets(lap).Cells(xRow, xCol)
Next
SubTotal = Sum
End FunctionAztán az Összesítő sheet 3 megfelelő cellájába mehet ez a képlet (magyar excelnél a , helyett ; kell természetesen
):
=SubTotal(154, 12)
=SubTotal(155, 12)
=SubTotal(156, 12)Vagyis ez egy összeadó függvény, ami a megadott sor- és oszlopszámú cellákat összeadja valamennyi munkalapon (kivéve az összesítőt). Jelen esetben L154-es, L155-ös és L156-os cellák összegét.
-
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.
-
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.
-
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.
-
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.
-
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
-
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. -
-
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...
-
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 -
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 -
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. -
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ő? -
-
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?/
-
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 -
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. -
-
-
Delila_1
veterán
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. -
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 -
Jumbo
tag
Új hozzászólás Aktív témák
Hirdetés
- Microsoft Surface Book 3 - 15 col
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- Samsung Galaxy A40 64GB, Kártyafüggetlen, 1 Év Garanciával
- LG 27GR95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- Samsung Galaxy S25 Plus Navy 12/256 GB Újszerű, karcmentes állapotban!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest