Hirdetés
- Luck Dragon: Asszociációs játék. :)
- eBay-es kütyük kis pénzért
- sziku69: Szólánc.
- potyautas: A Magyar Néphadsereg emlékére
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- btz: Internet fejlesztés országosan!
- Brogyi: CTEK akkumulátor töltő és másolatai
- bambano: Bambanő háza tája
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Márkaváltás sok-sok év után
-
LOGOUT
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
-
föccer
nagyúr
válasz
Polllen
#39720
üzenetére
Ismétlődések eltávolítása. Alapvetően nem járható ez az út, pedig sok problémától megszabadítana. Sok ezer soros adatbázist kell átfésűlni, kb 20-25 oszloppal. Alapvetően be van képletezve/makrózva a tábla és ha kiválasztok egy adott szűrési rendszert, akkor a képletek számolják a szükséges adatokat (összesít függvény), ami alapján elvégzem a kiértékeléseket (< >=), majd makróval átdobom az egészet a megfelelő helyre. Így viszonylag gyors, de még jobb lenne ha lenne ilyen funkció, így nem kellene az adatokhoz hozzá piszkálni, csak 1 segéd oszloppal lehetne machinálni.
üdv, föccer
-
Fferi50
Topikgazda
válasz
Polllen
#34094
üzenetére
Szia!
Talán azt sem szereti, hogy Sheet nevű változót használsz, mivel az foglalt név! (Elvileg lehet használni, de akkor teljes névvel kell rá hivatkozni, nem elég a Sheet szerintem). Én mindenesetre messzire elkerülném a használatát.
Esetleg aktíválni kell a frissítéshez a munkalapot
Üdv.
-
Delila_1
veterán
válasz
Polllen
#33414
üzenetére
A teljes oszlopot szövegessé kell tenned egy üres oszlopban.
=A2 & "" (dupla idézőjel, üres string).
Végig másolod, majd a teljes oszlopot irányítottan, értékként beilleszted az eredeti helyére. Most már szövegként kezeli a csakis számjegyeket tartalmazó cikkszámokat is, rendbe jön a keresés. -
Fferi50
Topikgazda
-
Fferi50
Topikgazda
válasz
Polllen
#33386
üzenetére
Szia!
Mivel az E betű a számok tudományos ábrázolásának része, ezért sajnos ez a két "karaktersorozat" ugyanazt a számértéket jelenti.
Ezért praktikusan azt tudom javasolni, hogy az E karaktert hagyjátok ki a cikkszámokból
Célravezető lehet még az is, ha a betű a cikkszám elején van, ebben az esetben szintén nincs "keveredés".Üdv.
-
#36268800
törölt tag
válasz
Polllen
#31464
üzenetére
Ezt tudom, de nem jó úgy. Az időpontokat teljesen rosszul jeleníti meg, a videóban is ezzel küszködik a faszi és végül ilyen közelítő meg elég macerás módon oldja meg, de tutira van egyszerűbb és jobb megoldás is, amit egy középiskolástól el lehet várni érettségin. Ha esetleg megtennéd és vetnél rá egy pillantást, nagyon sokat segítenél vele! (és ez mindenkinek szól)
-
Polllen
félisten
-
föccer
nagyúr
válasz
Polllen
#30850
üzenetére
Bár nem teljesen értem, hogy mi a feladat, de a =KEREKÍTÉS() függvény erre jó. Meg lehet adni benne, hogy 50-re kerekítsen. Ehhez tartozik még a =PLAFON() illetve a =PADLÓ() függvény is (vag lehet, hogy kerekít.le és kerekít.fel néven van, erre most nem emlékszem.
(#30849) Gyufaaa: Mondtam, hogy formázni kell a megjelent értéket.

üdv, föccer
-
bsh
addikt
válasz
Polllen
#29677
üzenetére
az első sorban a Cells()-ek kontextusa nincs kvalifikálva. helyesen:
Worksheets("Layout").Range(Worksheets("Layout").Cells(1, 1), Worksheets("Layout").Cells(1, wk)).Copy Destination:=Worksheets("Munka2").Range("A1")
hasonlóképpen furcsaságok lehetnek, ha a wk változó sincs az adott kontextusban definiálva.a második verzióban még az eleje is rossz:
Worksheets(ws1).Range(Cells(1, 1), Cells(1, wk)).Copy...
helyesen:
ws1.Range(Cells(1, 1), Cells(1, wk)).Copy... -
Delila_1
veterán
-
Delila_1
veterán
válasz
Polllen
#27642
üzenetére
Az kell bele, mert több azonos szállítólevél is lehet. Ha ezeknek új lapot próbálnék bevinni, egyrészt hibára futna, másrészt minden sort külön lapra tenne.
A lapokat egy új kigyűjtés előtt egy makróval törölheted.
Sub Laptorles()
Dim lap As Integer
Application.DisplayAlerts = False
For lap = Sheets.Count To 2 Step -1
Sheets(lap).Delete
Next
Application.DisplayAlerts = True
End Sub -
Delila_1
veterán
válasz
Polllen
#27637
üzenetére
Nem túl bonyolult.

A makró elején töröltethettem volna az első lapon kívül a többit, hogy "tiszta lappal" kezdjünk, de nem ismerem a füzeted felépítését. Lehet, hogy vannak benne nem törölhető lapok.A makró az első lap sorain megy végig. Mikor a sorban lévő szállítólevél nevével egyező lap van a füzetben, az első üres sorába bemásolja az aktuális sort. Ha nincs olyan lap, akkor a füzet végén létrehozza, átmásolja a címsort az első lapról, majd alá az aktuális sort.
Sub Szall_Lev()
Dim sor As Long, usor As Long, usorIde As Long, nev
Dim WS As Worksheet, WSIde As Worksheet
Application.ScreenUpdating = False
Set WS = Sheets(1)
WS.Select
usor = Range("A" & Rows.Count).End(xlUp).Row
For sor = 2 To usor
On Error Resume Next
Set nev = Sheets(Cells(sor, "A") & "")
If Err.Number <> 0 Then
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = WS.Cells(sor, "A")
WS.Rows(1).Copy ActiveSheet.Range("A1")
WS.Select
End If
On Error GoTo 0
Set WSIde = Sheets(WS.Cells(sor, "A") & "")
usorIde = WSIde.Range("A" & Rows.Count).End(xlUp).Row + 1
Rows(sor).Copy WSIde.Range("A" & usorIde)
Next
Sheets(1).Activate
Application.ScreenUpdating = True
MsgBox "Kész", vbInformation
End Sub -
Fferi50
Topikgazda
válasz
Polllen
#25132
üzenetére
Szia!
Akkor lenne igazad, ha csak egy munkalapot tartalmazhatna, de ez nem így van. (Az activesheet az egy darab munkalap, az activeworkbook szintén egy darab munkafüzet -- kiválasztott (selected) viszont több is lehet.)
A selectedsheets egy gyűjtemény, magában foglalja az összes kiválasztott munkalapot.
Idézet a help-ből:
"Window.SelectedSheets Property
Returns a Sheets collection that represents all the selected sheets in the specified window. Read-only."
Ha a művelet eredményét nem szeretnénk viszontlátni, akkor nem kell a konkrét munkalapot megnevezni, szép sorban megmutatja az összes kijelöltet.
De ha szükség van a nyomtatás megtörténtének információjára, akkor már konkrét munkalapra kell hivatkozni - hiszen lehet, hogy egyik munkalapot kinyomtatod, másokat pedig nem, akkor most mi legyen a logikai változó eredménye??Üdv.
-
KaliJoe
tag
válasz
Polllen
#25127
üzenetére
Szia Pollen,
Ez biztos nem megoldás. Mivel a .PrintPreview súgójában benne van az a Variant változó aminek egy munkalapra kell mutatnia, és akkor kérhető ki az Igaz / Hamis érték... a súgó szerint. Egyébként a jelzett "hiányzó változó" hibaüzenettel reagál. De nyilván nem csinálok valamit jól, ha végül nem ez történik.

Ehhez kellene a segítség, h az történjen, mit gondolok :-)
-
KaliJoe
tag
válasz
Polllen
#25117
üzenetére
Szia Pollen és Delila_1,
Azt hiszem az irány jó, de makacsul dobja a hibaüzeneteket, arra hivatkozva, h definiáljak változót. Készítettem Variant típusút, értékét az aktuális munkalapra irányítottam... de az nem érdekli, csak követel...
...
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
...
-
Wyll
őstag
válasz
Polllen
#25099
üzenetére
Pedig ha megnézem a típust (rákattintok egérrel a szóban forgó cellára, és megnézem fent a ribbonon, hogy mit ír a számformátumának), akkor Általános-t ír.

Most vagy az van, hogy ez így van jól, és még kéne még egy utolsó művelet a VBA-ba (pl. hasamraütök: Run), vagy ez valami kis bug, de akkor is VBA-ból kell megoldanom

-
Fferi50
Topikgazda
válasz
Polllen
#25069
üzenetére
Szia!
Írd így:
"=VLOOKUP(RC[-9],'[" & valtozo & "]Shortage'!C1:C10,10,0)"A valtozo szöveges változó (string) tartalmazza a fájl nevét - ha teljes elérési útvonalat is kell megadni, akkor viszont:
"=VLOOKUP(RC[-9],'" & utvonal & "[" & valtozo & "]Shortage'!C1:C10,10,0)"Az utvonal tartalmazza az elérési utat, a végén backslash van.
Üdv.
-
m.zmrzlina
senior tag
-
Új hozzászólás Aktív témák
- Tőzsde és gazdaság
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Konteó topic
- Huawei P10 - pisztácia nem is volt
- Formula-1
- BestBuy topik
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Ismét az Apple veheti át a piacvezető pozíciót
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Hálózatokról alaposan
- További aktív témák...
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


) kell venned B1 helyett.







Fferi50
