- Android alkalmazások - szoftver kibeszélő topik
- Huawei Mate X6 - keleti oldal, nyugati oldal
- Honor 400 Pro - gép a képben
- Samsung Galaxy S24 FE - később
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Honor Magic6 Pro - kör közepén számok
- Sony Xperia 1 V - kizárólag igényeseknek
- VoLTE/VoWiFi
- Google Pixel topik
- Netfone
-
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
-
válasz
Árnymester #26982 üzenetére
Próbálkozom, de sehogy sem sikerül....
A probléma (ha jól látom) a következő:
A nekem nem külön munkalapokra, hanem komplett excell fájlokba kellene másolnom, tehát a '2014q3.xlsx' fájl 'munkalap1' munkalapján vannak az adatok, a második oszlopba vannak a vonalkódok, aztán az adatok a következőkbe (pár oszlop lényegtelen a számomra).
Ezekből kéne 'C oszlop' nevű új workbookot (.xlsx) fájlt létrehozni, amelybe átmásolom az adott sor bizonyos celláinak tartalmát, majd a fájlt bezárni, és folytatni a következő sorral.
Szóval valami ilyesmi lenne (csak ez még mindig nem működik
):
Sub WorkbooksAdd()
Dim munkalap1 As Worksheet
Dim wborig As Workbook
Dim r As Integer, count As IntegerSet wborig = "2014q3_int.xlsx"
Set munkalap1 = ActiveSheet
r = 5
Do Until Not IsEmpty(munkalap1(r, B))Application.ScreenUpdating = False
y = (wborig.munkalap1(r, C)
strPath = ThisWorkbook.Path
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=y.Name
'Címsor másolása
ActiveSheet.Cells(1, 1).Value = wborig.munkalap1.Cells(4, B)
ActiveSheet.Cells(1, 2).Value = wborig.munkalap1.Cells(4, C)
ActiveSheet.Cells(1, 3).Value = wborig.munkalap1.Cells(4, D)
ActiveSheet.Cells(1, 4).Value = wborig.munkalap1.Cells(4, K)
ActiveSheet.Cells(1, 5).Value = wborig.munkalap1.Cells(4, T)
'Adatok másolása
ActiveSheet.Cells(2, 1).Value = wborig.munkalap1.Cells(r, B)
ActiveSheet.Cells(2, 2).Value = wborig.munkalap1.Cells(r, C)
ActiveSheet.Cells(2, 3).Value = wborig.munkalap1.Cells(r, D)
ActiveSheet.Cells(2, 4).Value = wborig.munkalap1.Cells(r, K)
ActiveSheet.Cells(2, 5).Value = wborig.munkalap1.Cells(r, T)For Each wb In Application.Workbooks
If Not wb.Name = ThisWorkbook.Name Then wb.Close SaveChanges:=Truer = r + 1
LoopApplication.ScreenUpdating = True
End Sub
-
Delila_1
veterán
válasz
Árnymester #26973 üzenetére
Erre a feladatra nem készült fel az MS, mert állítólag közel-távol csak nálunk gyakorlat a munkanapok áthelyezése.
-
Fferi50
Topikgazda
válasz
Árnymester #26951 üzenetére
Szia!
Nem tudom milyen excel verziód van...
2010-től már létezik az ÖSSZ.MUNKANAP.INTL (NetworkDays_Intl) függvény, amelynek megadhatod, hogy mely napok számítanak ünnepnapnak.
Paraméterek: Kezdő nap, Befejező nap, Hétvége jele (itt több variációt is megadhatsz, pl. hogy csak vasárnap a hétvége), Ünnepnapok
Ha például megadod, hogy csak vasárnap a hétvége, az ünnepnapok között felsorolod az összes nem dolgozós szombatot is a tényleges ünnepek mellett, akkor jól fog számolni.Üdv.
-
Delila_1
veterán
válasz
Árnymester #26965 üzenetére
Köszi a rangot
-
Delila_1
veterán
válasz
Árnymester #26961 üzenetére
Jó lenne, amit írtam, ha nem hagyom ki belőle a szombat és vasárnap kivonását. Így jár, aki kapkod.
Hétvégékkel a makró
Function Munkanap(kezd As Date, vegez As Date)
Dim MN As Integer, ido As Integer, valami
MN = vegez - kezd
For ido = 0 To MN
valami = kezd + ido
If Weekday(valami, 2) > 5 Then MN = MN - 1
If Application.WorksheetFunction.CountIf(Range("E1:E20"), valami) > 0 Then MN = MN - 1
If Application.WorksheetFunction.CountIf(Range("G1:G10"), valami) > 0 Then MN = MN + 1
Next
Munkanap = MN
End FunctionSzerk: magyarázat
A kezd dátumhoz a For-Next ciklusban egyenként hozzáadom a két dátum közötti különbséget. Ha a kezd=2015.04.03, akkor a ciklusban az első érték ugyanez lesz (mert közben rájöttem, hogy ha 1-gyel kezdem a ciklust, az első napot nem veszi figyelembe). Ha ez a nap ünnep (szerepel az E oszlopban), vagy hétvége, akkor az össznapból (MN) levon 1-et. Ha viszont szombat, és munkanap, akkor hozzáad az MN-hez 1-et.
A ciklusban a következő esetben a 2015.04.04-et vizsgálja hasonló módon. -
Delila_1
veterán
válasz
Árnymester #26953 üzenetére
Rosszul írtam, felcseréltem a + és - jelet a két If kezdetű sorban. Bocsi, írd át!
-
Delila_1
veterán
válasz
Árnymester #26953 üzenetére
Írtam hozzá egy felhasználói függvényt. Az ünnepnapokat az E1:E20; a rendkívüli munkanapokat a G1:G10 tartományba írtam be. Ezt a két tartományt írd át a makróban a saját területeidre.
Function Munkanap(kezd As Date, vegez As Date)
Dim MN As Integer, ido As Integer, valami
MN = vegez - kezd
For ido = 1 To MN
valami = kezd + ido
If Application.WorksheetFunction.CountIf(Range("E1:E20"), valami) > 0 Then MN = MN + 1
If Application.WorksheetFunction.CountIf(Range("G1:G10"), valami) > 0 Then MN = MN - 1
Next
Munkanap = MN
End FunctionA függvény alkalmazása:
=munkanap(A3;A2), ahol az A2 a kezdő-, A3 a végző dátum.
-
Delila_1
veterán
válasz
Árnymester #26951 üzenetére
A NETWORKDAYS függvényt használd. Ennek az utolsó paramétere az a tartomány legyen, ahol az év ünnepnapjait megadod.
Új hozzászólás Aktív témák
Hirdetés
- Játékra optimalizált chipkínálatot tervez a Microsoftnak az AMD
- Microsoft Excel topic
- Milyen házat vegyek?
- Android alkalmazások - szoftver kibeszélő topik
- Luck Dragon: Asszociációs játék. :)
- Hálózati / IP kamera
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- Anime filmek és sorozatok
- Amlogic S905, S912 processzoros készülékek
- Melyik hordozható audiolejátszót (DAP, MP3, stb.) vegyem?
- További aktív témák...
- Antivírus szoftverek, VPN
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Sea of Thieves Premium Edition és Egyéb Játékkulcsok.
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Bomba ár! Lenovo X1 Carbon G6: i7-8G I 16GB I 256-512 SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Lenovo ThinkPad P50 - i7-HQ I 16GB I 256SSD I Nvidia I 15,6" FHD I Cam I W10 I Gari!
- HP 635 laptop eladó
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Csere-Beszámítás! RGB Számítógép PC játékra! R5 5600X / RTX 3060Ti 8GB / 32GB DDR4 / 500GB SSD
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged