- iPhone topik
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Fotók, videók mobillal
- Xiaomi 15 - kicsi telefon nagy energiával
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Android alkalmazások - szoftver kibeszélő topik
- Honor 400 Pro - gép a képben
- Apple iPhone 16 Pro - rutinvizsga
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- Samsung Galaxy S24 FE - később
-
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
-
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
Hirdetés
- 24 Hours of Le Mans
- Tőzsde és gazdaság
- Rábólintott az EU, eltakarítja az illegális termékeket az AliExpress
- Lalikiraly: SÜNI energiaital.
- Könyvajánló
- Hálózati / IP kamera
- Egyéni arckép 2. lépés: ARCKÉPSZERKESZTŐ
- BestBuy topik
- Milyen légkondit a lakásba?
- Kerékpárosok, bringások ide!
- További aktív témák...
- Új, bontatlan World of Warcraft gyűjtői kiadások
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Vírusirtó, Antivirus, VPN kulcsok
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- BESZÁMÍTÁS! Gigabyte Z370M i5 9400F 16GB DDR4 512GB SSD RX 5700XT 8GB ZALMAN S2 TG Corsair S650W
- Dell D6000 univerzális dokkoló USB-C/ USB-A, DisplayLink & Dell WD15 (K17A) USB-C + 130-180W töltő
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- 123 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 (48 hónap garancia!)
- Eredeti, új Lenovo 330W töltők - ADL330SDC3A
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest