-
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
-
Polllen
nagyúr
Sziasztok!
Egy kis segítség kellene, bár lehet win7 issue...
Nem tudom, mi történ, de eltűntek a pin-l rögzített táblák és a history is az excel-nél... Sem a tálcán, sem a start menün nem jelenik meg és újakat sem tudok rögzíteni...
Más programoknál működik, csak innen tűnt el...
Hogy tudnám visszacsinálni?
A probléma:
[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
válasz antikomcsi #9766 üzenetére
Nem olvastam vissza, de ha pl. az A1 mellé szeretnéd varázsolni a munka4 lap azonos értékéhez tartzó b oszlopban lévő értéket, akkor
Fkeres (vlookup) Ez mindig kikeresi neked a kereset cella tartalmához tartozó értéket egy táblából, adott oszloból. Nálad ez valahogy így nézne ki
=FKERES(A1;munka4!A:B;2;0)
Az A1, amit keresel, az A: B, ahol keresel (nyilván megadhatod neki, hogy csak az első 50 sorban keressen, A1: B50), a 3. érték, hogy melyik oszlopból adja meg az eredeményt (az első oszlop, amiben keres az 1), az utolsó kapcsoló pedig azért felel, hogy csak teljes egyezés esetén adjon adatot.)Így ha változtatod az A1 értékét, mindig más értéket fog megtalálni neked.
[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Üdv,
kellene egy kis segítség, a következő sor miért nem működik?
Worksheets("Sheet3").Range("A1", Range("A1").End(xlDown).End(xlToRight)).Clear
Csak így:
Worksheets("Sheet3").Select
Range("A1", Range("A1").End(xlDown).End(xlToRight)).ClearNem különösebben okoz gondot nekem, de több fülön is mókolok, jobb lenne a váltogatás nélkül megoldani.
Köszi!
[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
-
Polllen
nagyúr
válasz m.zmrzlina #23542 üzenetére
Ha mindig az előző eljárásnál felvett érték kell az újban, akkor public változókat kell használnod. Így adott module-n belül minden sub "látja".
[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
válasz m.zmrzlina #23554 üzenetére
És változni is fognak, hiszen bizonyos sub-n belül dolgozol velük.
Ha mindig ugyanaz a kiinduló érték, nincs jelentősége annak, hogy egy sub-bal vagy munkafüzetben adod meg a kiinduló értéket.
Ha viszont az utolsó folyamat értéke kell, akkor is ha aktuálisan az a folyamat nem futott, tehát nem adott értéket, el kell tárolnod az előzőt és azt beolvasni.
[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Hali,
kellene egy kis segítség vba-ban:
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-9],'[shortage old.xls]Shortage'!C110,10,0)"Ebben egy vagy több változóval kellene helyettesítenem a '[shortage old.xls]Shortage'!C110-t
Csak a file név változik, a shortage old.xls...
Hogyan kellene definiálnom a változót?
Köszi előre is!
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Szerintem az a gond, hogy az excel text-ként kezeli a cellát, nálam is előfordul, főleg SAP-ból letöltött file-knál, general-ra kell állítani és újra bevinni a formulát vagy csak enter, amire újraolvassa a tartalmat. (f2 enter is ezt teszi)
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Ettől még text-ként értelmezi sajnos.
Ha visszaolvasol én pl. ilyeneket használok:
"=VLOOKUP(RC[-9],'" & utvonal & "[" & valtozo & "]Shortage'!C1:C10,10,0)"Tökéletesen működik, ha general a cellaformátum. Lehet érdemes akkor még kipróbálni a HA helyett IF-t, ahogy előttem javasolták.
[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
válasz KaliJoe #25126 üzenetére
Mindig ugyanazt a sheet-t akarod kinyomtatni?
Ez alapján, igen:
...
Dim wsh_Űrlap As Variant
wsh_Űrlap = Worksheets("Űrlap Nyomtatáshoz")
...
If ActiveWindow.SelectedSheets.PrintPreview(wsh_Űrlap) = True Then
Worksheets("Alapértékek").Select
ActiveSheet.Unprotect
Worksheets("Alapértékek").Cells(4, "J").Value = Worksheets("Űrlap Nyomtatáshoz").Cells(2, "M").Value + 1
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
...Próbáld meg ezt:
Dim wsh_Urlap As String
wsh_Urlap = "Űrlap Nyomtatáshoz"
...
If Worksheets(wsh_Urlap).PrintPreview = True Then
Worksheets("Alapértékek").Select
ActiveSheet.Unprotect
Worksheets("Alapértékek").Cells(4, "J").Value = Worksheets("Űrlap Nyomtatáshoz").Cells(2, "M").Value + 1
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End IfBár ha fix, változó sem kell.
[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
válasz KaliJoe #25128 üzenetére
Szia,
az ActiveWindow.SelectedSheets.PrintPreview(wsh_Űrlap) így nem működik változó hibával, ahogy eredetileg is írtad. Mondjuk a SelectedSheets-nek elégnek kellene lennie a változó nélkül.
Viszont amit belinkeltem, az úgy működik, ahogy van, használtam többször is...A worksheets(xy) elég egyértelműen definiálja mire vonatkozik az utána következő PrintPreview...
If Worksheets(wsh_Urlap).PrintPreview = True Then vagy If Worksheets("Sheet1").PrintPreview = True Then[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
válasz petyus_ #25375 üzenetére
Rákattintasz az egyik értékre, ezzel kijelölöd a teljes oszlopot, jobb klikk, format axis (bocsi, csak angolul használom) és rögtön felül az első beállítási lehetőség.
Lehet min-max-t állítani és azt is, hogy milyen lépték legyen a kettő között.
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
válasz Delila_1 #27631 üzenetére
Sziasztok!
Nekem kellene egy hasonló megoldás, csak kicsit bonyolítva.
4 oszlopban vannak adatok, az első a szállítólevélszám.
Minden szállítólevélhez kell egy worksheet a szállítólevélszámmal és oda kellene másolni a hozzátartozó sorokat fejléccel.
Természetesen a szállítólevelek darabszáma változó.
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Sziasztok!
Volna egy kérdésem.Van egy macro, ami így kezdődik:
Application.ScreenUpdating = False
'Open file
Workbooks.Open Filename:= _...Nem végzek ellenőrzést, hogy nyitva van-e vagy sem az a file, mert probléma mentesen újra megnyitja mindenkinél. De 20+ userből van egy, akinél ez runtime error 1004-t dob és csak akkor működik, ha nincs megnyitva.
Mi lehet nála másképpen beállítva?
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
válasz ritterkrisz #28186 üzenetére
Az idézőjelen belülre, ahová kell, gondolom az xx-nél lemaradtat pótolnád:
="x y z -- " & ", xx: " & A1 & ", yy: " & B1 & ", zz: " & C1
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Sziasztok!
Kellene egy kis segítség.
Van egy ~16.000 soros táblázat, amiből ki kellene törölnöm azokat a sorokat, ahol a 4. oszlopban "#N/A" szerepel. A cellák tartalma különböző.
Kipróbáltam ezt, de borzasztóan lassú:
Range("A1").Select
Selection.End(xlDown).Select
lRow = ActiveCell.Row
Do While lRow >= 1
If Cells(lRow, 4).Text = "#N/A" Then Rows(lRow).EntireRow.Delete
lRow = lRow - 1
LoopNem tudtok valami gyorsabb módszert?
B tervnek az jutott eszembe, miközben ezt leírtam, hogy úgy rendezem a táblázatot, hogy az összes "#N/A" sor kerüljön előre, ezután kap egy filter-t és úgy kitörlöm az eredményt.
Mit gondoltok?
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Sziasztok!
Kellene egy kis segítség. Van egy könyvtárstruktúra, amiben az adott hét sorszámával létre kell hozni egy mappát, ha még nincs. Pl. C:\Maki\Week 47
Ez a kódsor mindig azt dobja, hogy a mappa nem létezik és létre akarja hozni.
fpath = "C:\Maki\Week " & Format(Date, "ww")
If Dir(fpath) = "" Then MkDir (fpath)Mit rontok el?
[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Sziasztok!
Ez a sor a változó(k) definiálása után csak akkor nem dob application defined error-t ha a Layout fül ki van választva:
Worksheets("Layout").Range(Cells(1, 1), Cells(1, wk)).Copy Destination:=Worksheets("Summary").Range("A1")Ha helyettesítem egy változóval:
Dim ws1 As Worksheet
Set ws1 = Worksheets("Layout")
Worksheets(ws1).Range(Cells(1, 1), Cells(1, wk)).Copy Destination:=Worksheets("Summary").Range("A1")Akkor pedig Type missmatch...
Mi a helyes megoldás anélkül, hogy beírnám elé, hogy Worksheets("Layout").select?
Még annyi, hogy az eredeti kód változó nélkül szépen lefut:
Worksheets("Layout").Range("A1:T3").Copy Destination:=Worksheets("Summary").Range("A1")[ Szerkesztve ]
"Odamentem egy párhoz...négyen voltak!"
-
-
Polllen
nagyúr
Sziasztok!
Nincs valakinek ötlete, hogyan lehetne a legegyszerűbben megoldani a következő problémát?
Van egy műszak 6:00-14:20 között.
3 szünettel:
7:50-8:00
9:40-10:00
11:50-12:00Tudom egy munkafolyamat kezdését és befejezését. Ki kellene számolni a szünetek nélkül az időtartamot...
Pl.: Kezdés: 7:40, befejezés 10:05, ebből ki kellene venni 10+20 percet.
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
válasz Polllen #31412 üzenetére
Sziasztok!
Végül ez alapján meg tudtam oldani, ha valakinek kellene ilyesmi.
Röviden:
Külön tábla a szüneteknek kezdési és befejezési időponttal és utána tömbképlet használatával a szünetek kiszámolása. Majd a folyamat idejéből az összeadott szüneteket kivonása."Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Sziasztok!
Ismét némi segítség kellene.
Van egy nagy file, amibe bekerül egy filter és a leszűrt tartalom egyik oszlopát át kell másolni egy másik sheet-re.
Worksheets("BOM report").Columns(5).Copy Destination:=Worksheets("Outphasing platform list").Columns(2)
Ez a kód a filter-t is bekapcsolja az új sheet-n. Megoldható, hogy ez ne történjen meg?
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Sziasztok!
Onedrive-n elhelyezett excel-ben van lehetőség arra, hogy bizonyos cellák módosítását korlátozzuk, ha a webböngészőben nyitja meg a file-t valaki? Elméletileg ilyenkor a macro-k nem működnek.
Konkrétan arra lenne szükségem, hogy a megnyitáskori tartalmat ne lehessen módosítani, csak új sorokat hozzáadni.
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Sziasztok!
Ti tudtok olyan megoldásról, ahol az adat napi bontásban szerepel, de egy chart-ban az utolsó hét napi bontásban, az előtte lévő adatok havi bontásban jelennek meg?
"Odamentem egy párhoz...négyen voltak!"
-
Polllen
nagyúr
Sziasztok!
Adott ez a kód, amivel kb 50.000 sorba kerül egy képlet, a probléma az, hogy néha előbb lép tovább a következő műveletre, minthogy befejezte volna a kalkulációt, így random az utolsó x ezer sorhoz nulla érték kerül...
Range("D2:D" & req_end).FormulaR1C1 = _
"=IFERROR(RC[-1]*VLOOKUP(RC[-3],'[MRP value list rev_1.xlsm]MatMaster'!C2:C8,7,0),0)"
Range("D2:D" & req_end).Value = Range("D2:D" & req_end).ValuePróbáltam azzal, hogy beillesztek egy calculate parancsot, de ezt is simán átlépi:
Range("D2:D" & req_end).FormulaR1C1 = _
"=IFERROR(RC[-1]*VLOOKUP(RC[-3],'[MRP value list rev_1.xlsm]MatMaster'!C2:C8,7,0),0)"
Worksheets("Req").Calculate
Range("D2:D" & req_end).Value = Range("D2:D" & req_end).ValueTermészetesen debug-ban lépésenként végrehajtva tökéletesen működik.
Tudok olyan beillesztési módot, ami 100% működik, de gyors is?
Pl. Selection.Autofill?
"Odamentem egy párhoz...négyen voltak!"