- Milyen okostelefont vegyek?
- Netfone
- Fotók, videók mobillal
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Itt az első kép a 2024-es Nokia 3210-ről
- Vodafone-ra áttért Digi Mobilosok
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Digitális detox a Nokiától
- Azonnali mobilos kérdések órája
- OnePlus 7 - magabiztos folytatás
Hirdetés
-
Konzolokra is megjelenik a Fera: The Sundered Tribe
gp A kooperatív szörnyvadászós játékhoz a minap egy friss trailert kaptunk.
-
Lenovo Essential Wireless Combo
lo Lehet-e egy billentyűzet karcsú, elegáns és különleges? A Lenovo bebizonyította, hogy igen, de bosszantó is :)
-
Agyi chipes gyártóba fektetett a kriptocég
it A Tether 200 millió dollárt fektet a Blackrock Neurotech agyi chipes vállalatba.
-
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
-
-
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 SubBámulatos hol tart már a tudomány!
-
Fferi50
őstag
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.[ Szerkesztve ]
-
Fferi50
őstag
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.
[ Szerkesztve ]
-
Thrawnad
senior tag
-
Fferi50
őstag
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.
[ Szerkesztve ]
-
Fferi50
őstag
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.
[ Szerkesztve ]
-
Fferi50
őstag
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
őstag
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
őstag
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.
[ Szerkesztve ]
-
Delila_1
Topikgazda
-
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
őstag
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.
[ Szerkesztve ]
-
Fferi50
őstag
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.
[ Szerkesztve ]
-
Mutt
aktív 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
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Fferi50
őstag
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.
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Xbox Series X|S
- Karácsonyfaként világíthat a Thermaltake új CPU-hűtője
- Autós topik
- LG 34GS95QE-B: OLED paneles, ívelt gamer monitor
- (nem csak) AMD FX / Ryzen tulajok OFF topikja
- Autós topik látogatók beszélgetős, offolós topikja
- Milyen okostelefont vegyek?
- Kerékpárosok, bringások ide!
- BestBuy topik
- További aktív témák...
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Windows 10/11 Home/Pro , Office OEM/Retail kulcsok
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Adobe Creative Cloud - 2024. 04. 05 - 2025. 04. 05-ig