- Luck Dragon: Asszociációs játék. :)
- Meggyi001: Egy olcsó vállfás megoldás a pólóimnak...
- VoidXs: Tényleg minden játék optimalizálatlan?
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- erkxt: A Roidmi becsődölt – és senki nem szól egy szót sem?
- gban: Ingyen kellene, de tegnapra
- ricshard444: Fényképező ? Telefon helyett
- Lalikiraly: Astra kalandok @Harmadik rész
- bitpork: MOD Júni 28- Augusztus 2- szombat jelen állás szerint.
-
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
-
Fferi50
Topikgazda
válasz
Thrawnad #25304 üzenetére
Szia!
Lehetőségek:
Használd az AutoFilter objektumot, ezen beállíthatod a feltételeket, akár 3-nál többet is, majd ApplyFillter.A feltételt összefűzheted egy - azaz egy db - szövegbe és úgy már működik, azt kell megadni a Criteria1 értékének
Próbáld meg kézzel beállítani a szűrőt és közben rögzíteni a makrót.
Üdv.
-
Mutt
senior tag
válasz
Thrawnad #24778 üzenetére
Hello,
Igen, csak ugye a Törzskönyv nálam már Xlsx máshol meg még XLS.
Ezért egy ciklussal végig szaladok rajta a pontigÉn erre a SPLIT függvényt szoktam használni, amely egy szöveget egy adott karakter alapján felszabdal, az eredmény egy tömbbe kerül. A kiterjesztes a tömb utolsó elemében lesz megtalálható.
filenev = Split(utvonal, ".")
File_Ki = Replace(utvonal, filenev(UBound(filenev)), "txt")üdv
-
Fferi50
Topikgazda
válasz
Thrawnad #24778 üzenetére
Szia!
Ennél azért szerintem egyszerűbb a left és az instr függvény használata:
File_Ki=left(workbooks(file_ez).fullname,instr(workbooks(file_ez).fullname,".")) & "TXT"
(Persze csak akkor, ha nincs a nevében több pont...)
Esetleg így:
File_Ki=workbooks(file_ez).fullname
File_Ki=left(File_Ki,instr(File_Ki,".")) & "TXT"Üdv.
-
Fferi50
Topikgazda
válasz
Thrawnad #24769 üzenetére
Szia!
Workbooks(1).FullName megadja a teljes nevét, elérési utvonallal együtt.
Workbooks(1).Name megadja a rövid nevet.
Ha csak az elérési útvonalra vagy kíváncsi akkor:utvonal=replace(workbooks(1).fullname,workbooks(1).name,"")
Természetesen a workbooks(1) helyére kerülhet akár activeworkbook, vagy névvel megadott munkafüzet a szám helyett.
Üdv.
-
slashing
senior tag
válasz
Thrawnad #24553 üzenetére
hát ha kimutatást akarsz akkor nem kell szumhatöbb mivel behúzod a szűrőhöz az utk-t az értéknek az órát és leszűröd arra amelyik érdekel.
ha meg mindegyikre kell akkor meg neked kell megcsinálni a kimutatás táblát amit meg szumhatöbb-el fel tudsz tölteni tölteni..
pl. leszűröd egyénire a törzsámokat meg az utk-kat aztán a törsz lesz a függőleges mondjuk A oszlop az utk meg a vízszintes 1 sor és jöhet a szumhatöbb...
lehet meglehet csinálni szebben jobban de így 5 perc alatt ennyire futja most...
-
Fferi50
Topikgazda
válasz
Thrawnad #24391 üzenetére
Szia!
Akkor most nem egészen értem:
"Sőt ha kézzel csinálom akkor is ez van hogy mentek, mentek másként, bezárok.
Így létrejön, és be is veszi az SAP és már hibát sem kapok
Csak a végét kellene automatizálni."Ezt amit kézzel csinálsz megoldja egy pár sor a makróban:
Activeworkbook.Save
Activeworkbook.SaveAs filename:=név, fileformat:=forma
Activeworkbook.Close FalseEzzel bezártad a fájlod.
Ha csak az aktív munkalap A oszlopát akarod kitenni egy fájlba, akkor viszont:
Activesheet.Copy ' ezzel az adott munkalapot egy új munkafüzetbe másolod, ami azonnal aktív is lesz.
Activesheet.Usedrange.Offset(0,1).ClearContents 'az A oszlopon kívüli adatok törlése
Activeworkbook.SaveAs filename:=név, fileformat:=forma 'elmented
Activeworkbook.Close False
Ezek után ismét az eredeti munkafüzeted lesz az aktív munkafüzet. Csinálhatsz benne bármit, amit szeretnél.Üdv.
-
Fferi50
Topikgazda
válasz
Thrawnad #24384 üzenetére
Szia!
Ne haragudj, hogy értetlenkedek és visszakérdezek:
Milyen típusu textfájlt szeretnél kapni. Ez azért fontos, mert annak megfelelő módszereket kell alkalmazni.
Közvetlen fájlkezeléssel bármit ki tudsz íratni fájlba, anélkül, hogy az alapfájlod megváltozna.
Nézz körül az Open - Print -Put - Close utasítások körül (nem a Workbook.Open metódus, hanem a fájl megnyitó Open).
Ha felteszel egy mintát, szívesen segítek. DE: meg kell mondanod, hogyan nézzen ki a text fájl: azonos szélességű rekordok, határolójellel elválasztott értékek - és ha igen, akkor mi legyen a határolójel,oszlop vagy sor alapján kerüljenek ki az adatok a fájlba stb.Üdv.
-
Fferi50
Topikgazda
válasz
Thrawnad #24381 üzenetére
Szia!
Ez sajnos a Mentésmásként (SaveAs) logikája, ha kézzel mented, akkor is ez történik!
Ezért a megoldás szerintem az, hogy először elmented a fájlodat activeworkbook.save, majd utána mented SaveAs metódussal textfájlként.
Eután visszanyithatod az első fájlodat.(Létezik ugyan egy SaveCopyAs metódus is, ami az eredeti fájlt érintetlenül hagyja, de ott nem adhatod meg, hogy milyen típusu legyen a mentett fájl.)
Üdv.
-
Fferi50
Topikgazda
válasz
Thrawnad #24367 üzenetére
Szia!
Nem egészen értem, hogy mit "borzol össze" nálad amit leírtál.
Viszont azt gondolom, a Fileformat:=xlText megadása nagy valószínűséggel nem jó. A help szerint vagy
xlTextMac
xlTextMSDOS
xlTextPrinter
xlTextWindows
xlUnicodeTextlehet az értéke, sima xlText konstanst nem látok a fileformat típusok között.
Üdv.
-
Fferi50
Topikgazda
válasz
Thrawnad #23091 üzenetére
Szia!
Nem tudom, Ora milyen változónak lett definiálva.
Valószínűleg azért kapsz ilyen üzenetet, mert nincs a keresett értéknek megfelelő eredmény és így egy hiba értéket ad vissza a Vlookup, amit csak variant tipusu változó tud megenni.Ezért inkább másként szoktuk a problémát megkerülni:
dim talalt as variant
on error resume next
talalt=Application.WorksheetFunction.VLookup(Kod, Sheets("Adatok").Range("E14:ei34"), 16, False)
if err=0 then
volt találat
else
nem volt találat
endif
on error goto 0vagy
dim talalt as variant
talalt=Application.VLookup(Kod, Sheets("Adatok").Range("E14:ei34"), 16, False)
if iserror(talalt) then
nincs találat
else
van találat
endifA dim talalt önmagában is elég, mert az variant tipusu változót deklarál, csak azért írtam oda a típust, hogy jobban feltűnjön.
Üdv.
-
Fferi50
Topikgazda
válasz
Thrawnad #23078 üzenetére
Szia!
Bocsi, most látom, hogy a "programkód" vezérlés egy kissé átvert.
Az első sor így néz ki: set talalt=
A többi része jó.Az mindegy, hogy hol van a kód és hol van a táblád, mert a kódban lehet direktben hivatkozni a keresés helyére, lást munka1.range("A1:A50'), vagy sheets("Munkalapnév").range("A1:A50").find
De ha egy kis mintát felteszel, még pontosabb lehet még többet tudunk mondani.
Pld. működik az is, ha a cellába először a képletet írod be, majd utána átalakítod értékké.
Üdv.
-
Fferi50
Topikgazda
válasz
Thrawnad #23073 üzenetére
Szia!
A worksheetfunction.vlookup-on kívül a VBA -ban a Range.find metodust is használhatod(ez kb. ugyanaz minta Crtl+F a munkalapon):
Cset talalt = munka1.range("A1:B50").find(what:=keresem,lookin:=xlvalues,lookat:=xlwhole)
if not talalt is nothing then
megtalálta
else
nemtalálta
endif
[/][/M]
Viszont az időkeresés az külön figyelmet kíván és ki kell többször próbálni, mert az excel a dátumot, időt számként tárolja.
Üdv. -
lappy
őstag
válasz
Thrawnad #23073 üzenetére
Sub FINDSAL()
On Error GoTo MyErrorHandler:
Dim E_name As String
E_name = InputBox("Enter the Employee Name :")
If Len(E_name) > 0 Then
Sal = Application.WorksheetFunction.VLookup(E_name, Sheet1.Range("B3:D13"), 3, False)
MsgBox "Salary is : $ " & Sal
Else
MsgBox ("You entered an invalid value")
End If
Exit Sub
MyErrorHandler:
If Err.Number = 1004 Then
MsgBox "Employee Not Present in the table."
End If
End Sub
Új hozzászólás Aktív témák
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Bomba ár! HP ProBook 450 G5 - i5-8GEN I 8GB I 256GB SSD I 15,6" FHD I HDMI I Cam I W10 I Garancia!
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 4060 8GB GAMER PC termékbeszámítással
- Update 07.09. Bomba árak 2025-ben is! Üzleti - Consumer laptopok DELL FUJITSU HP LENOVO
- ÁRGARANCIA! Épített KomPhone Ryzen 7 9800X3D 64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest