- Fórumok
- OS, alkalmazások
- Microsoft Excel topic
- (kiemelt téma)
-
51100 - 51001
54996 - 54001 54000 - 53901 53900 - 53801 53800 - 53701 53700 - 53601 53600 - 53501 53500 - 53401 53400 - 53301 53300 - 53201 53200 - 53101 53100 - 53001 53000 - 52901 52900 - 52801 52800 - 52701 52700 - 52601 52600 - 52501 52500 - 52401 52400 - 52301 52300 - 52201 52200 - 52101 52100 - 52001 52000 - 51901 51900 - 51801 51800 - 51701 51700 - 51601 51600 - 51501 51500 - 51401 51400 - 51301 51300 - 51201 51200 - 51101 51100 - 51001 51000 - 50901 50900 - 50801 50800 - 50701 50700 - 50601 50600 - 50501 50500 - 50401 50400 - 50301 50300 - 50201 50200 - 50101 50100 - 50001 50000 - 48001 48000 - 46001 46000 - 44001 44000 - 42001 42000 - 40001 40000 - 38001 38000 - 36001 36000 - 34001 34000 - 32001 32000 - 30001 30000 - 28001 28000 - 26001 26000 - 24001 24000 - 22001 22000 - 20001 20000 - 18001 18000 - 16001 16000 - 14001 14000 - 12001 12000 - 10001 10000 - 8001 8000 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2023-11-13 08:31 Téma összefoglaló
Új hozzászólás Aktív témák
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
-
Delila_1
veterán
-
Fferi50
Topikgazda
-
Delila_1
veterán
Igen, megvan.
-
Fferi50
Topikgazda
Szia!
Ez érdekes, mert nálam 2016-os Excel verzió fut és azon "kísérleteztem ki".
"Sheets(nyomtatni).Select sornál, Subscipt ouf of range."
Biztosan megvan minden olyan nevű lap a munkafüzetben, ami a nyomtatni változóban szerepel?
Üdv.
PS. Esetleg átküldenéd a mintád priviben? -
föccer
nagyúr
Közben kibogarásztam, nagyjából értem. Csak nem ismerem a szintaktikai lehetőségeket a vba-ban.

Delila_1: O365 van a céges környezetben, így minden adott. Asszonynak csináltam valamelyik héten egy oda-vissza kereső táblát, de náluk valami rettenet régi verzió van, pedig elvileg államilag elérhető lenne nála is az O365, de a rendszergizdáék nem akarják felrakni, mert egyébként a cégnél senki nem használja az outlook-word kombón kívül. Outlookba névjegyeket minek frissíteni, van egy wörd vezetve az új belépökkel....
Totál káosz. Szóval ide próbáltam csinálni egy táblát, de annyira funkciószegény a régi verziója az O365 natív tömbfüggvényeihez képest, hogy inkább rábíztam asszoynyágra h győzze meg a főnökeit, hogy frissítsenek O365-re 
üdv, föccer
-
Delila_1
veterán
A 2019-es verzió nem veszi be, hibára fut Sheets(nyomtatni).Select sornál, Subscipt ouf of range.
Az Immediate lapon le tudom kérdezni a nyomtatni tömb egyes lapjainak az értékét, de a Select-nél megáll a tudomány. Nem fogadja el tartományként. -
Fferi50
Topikgazda
Szia!
A Select Case-es megoldásodból jött az ötlet, mert minek is írjuk le ennyiszer a munkalapok nevét, ha ilyen programozóbarát módon vannak elnevezve.
Szívesen segítettem. További jó munkát!
Üdv. -
föccer
nagyúr
Szia!
Talán érdemes megfontolni a következő gondolatot:Dim nyomtatniConst sheetek = "Kezelő,TOP LISTÁK,TOPELEMZES,VCBE,EE_1,EE_2,EE_3,EE_4,EE_5,EE_6,EE_7,EE_8,EE_9,EE_10,EE_11,EE_12,EE_13,EE_14,EE_15,EE_16,EE_17,EE_18,EE_19,EE_20"EE_szama = Sheets("KEZELŐ").Range("D23").Valuenyomtatni = Split(Left(sheetek, InStr(sheetek, "EE_" & EE_szama) + IIf(EE_szama < 10, 3, 4)), ",")Sheets(nyomtatni).Select
Mivel egyben definiáltuk az összes nyomtatási szükségletet, az EE_szám alapján mindig le tudjuk vágni a megfelelő darabot belőle. A Split függvény pedig tömböt csinál a levágásból.
Üdv.Szia!
Nem tudom, hogy hogy de hibátlanul működik, köszönöm szépen
Én már nem tudok ilyen trükköket.üdv, föccer
-
Fferi50
Topikgazda
Szia!
Akkor nincs más hátra, mint makró.
Ezt a két makrót másold be egy modulba, javítsd át a megfelelő helyeken. A hivo makróban megadhatod, melyik cellából másolja az adatot és hol kezdje a cél munkafüzetben a beírást. Ezáltal több cellát is másolhatsz a hivo makró paramétereinek változtatásával.Sub hivo()beirja "A3", "A1" 'A3 cellából az A1 cellától lefelé fog másolni. Ezt kell átírnod a megfelelő címekre.End SubSub beirja(ByVal honnan As String, ByVal hova As String)Dim sh1 As Worksheet, sh2 As Worksheet, celja As RangeSet sh1 = Worksheets("S51") 'S51 helyébe írd a cél munkafüzet nevétSet celja = sh1.Range(hova)For Each sh2 In WorksheetsIf sh2.Name <> sh1.Name Thencelja.Value = sh2.Range(honnan)Set celja = celja.Offset(1, 0)End IfNextEnd Sub
A munkafüzetet makróbarátként vagy binárisként kell mentened.
Üdv.
Ps. Létezik még az Excelben az Adatok - összesítés menüpont, ahol megfelelően struktúrált munkalapok adatai egy munklapra összesíthetők. Talán azt is érdemes lenne megnézned. -
joocek
aktív tag
Szia!
Képlettel megoldható, de nem úszod meg a munkalap nevek beírását a képletbe. Pl:
=Munka1!$A$1 ' ide a cella címe kerüljön a $ jelekkel együtt
Ezt a képletet húzod lefelé vagy jobbra, attól függően, hova kell az adatoknak kerülni.
Majd a képletekben levő munkalap neveket átírod a megfelelő névre.
Üdv.Igen ezt szerettem volna megúszni köszönöm Azért
-
Fferi50
Topikgazda
Sziasztok.van egy munkafüzet ami 50 munkalapból áll. Minden egyes munkalapból egy cellát kéne átmásolni az 51 munkalapra. Ezt lehet valahogy gyorsítani ne kelljen egyesével minden munkalapon kijelölni. Mindig csak a munkalap neve változik a cella helye ugyanott van.
Elnézést ha nagyon amatőr a kérdésSzia!
Képlettel megoldható, de nem úszod meg a munkalap nevek beírását a képletbe. Pl:
=Munka1!$A$1 ' ide a cella címe kerüljön a $ jelekkel együtt
Ezt a képletet húzod lefelé vagy jobbra, attól függően, hova kell az adatoknak kerülni.
Majd a képletekben levő munkalap neveket átírod a megfelelő névre.
Üdv. -
joocek
aktív tag
Sziasztok.van egy munkafüzet ami 50 munkalapból áll. Minden egyes munkalapból egy cellát kéne átmásolni az 51 munkalapra. Ezt lehet valahogy gyorsítani ne kelljen egyesével minden munkalapon kijelölni. Mindig csak a munkalap neve változik a cella helye ugyanott van.
Elnézést ha nagyon amatőr a kérdés -
Fferi50
Topikgazda
Sub Gyorsjelentesek_generalasa()
'
' Gyorsjelentesek_generalasa Makró
'
'
Dim Akt_sor As Integer
Dim Most As Date
Dim Kesz_db As Integer
Dim Tomb As String
Dim EE_szama As Integer
Dim Nyomatato As String
Most = Now
Application.StatusBar = "Gyorsjelentések generálásának folyamata: Előkészítés..."
Akt_sor = 0
Kesz_db = 0
EE_szama = 0
Nyomtato = "Microsoft Print to PDF"
Application.StatusBar = "Gyorsjelentések generálásának folyamata: Indítom a generálást..."
For Akt_sor = 3 To 4
Sheets("Kezelő").Range("D17").Value = Sheets("Kezelő").Cells(Akt_sor, 10)
EE_szama = Sheets("KEZELŐ").Range("D23").Value
Select Case EE_szama
Case 1
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1")).Select
Case 2
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2")).Select
Case 3
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3")).Select
Case 4
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4")).Select
Case 5
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5")).Select
Case 6
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6")).Select
Case 7
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7")).Select
Case 8
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8")).Select
Case 9
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9")).Select
Case 10
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10")).Select
Case 11
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11")).Select
Case 12
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12")).Select
Case 13
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13")).Select
Case 14
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14")).Select
Case 15
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15")).Select
Case 16
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16")).Select
Case 17
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17")).Select
Case 18
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17", "EE_18")).Select
Case 19
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17", "EE_18", "EE_19")).Select
Case 20
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17", "EE_18", "EE_19", "EE_20")).Select
Case Else
Resume Next
End Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, ActivePrinter:=Nyomtato, PrintToFile:=True, PrToFileName:=Sheets("Kezelő").Cells(Akt_sor, 8)
Kesz_db = Kesz_db + 1
Application.StatusBar = "Gyorsjelentések generálásának folyamata: " & Kesz_db & "/35 db jelentés elkészült"
Next
Application.StatusBar = ""
MsgBox "Kész vagyok. Köszönöm, hogy ma is dolgozhattam helyetted. Végrehajtási idő: " & Format(Now - Most, "hh:mm:ss;@")
End SubSzia!
Talán érdemes megfontolni a következő gondolatot:Dim nyomtatniConst sheetek = "Kezelő,TOP LISTÁK,TOPELEMZES,VCBE,EE_1,EE_2,EE_3,EE_4,EE_5,EE_6,EE_7,EE_8,EE_9,EE_10,EE_11,EE_12,EE_13,EE_14,EE_15,EE_16,EE_17,EE_18,EE_19,EE_20"EE_szama = Sheets("KEZELŐ").Range("D23").Valuenyomtatni = Split(Left(sheetek, InStr(sheetek, "EE_" & EE_szama) + IIf(EE_szama < 10, 3, 4)), ",")Sheets(nyomtatni).Select
Mivel egyben definiáltuk az összes nyomtatási szükségletet, az EE_szám alapján mindig le tudjuk vágni a megfelelő darabot belőle. A Split függvény pedig tömböt csinál a levágásból.
Üdv. -
Delila_1
veterán
Nem kell külön-külön kihozni az évet és a hetet.
B oszlopba=ÉV(A1)&"/"&HÉT.SZÁMA(A1;1) -
Imy
veterán
A oszlopban van egy dátumom, pl 2023.01.01
B oszlopban képlettel ki van szedve az év =ÉV(A1)
C oszlopban képlettel ki van szedve a hét =HÉT.SZÁMA(A1;1)A B és C oszlopot össze akarom fűzni hogy ez legyen a végeredmény: 2023/01
Ezt hogyan lehet megoldani? -
Delila_1
veterán
Sub Gyorsjelentesek_generalasa()
'
' Gyorsjelentesek_generalasa Makró
'
'
Dim Akt_sor As Integer
Dim Most As Date
Dim Kesz_db As Integer
Dim Tomb As String
Dim EE_szama As Integer
Dim Nyomatato As String
Most = Now
Application.StatusBar = "Gyorsjelentések generálásának folyamata: Előkészítés..."
Akt_sor = 0
Kesz_db = 0
EE_szama = 0
Nyomtato = "Microsoft Print to PDF"
Application.StatusBar = "Gyorsjelentések generálásának folyamata: Indítom a generálást..."
For Akt_sor = 3 To 4
Sheets("Kezelő").Range("D17").Value = Sheets("Kezelő").Cells(Akt_sor, 10)
EE_szama = Sheets("KEZELŐ").Range("D23").Value
Select Case EE_szama
Case 1
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1")).Select
Case 2
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2")).Select
Case 3
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3")).Select
Case 4
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4")).Select
Case 5
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5")).Select
Case 6
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6")).Select
Case 7
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7")).Select
Case 8
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8")).Select
Case 9
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9")).Select
Case 10
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10")).Select
Case 11
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11")).Select
Case 12
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12")).Select
Case 13
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13")).Select
Case 14
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14")).Select
Case 15
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15")).Select
Case 16
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16")).Select
Case 17
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17")).Select
Case 18
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17", "EE_18")).Select
Case 19
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17", "EE_18", "EE_19")).Select
Case 20
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17", "EE_18", "EE_19", "EE_20")).Select
Case Else
Resume Next
End Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, ActivePrinter:=Nyomtato, PrintToFile:=True, PrToFileName:=Sheets("Kezelő").Cells(Akt_sor, 8)
Kesz_db = Kesz_db + 1
Application.StatusBar = "Gyorsjelentések generálásának folyamata: " & Kesz_db & "/35 db jelentés elkészült"
Next
Application.StatusBar = ""
MsgBox "Kész vagyok. Köszönöm, hogy ma is dolgozhattam helyetted. Végrehajtási idő: " & Format(Now - Most, "hh:mm:ss;@")
End SubOK
-
föccer
nagyúr
Sub Gyorsjelentesek_generalasa()
'
' Gyorsjelentesek_generalasa Makró
'
'
Dim Akt_sor As Integer
Dim Most As Date
Dim Kesz_db As Integer
Dim Tomb As String
Dim EE_szama As Integer
Dim Nyomatato As String
Most = Now
Application.StatusBar = "Gyorsjelentések generálásának folyamata: Előkészítés..."
Akt_sor = 0
Kesz_db = 0
EE_szama = 0
Nyomtato = "Microsoft Print to PDF"
Application.StatusBar = "Gyorsjelentések generálásának folyamata: Indítom a generálást..."
For Akt_sor = 3 To 4
Sheets("Kezelő").Range("D17").Value = Sheets("Kezelő").Cells(Akt_sor, 10)
EE_szama = Sheets("KEZELŐ").Range("D23").Value
Select Case EE_szama
Case 1
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1")).Select
Case 2
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2")).Select
Case 3
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3")).Select
Case 4
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4")).Select
Case 5
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5")).Select
Case 6
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6")).Select
Case 7
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7")).Select
Case 8
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8")).Select
Case 9
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9")).Select
Case 10
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10")).Select
Case 11
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11")).Select
Case 12
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12")).Select
Case 13
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13")).Select
Case 14
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14")).Select
Case 15
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15")).Select
Case 16
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16")).Select
Case 17
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17")).Select
Case 18
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17", "EE_18")).Select
Case 19
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17", "EE_18", "EE_19")).Select
Case 20
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2", "EE_3", "EE_4", "EE_5", "EE_6", "EE_7", "EE_8", "EE_9", "EE_10", "EE_11", "EE_12", "EE_13", "EE_14", "EE_15", "EE_16", "EE_17", "EE_18", "EE_19", "EE_20")).Select
Case Else
Resume Next
End Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, ActivePrinter:=Nyomtato, PrintToFile:=True, PrToFileName:=Sheets("Kezelő").Cells(Akt_sor, 8)
Kesz_db = Kesz_db + 1
Application.StatusBar = "Gyorsjelentések generálásának folyamata: " & Kesz_db & "/35 db jelentés elkészült"
Next
Application.StatusBar = ""
MsgBox "Kész vagyok. Köszönöm, hogy ma is dolgozhattam helyetted. Végrehajtási idő: " & Format(Now - Most, "hh:mm:ss;@")
End Sub -
föccer
nagyúr
H oszlopban sima szöveg függvényekkel van összerakva a leendő fájlok neve. Technikailag leveszi a dátumot, azt átrakja szövegbe =SZÖVEG(D15;"éééé")&"_"&SZÖVEG(D15;"hh")&"_" formátummal, mögé rakja a telephely azonosítóját, amit az az aktuális sor alapján alapadatokból kikeresi majd elé illeszti a megadott útvonalat és kész is. Ha változtatom az elérési utat, akkor elég 1 cellában, illetve az elemzett időszaknak megfelelően módosítja a fájlok neveit, hogy a kolléágk ki tudják keresni, hogy melyik kell nekik.
-
Delila_1
veterán
Csak megtaláltam, hogy mi kell nekem. Így működik a beállított nyomtatóra kiküldi a cuccot ahogy kell és átveszi a fájl nevét is.
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, ActivePrinter:=Nyomtato, PrintToFile:=True, PrToFileName:=Sheets("Kezelő").Cells(Akt_sor, 8)Köszi ismételten.

üdv, föccer
Szóval a H oszlopba beírtad a ciklussal, tömbbe összehozott lapok nevét?
-
föccer
nagyúr
Csak megtaláltam, hogy mi kell nekem. Így működik a beállított nyomtatóra kiküldi a cuccot ahogy kell és átveszi a fájl nevét is.
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, ActivePrinter:=Nyomtato, PrintToFile:=True, PrToFileName:=Sheets("Kezelő").Cells(Akt_sor, 8)Köszi ismételten.

üdv, föccer
-
Delila_1
veterán
A select case az szépen működik. Nem túl elegáns, de hibátlan. Szépsége a dolognak, hogy ahogy pörgetem a for-t, az EE_szama ugye lehet több vagy kevesebb, ugyan akkor az új kijelölési array felülírja az előző ciklusban használt kijelölést. Tehát nem hozzáadja az előző kijelölésekhez, hanem új kijelölést állít be, így nem kell azzal foglalkozni, hogy a korábbi kijelölést megszüntessem.
Nyomtatással viszont félsikert értem el. Kipróbáltam ez aze ExportAsFixedFormat-ot. Szépen le is generálja nekem a pdf-et és fel is rakja oda ahová kell, de hiába van beparaméterezve hogy vegye figyelembe az oldaltöréseket, nem úgy jön le a doksi, ahogy az a MS pdf printerével megszoktam és beállítottam.

Sebaj, végül a select case-zel sikeresen megoldottad.
-
föccer
nagyúr
Csak azt találtam, hogy Array-be kell fogni őket. Mást nem találtam. Viszont az Array tömbjének az összeállítására vagy dinamikus tömböt lehetne használni, de mivel a 19 esetre minden esetben konstans választ kell adni, így egyszerűbbnek (számomra, mint botcsinálta ember) tűnik megcsinálni.
Este találtam olya függvényt hogy ActiveSheet.ExportAsFixedFormat. Ezt akarom kipróbálni, hogy működik-e
A select case az szépen működik. Nem túl elegáns, de hibátlan. Szépsége a dolognak, hogy ahogy pörgetem a for-t, az EE_szama ugye lehet több vagy kevesebb, ugyan akkor az új kijelölési array felülírja az előző ciklusban használt kijelölést. Tehát nem hozzáadja az előző kijelölésekhez, hanem új kijelölést állít be, így nem kell azzal foglalkozni, hogy a korábbi kijelölést megszüntessem.
Nyomtatással viszont félsikert értem el. Kipróbáltam ez aze ExportAsFixedFormat-ot. Szépen le is generálja nekem a pdf-et és fel is rakja oda ahová kell, de hiába van beparaméterezve hogy vegye figyelembe az oldaltöréseket, nem úgy jön le a doksi, ahogy az a MS pdf printerével megszoktam és beállítottam.

-
föccer
nagyúr
Egyszerre kell, hogy egy dokumentumként kerüljön lementésre. pdf-be megy ki. Ha külön-külön adom ki nyomtatási sorba, akkor különálló pdf lesz. Ezért kell kijelölni a WS-eket egyszerre,mert akkor összefűzve, 1 doksiban kerül lementésre.
üdv,
-
Delila_1
veterán
Csak azt találtam, hogy Array-be kell fogni őket. Mást nem találtam. Viszont az Array tömbjének az összeállítására vagy dinamikus tömböt lehetne használni, de mivel a 19 esetre minden esetben konstans választ kell adni, így egyszerűbbnek (számomra, mint botcsinálta ember) tűnik megcsinálni.
Este találtam olya függvényt hogy ActiveSheet.ExportAsFixedFormat. Ezt akarom kipróbálni, hogy működik-e
Na és ha ciklusban nyomtatod a megfelelő lapokat?
-
föccer
nagyúr
Jó ötlet.
Esetleg a kötelező 3 lap nyomtatása után egy for-next ciklust indíthatnál.Db = Sheets("Kezelő").Range("D23")For lap = 5 To 24If Mid(Sheets(lap).Name, 4, 2) * 1 <= Db Then'nyomtatásElse'exit forEnd IfNextBiztosan van ennél egyszerűbb VBA-s megoldás az együttes lapok kijelölésére.
Csak azt találtam, hogy Array-be kell fogni őket. Mást nem találtam. Viszont az Array tömbjének az összeállítására vagy dinamikus tömböt lehetne használni, de mivel a 19 esetre minden esetben konstans választ kell adni, így egyszerűbbnek (számomra, mint botcsinálta ember) tűnik megcsinálni.
Este találtam olya függvényt hogy ActiveSheet.ExportAsFixedFormat. Ezt akarom kipróbálni, hogy működik-e
-
Delila_1
veterán
Hát, ahogy jöttem-mentem a városban kattogot az agyam rajta. Lehet hogy az egészet beteszem egy select case statementbe. Miáltal fixen 0-20 közötti szám jöhet a feltétel alapjául, és a munkalapok csak ezektől függenek, így lehet hogy ebben az esetben ez lesz az egyszerűbb...
EE_szama = Sheets("KEZELŐ").Range("D23").Value
For Akt_sor = 3 To 35
Sheets("Kezelő").Range("D17").Value = Sheets("Kezelő").Cells(Akt_sor, 10)
Select Case EE_szama
Case 1
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1")).Select
Case 2
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2")).Select
....
......
.....
....
Case Else
Resume Next
End Select' és akkor ide jönne a nyomtatás.
NextJó ötlet.
Esetleg a kötelező 3 lap nyomtatása után egy for-next ciklust indíthatnál.Db = Sheets("Kezelő").Range("D23")For lap = 5 To 24If Mid(Sheets(lap).Name, 4, 2) * 1 <= Db Then'nyomtatásElse'exit forEnd IfNextBiztosan van ennél egyszerűbb VBA-s megoldás az együttes lapok kijelölésére.
-
föccer
nagyúr
Kicsit tovább vittem az előzőt, de megállt a tudományom. Addig jutottam, hogy összeáll az együttesen kijelölendő lapok listája. Hátha valaki tovább jut, esetleg egészen más úton.
Sub arr()Dim lapszam As Integer, lap As Integer, lapok As String, tomb(29)For lap = 2 To 4tomb(lap - 2) = Sheets(lap).NameNextlapszam = Sheets("Kezelő").Range("D23")For lap = 5 To lapszam + 4If Mid(Sheets(lap).Name, 4, 2) * 1 <= lapszam Thentomb(lap - 2) = Sheets(lap).NameEnd IfNextFor lap = 0 To 29If tomb(lap) = "" Then Exit Forlapok = lapok & """" & tomb(lap) & """"lapok = lapok & ","Nextlapok = Left(lapok, Len(lapok) - 1)lapok = """" & lapoklapok = Right(lapok, Len(lapok) - 1)Debug.Print lapokEnd SubHát, ahogy jöttem-mentem a városban kattogot az agyam rajta. Lehet hogy az egészet beteszem egy select case statementbe. Miáltal fixen 0-20 közötti szám jöhet a feltétel alapjául, és a munkalapok csak ezektől függenek, így lehet hogy ebben az esetben ez lesz az egyszerűbb...
EE_szama = Sheets("KEZELŐ").Range("D23").Value
For Akt_sor = 3 To 35
Sheets("Kezelő").Range("D17").Value = Sheets("Kezelő").Cells(Akt_sor, 10)
Select Case EE_szama
Case 1
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1")).Select
Case 2
Sheets(Array("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE", "EE_1", "EE_2")).Select
....
......
.....
....
Case Else
Resume Next
End Select' és akkor ide jönne a nyomtatás.
Next -
Delila_1
veterán
Sziasztok!
Next round az automatizálásban

Most automatikus nyomtatásban kérem segítségeteket.
Van egy elemző xlsm, aminek van egy maréknyi füle Ami érdemleges az a "KEZELŐ"; mellette "TOP LISTÁK"; TOPELEMZES"; "VCBE"; valamint ez után 20 db, sorszámozott fül ami "EE_"& sorszám 1-20.ig nevél rendelkezik (EE_1; EE_2; EE_3; ... ; EE_20). Van ezen kívül még fül, de ezek egymás mellett vannak és sorrendjük nem változik.Kezelő fül J3:J35-ben vannak telephely megnevezések. KEZELŐ fül H3:H35-ben vannak a telephelyhez tartozó (leendő) fájl nevek, elérési úttal kialakítva. (soronként összetarozóan természetesen)
A KEZELŐ fülön van egy gomb ami indít egy makrót, ami az alábbiakat kell, h tudja.
- A KEZELŐ fül J3:J35 cellák értékeit sorba átmásolja a D17-be. Minden lépésnél újra kalkulálja a teljes munkafüzetet. (A KEZELŐ D23 cellájában kiszámolódik 1 darab szám, aminek értéke 0-20 között lesz.)
- ha KEZELŐ D23 = 0, akkor lépjen a következő ciklusra és töltse be a következő telepet. HA KEZELŐ D23 > 0, akkor jelölje ki a "KEZELŐ"; "TOP LISTÁK"; TOPELEMZES"; "VCBE" fülek, valamint az EE_ kezdetű fülekből azokat, amelynek sorszáma kisebb mint a D23 cellába kikalkulált szám (pl D23 értéke:5 , akkor az EE_1; EE_2; EE_3; EE_4; EE_5 jön az első 4 mellé. Manuálisan ezt simán shift+katt-al intézem el úgy, hogy a KEZELŐTŐL ki vannak jelölve a fülek).
- "Microsoft Print to PDF" mint alapértelmezett nyomtatóra küldje ki az anyagot csak aktív lapok, normál margók, nem méretezhető beállításokkal. Kimeneti fájl neve a ciklusban felhasznált telepnek megfelelő fájlnév a H oszlopból.Minden munkalapon be vannak állítva a nyomtatási területek és oldaltörések, így elvileg a kijelölt munkalapokra egy 6-44 oldal közötti pdf kerül fel a fájlszerver megfelelő könyvtárába, egymás után a 32 telephely adataival. Voilá

A munkalapok többszörös kijelölésénél már el is akadtam és hirtelen google sem segített nekem, h hogy oldjam meg


For Akt_sor = 3 To 5
Sheets("Kezelő").Range("D17").Value = Sheets("Kezelő").Cells(Akt_sor, 10).Value 'telepek neveit másolja
Sheets("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE").Select
' If Sheets("KEZELŐ").Range("D23").Value > 0 Then
' For Akt_WS = 1 To Sheets("KEZELŐ").Range("D23").Value
' Sheets("EE_" & Akt_WS).Select
' Next
' End If
Köszönöm :R
'
Kesz_db = Kesz_db + 1
Application.StatusBar = "Gyorsjelentések generálásának folyamata: " & Kesz_db & " db jelentés elkészült"
Nextoh, de hülye. Array()
Akkor más csak össze kell tákolnom a listát.üdv, FG
Kicsit tovább vittem az előzőt, de megállt a tudományom. Addig jutottam, hogy összeáll az együttesen kijelölendő lapok listája. Hátha valaki tovább jut, esetleg egészen más úton.
Sub arr()Dim lapszam As Integer, lap As Integer, lapok As String, tomb(29)For lap = 2 To 4tomb(lap - 2) = Sheets(lap).NameNextlapszam = Sheets("Kezelő").Range("D23")For lap = 5 To lapszam + 4If Mid(Sheets(lap).Name, 4, 2) * 1 <= lapszam Thentomb(lap - 2) = Sheets(lap).NameEnd IfNextFor lap = 0 To 29If tomb(lap) = "" Then Exit Forlapok = lapok & """" & tomb(lap) & """"lapok = lapok & ","Nextlapok = Left(lapok, Len(lapok) - 1)lapok = """" & lapoklapok = Right(lapok, Len(lapok) - 1)Debug.Print lapokEnd Sub -
Delila_1
veterán
Sziasztok!
Next round az automatizálásban

Most automatikus nyomtatásban kérem segítségeteket.
Van egy elemző xlsm, aminek van egy maréknyi füle Ami érdemleges az a "KEZELŐ"; mellette "TOP LISTÁK"; TOPELEMZES"; "VCBE"; valamint ez után 20 db, sorszámozott fül ami "EE_"& sorszám 1-20.ig nevél rendelkezik (EE_1; EE_2; EE_3; ... ; EE_20). Van ezen kívül még fül, de ezek egymás mellett vannak és sorrendjük nem változik.Kezelő fül J3:J35-ben vannak telephely megnevezések. KEZELŐ fül H3:H35-ben vannak a telephelyhez tartozó (leendő) fájl nevek, elérési úttal kialakítva. (soronként összetarozóan természetesen)
A KEZELŐ fülön van egy gomb ami indít egy makrót, ami az alábbiakat kell, h tudja.
- A KEZELŐ fül J3:J35 cellák értékeit sorba átmásolja a D17-be. Minden lépésnél újra kalkulálja a teljes munkafüzetet. (A KEZELŐ D23 cellájában kiszámolódik 1 darab szám, aminek értéke 0-20 között lesz.)
- ha KEZELŐ D23 = 0, akkor lépjen a következő ciklusra és töltse be a következő telepet. HA KEZELŐ D23 > 0, akkor jelölje ki a "KEZELŐ"; "TOP LISTÁK"; TOPELEMZES"; "VCBE" fülek, valamint az EE_ kezdetű fülekből azokat, amelynek sorszáma kisebb mint a D23 cellába kikalkulált szám (pl D23 értéke:5 , akkor az EE_1; EE_2; EE_3; EE_4; EE_5 jön az első 4 mellé. Manuálisan ezt simán shift+katt-al intézem el úgy, hogy a KEZELŐTŐL ki vannak jelölve a fülek).
- "Microsoft Print to PDF" mint alapértelmezett nyomtatóra küldje ki az anyagot csak aktív lapok, normál margók, nem méretezhető beállításokkal. Kimeneti fájl neve a ciklusban felhasznált telepnek megfelelő fájlnév a H oszlopból.Minden munkalapon be vannak állítva a nyomtatási területek és oldaltörések, így elvileg a kijelölt munkalapokra egy 6-44 oldal közötti pdf kerül fel a fájlszerver megfelelő könyvtárába, egymás után a 32 telephely adataival. Voilá

A munkalapok többszörös kijelölésénél már el is akadtam és hirtelen google sem segített nekem, h hogy oldjam meg


For Akt_sor = 3 To 5
Sheets("Kezelő").Range("D17").Value = Sheets("Kezelő").Cells(Akt_sor, 10).Value 'telepek neveit másolja
Sheets("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE").Select
' If Sheets("KEZELŐ").Range("D23").Value > 0 Then
' For Akt_WS = 1 To Sheets("KEZELŐ").Range("D23").Value
' Sheets("EE_" & Akt_WS).Select
' Next
' End If
Köszönöm :R
'
Kesz_db = Kesz_db + 1
Application.StatusBar = "Gyorsjelentések generálásának folyamata: " & Kesz_db & " db jelentés elkészült"
Nextoh, de hülye. Array()
Akkor más csak össze kell tákolnom a listát.üdv, FG
Eddig jutottam el:Sub arr()Dim lapszam As Integer, lap As IntegerDim tomb(29)For lap = 2 To 4tomb(lap - 2) = Sheets(lap).NameNextlapszam = Sheets("Kezelő").Range("D23")For lap = 5 To lapszam + 4If Mid(Sheets(lap).Name, 4, 2) * 1 <= lapszam Thentomb(lap - 2) = Sheets(lap).NameEnd IfNextEnd SubInnen valahogy be kell olvasnod az array-ba a tomb neveit, de most el kell rohannom, késésben vagyok.
-
föccer
nagyúr
Sziasztok!
Next round az automatizálásban

Most automatikus nyomtatásban kérem segítségeteket.
Van egy elemző xlsm, aminek van egy maréknyi füle Ami érdemleges az a "KEZELŐ"; mellette "TOP LISTÁK"; TOPELEMZES"; "VCBE"; valamint ez után 20 db, sorszámozott fül ami "EE_"& sorszám 1-20.ig nevél rendelkezik (EE_1; EE_2; EE_3; ... ; EE_20). Van ezen kívül még fül, de ezek egymás mellett vannak és sorrendjük nem változik.Kezelő fül J3:J35-ben vannak telephely megnevezések. KEZELŐ fül H3:H35-ben vannak a telephelyhez tartozó (leendő) fájl nevek, elérési úttal kialakítva. (soronként összetarozóan természetesen)
A KEZELŐ fülön van egy gomb ami indít egy makrót, ami az alábbiakat kell, h tudja.
- A KEZELŐ fül J3:J35 cellák értékeit sorba átmásolja a D17-be. Minden lépésnél újra kalkulálja a teljes munkafüzetet. (A KEZELŐ D23 cellájában kiszámolódik 1 darab szám, aminek értéke 0-20 között lesz.)
- ha KEZELŐ D23 = 0, akkor lépjen a következő ciklusra és töltse be a következő telepet. HA KEZELŐ D23 > 0, akkor jelölje ki a "KEZELŐ"; "TOP LISTÁK"; TOPELEMZES"; "VCBE" fülek, valamint az EE_ kezdetű fülekből azokat, amelynek sorszáma kisebb mint a D23 cellába kikalkulált szám (pl D23 értéke:5 , akkor az EE_1; EE_2; EE_3; EE_4; EE_5 jön az első 4 mellé. Manuálisan ezt simán shift+katt-al intézem el úgy, hogy a KEZELŐTŐL ki vannak jelölve a fülek).
- "Microsoft Print to PDF" mint alapértelmezett nyomtatóra küldje ki az anyagot csak aktív lapok, normál margók, nem méretezhető beállításokkal. Kimeneti fájl neve a ciklusban felhasznált telepnek megfelelő fájlnév a H oszlopból.Minden munkalapon be vannak állítva a nyomtatási területek és oldaltörések, így elvileg a kijelölt munkalapokra egy 6-44 oldal közötti pdf kerül fel a fájlszerver megfelelő könyvtárába, egymás után a 32 telephely adataival. Voilá

A munkalapok többszörös kijelölésénél már el is akadtam és hirtelen google sem segített nekem, h hogy oldjam meg


For Akt_sor = 3 To 5
Sheets("Kezelő").Range("D17").Value = Sheets("Kezelő").Cells(Akt_sor, 10).Value 'telepek neveit másolja
Sheets("Kezelő", "TOP LISTÁK", "TOPELEMZES", "VCBE").Select
' If Sheets("KEZELŐ").Range("D23").Value > 0 Then
' For Akt_WS = 1 To Sheets("KEZELŐ").Range("D23").Value
' Sheets("EE_" & Akt_WS).Select
' Next
' End If
Köszönöm :R
'
Kesz_db = Kesz_db + 1
Application.StatusBar = "Gyorsjelentések generálásának folyamata: " & Kesz_db & " db jelentés elkészült"
Nextoh, de hülye. Array()
Akkor más csak össze kell tákolnom a listát.üdv, FG
-
LilProphet90
senior tag
Sziasztok!
Az egyik kolléganőnél probléma, hogy diagramkészítésekor mindig dollárban jeleníti meg a pénznemet. A forrás szintén HUF, és a diagram forintra való átállásakor jó, lementés, bezárás és ismételt megnyitás után utáni újból dollárban jeleníti meg.
Több kolléganőnek továbbította, ők viszont forintban látják, rendesen.
Tudja valaki, mi lehet az oka? Régióbeállítások megfelelőek.
Nagyon köszönöm!
-
lappy
őstag
-
aehike
újonc
-
lappy
őstag
-
föccer
nagyúr
ctrl+0 bill kombó pediglen a legegyszerűbb ha valaki az aktuális dátumot akarja fixen berakni

üdv, föccer
-
lappy
őstag
=HA(O5="Igen";DÁTUM(év;hónap;nap);"-")
Mit írok el a képletben? Ha az O5 igen, akkor "#NÉV?" jön fel, ha viszont nem akkor beírja a "-"-et.
Annyit szeretnék igazából, hogy ha az O5 Igen, akkor kiírja nekem a mellette lévő oszlopba azt a dátumot ami akkor van mikor beírtam, hogy "Igen".
Így belegondolva, lehet, hogy eleve rossz vonalon indultam..
mert nincs megadva hogy honnan vegye az Év, Hónap, Napot ezt pótolni kell akkor jó lesz
de ha csak egy dátum kell akkor a Ma függvény jó lesz Ma() így használhatod, de ez minden nap változik majd!! -
zsoci0914
csendes tag
=HA(O5="Igen";DÁTUM(év;hónap;nap);"-")
Mit írok el a képletben? Ha az O5 igen, akkor "#NÉV?" jön fel, ha viszont nem akkor beírja a "-"-et.
Annyit szeretnék igazából, hogy ha az O5 Igen, akkor kiírja nekem a mellette lévő oszlopba azt a dátumot ami akkor van mikor beírtam, hogy "Igen".
Így belegondolva, lehet, hogy eleve rossz vonalon indultam..
-
lappy
őstag
-
n42
tag
-
lappy
őstag
Sziasztok, segítséget szeretnék kérni egy Excel feladatban:
Van három külön lapom, a három külön lapon van három táblázat és ezt a három táblázat adatait szeretném összevonni egy közös táblázatba a negyedik lapon, természetesen dinamikusan.
Tehát a három táblát akarom szerkeszteni, új adatokat hozzáadni és azt szeretném, ha a negyedik lapon automatikusan (vagy legalább adatok frissítése megnyomásával) frissülne. A negyedik táblázatból pedig egy kimutatást szeretnék készíteni. Lehetséges?
Ezek közül lehet válogatni
-
n42
tag
Sziasztok, segítséget szeretnék kérni egy Excel feladatban:
Van három külön lapom, a három külön lapon van három táblázat és ezt a három táblázat adatait szeretném összevonni egy közös táblázatba a negyedik lapon, természetesen dinamikusan.
Tehát a három táblát akarom szerkeszteni, új adatokat hozzáadni és azt szeretném, ha a negyedik lapon automatikusan (vagy legalább adatok frissítése megnyomásával) frissülne. A negyedik táblázatból pedig egy kimutatást szeretnék készíteni. Lehetséges?
-
cekkk
veterán
Szia,
Egyéb lehetőségek a már kapott megoldáson túl.
1. Az adatsoron állva Beszúrás menü, Kimutatás. Erről érdemes előbb interneten/youtubeon leirasokat nézned, de röviden a sorok dobozba a neveket, az értékbe pedig az összeadni kívánt oszlopot kell húzni.
2. MS365-os verziót használva pedig az EGYEDI függvénnyel ki tudod nyerni a neveket egy új helyre és mellé a már használt SZUMHA jöhet.Üdv
Köszönöm szépen a válaszod.
-
Mutt
senior tag
Szia,
Csináltam egy egyszerű adatbázist, ami az A21:I26 tartományban van.

A kérdésekre a megoldások pedig így néznek ki:

Az adatbázis függvényeknek 3 paramétere van, az első az adatbázis helye, a második hogy melyik oszlopból akarod az értéket megkapni (itt az adatbázis első sora az oszlop azonosítója azt kell megadni - lehet gépelni illetve cellahivatkozással megadni - pl. "Cég neve" kell és nem az hogy A-oszlop) az utolsó pedig hogy mely sorokra kell szűrni az adatbázisban. Ez az utolsó ami kicsit nehézkes, de egyszerűen csak ad meg az oszlop nevét amely alapján szűrni akarsz és alá az értéket (ami tartalmazhat operátorokat, pl. >10 vagy helyettesítő karaktereket pl. B*). Ha több értéket akarsz megadni, akkor egymás alá írd őket (ekkor VAGY kapcsolat lesz).
Az utolsó 2 kérdésre a legkönyebb a válasz, nézd a legutolsót, ahol csak a székhelyre kell szűrni. Megadtam az oszlop nevét és alá, hogy az 1-es érdekel minket (Budapest). Az AB.DARAB2 függvénynek pedig ez a két cella lesz az utolsó paramétere.
A 3-as kérdésben két feltétel szerint kell szűrni, székhely és ágazat. Egy sorban adtam meg a szűrési feltéleket, ezek ÉS kapcsolatot jelentenek vagyis csak azok a sorok lesznek érvényések ahol mindkét feltétel egyszerre teljesül. (Ha nem egy sorba írtam volna, akkor VAGY kapcsolata lesz, próbáld ki.)
A többi kérdés már ezek kaptafája, de itt annyi hogy van egy köztes lépés mert meg kell kapni előbb egy eredményt a végső lekérdezéshez. Igazából ha nem lenne kötelező csak adatbázis függvény használata, akkor az első kérdésnél a C3-as mezőben egy =MAX(H22:H26) képlet elég lenne és nem kellene a AB.MAX képlet.
Youtube-on Mynda szerintem jól elmagyarázza az egészet.
Még annyi hogy az első képletekben még az oszlop nevét közvetlenül megadtam ("Cég neve"), de a többinél már csak cella hivatkozást használtam. Te döntöd el melyik szimpi.
üdv
-
Fferi50
Topikgazda
-
Otisz
őstag
-
Mutt
senior tag
Szia,
Egyéb lehetőségek a már kapott megoldáson túl.
1. Az adatsoron állva Beszúrás menü, Kimutatás. Erről érdemes előbb interneten/youtubeon leirasokat nézned, de röviden a sorok dobozba a neveket, az értékbe pedig az összeadni kívánt oszlopot kell húzni.
2. MS365-os verziót használva pedig az EGYEDI függvénnyel ki tudod nyerni a neveket egy új helyre és mellé a már használt SZUMHA jöhet.Üdv
-
cekkk
veterán
Szia!
"hogyan tudum kigyűjteni egy új oszlopba a neveket, úgy hogy töbször ne forduljon elő és ne manuálisan kelljen megcsinálni"
Átmásolod az összes nevet az új oszlopba, majd Adatok - Ismétlődések eltávolítása.
Sajnos új név hozzáadása esetén kell egy kis munka még. Fkeres függvénnyel meg kell nézni, hogy létezik-e már az egyedi oszlopban, ha nem akkor egyszerűen át kell írni oda, ha igen, akkor nincs teendő.
Több név hozzáadásakor pedig meg kell ismételni az ismétlődések eltávolítását.
A nevek melletti képletet nem kell megváltoztatnod, csak lehúznod az új nevekhez.
Üdv.Köszönöm
-
Fferi50
Topikgazda
Szia!
"hogyan tudum kigyűjteni egy új oszlopba a neveket, úgy hogy töbször ne forduljon elő és ne manuálisan kelljen megcsinálni"
Átmásolod az összes nevet az új oszlopba, majd Adatok - Ismétlődések eltávolítása.
Sajnos új név hozzáadása esetén kell egy kis munka még. Fkeres függvénnyel meg kell nézni, hogy létezik-e már az egyedi oszlopban, ha nem akkor egyszerűen át kell írni oda, ha igen, akkor nincs teendő.
Több név hozzáadásakor pedig meg kell ismételni az ismétlődések eltávolítását.
A nevek melletti képletet nem kell megváltoztatnod, csak lehúznod az új nevekhez.
Üdv. -
Delila_1
veterán
-
cekkk
veterán
-
Delila_1
veterán
Sziasztok!
Egy kis segítséget szeretnék kérni.
Van egy táblázatom amibe van két oszlop legyen A nevek B értékek, A oszlopban nevek vannak amelyek ismétlődnek a B oszlopban pedig a nevekhez tartozó érték. Hogyan tudom össze adni a nevekhez tartozó értéket úgy, hogy egy új oszlopba kiírja magától, hogy zsolt 345 majd péter 456 stb. Ha megnézi az a oszlpot ott megtalálja az összes zsoltot akkor kiírja majd megnézi a következő nevet és azt is így kirja. Érthető vagyok, vagy nagyon rosszul fogalmaztam?
Szia!
Nézd meg a SZUMHA függvényt, az kell ide. -
cekkk
veterán
Sziasztok!
Egy kis segítséget szeretnék kérni.
Van egy táblázatom amibe van két oszlop legyen A nevek B értékek, A oszlopban nevek vannak amelyek ismétlődnek a B oszlopban pedig a nevekhez tartozó érték. Hogyan tudom össze adni a nevekhez tartozó értéket úgy, hogy egy új oszlopba kiírja magától, hogy zsolt 345 majd péter 456 stb. Ha megnézi az a oszlpot ott megtalálja az összes zsoltot akkor kiírja majd megnézi a következő nevet és azt is így kirja. Érthető vagyok, vagy nagyon rosszul fogalmaztam?
-
Talala
senior tag
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
Szia!
Ne a függvényt illeszd be, hanem az értéket:
pl.Range("A2").Value=Application.WorksheetFunction.WeekNum(Date,1)
Üdv. -
Talala
senior tag
Sajnos igy is újra számolódik, mert ugyan makróval, de egy függvényt illesztettem be. Hogyan tudnam megoldani, hogy ne számolódjon újra, a következő hétbe lépve is annak a hétnek a száma legyen a cellába amikor adat került abba a sorba.
-
Mutt
senior tag
Sziasztok!
Szeretnék egy térképre vetített animációt készíteni. A lényege, hogy vannak gépjárművek, amik minden nap adott időben, adott helyen tartózkodnak. Mondhatni menetrend szerint közlekednek.
Szeretném megjeleníteni az összes gépjármű tervezett mozgását egy térképes animációban.
Excel táblában megvan minden jármű adott időben, adott tartózkodási helye óra/perc és megállóhelyek GPS koordinátái.
Láttam már excel alapú hasonló animációt, csak nem tudom a bővítmény vagy akármi nevét, ami kell hozzá.Van ötletek, hogy hogy lehetne ezt megoldani?
Szia,
Nagy segítséget nem tudok adni, de anno csináltam pár animációt Excelben VBA-val.
https://github.com/viszi/codes/tree/master/Excel/Fun oldalon van pár, Clock/Maze/Langton's Ant/Game of life.
Makróval lehet csinálni vmit, de nem igazán evidens mivel az Excelben a megjelenítést befolyásolja hogy a gépnek illetve az Excelnek milyen műveleteket kell elvégeznie párhuzamosan.
A legtöbb esetben csak annyi kell, hogy mindig újabb adatokat adsz a grafikon alapját adó táblázathoz és az Excel ezt megjeleníti. A gond az időzítés, mert egy Sleep vagy Appliction.Wait nem mindig tart ugyanaddig.Bővítményt nem találtam ami igazán segít, olyanok vannak amelyek mozgó GIF-ekket használnak, de azt előbb elő kellene állítani hogy lehessen használni.
Az Excel nem igazán erre van kihegyezve, a 3Ds térképpel pedig én eddig csak szenvedtem.
Szerintem más eszközt kell keresned.üdv
-
AxBattler
félisten
Üdv!
Excel még mindig inkább 1 szálon terheli a processzort, vagy sikerült normálisan megoldaniuk a többszálas munkamenetet/számítást?
Notivásárlás előtt állok, és ez is erős szempont...
-
vilmaboy
őstag
Sziasztok!
Szeretnék egy térképre vetített animációt készíteni. A lényege, hogy vannak gépjárművek, amik minden nap adott időben, adott helyen tartózkodnak. Mondhatni menetrend szerint közlekednek.
Szeretném megjeleníteni az összes gépjármű tervezett mozgását egy térképes animációban.
Excel táblában megvan minden jármű adott időben, adott tartózkodási helye óra/perc és megállóhelyek GPS koordinátái.
Láttam már excel alapú hasonló animációt, csak nem tudom a bővítmény vagy akármi nevét, ami kell hozzá.Van ötletek, hogy hogy lehetne ezt megoldani?
-
lac14548
aktív tag
Szia!
A jelenlegi oszlop mellé segédoszlopba beviszed a számokat 1-től (gyorsan így megy: 1, 2 ezután kijelölöd ezt a két cellát és lehúzod addig, ameddig adatod van.)
Az így létrejött két oszlopot kijelölöd, másolás, majd az eddigi adataid alá beilleszted.
Ezután a teljes 2 oszlop kijelölésével Adatok - rendezés - a számos oszlop szerint - figyelj a fejlécre, ha nincs ne legyen bepipálva.
A segédoszlopot kitörlöd és kész a feladat.
Üdv.köszönöm!!! működik!
valami sokkal bonyolultabbra gondoltam megoldásként

-
Fferi50
Topikgazda
Hello,
Hogyan lehet gyorsan megoldani a következőt?
Van egy oszlop az excelben kb. 300 cellányi tartalom (betűk számok vegyesen).
Azt szeretném, ha minden duplán szerepelne egymás alatt!Pl.:
jelenleg:
fdsfdg
3243
fsf
hzhz
rtrAmi kellene gombnyomásra, hogy ne kelljen egyesével (kimásol, cella beszúr - az alatta lévőket lejjeb tolja, beilleszt):
fdsfdg
fdsfdg
3243
3243
fsf
fsf
hzhz
hzhz
rtr
rtrkösz,
Szia!
A jelenlegi oszlop mellé segédoszlopba beviszed a számokat 1-től (gyorsan így megy: 1, 2 ezután kijelölöd ezt a két cellát és lehúzod addig, ameddig adatod van.)
Az így létrejött két oszlopot kijelölöd, másolás, majd az eddigi adataid alá beilleszted.
Ezután a teljes 2 oszlop kijelölésével Adatok - rendezés - a számos oszlop szerint - figyelj a fejlécre, ha nincs ne legyen bepipálva.
A segédoszlopot kitörlöd és kész a feladat.
Üdv. -
lac14548
aktív tag
Hello,
Hogyan lehet gyorsan megoldani a következőt?
Van egy oszlop az excelben kb. 300 cellányi tartalom (betűk számok vegyesen).
Azt szeretném, ha minden duplán szerepelne egymás alatt!Pl.:
jelenleg:
fdsfdg
3243
fsf
hzhz
rtrAmi kellene gombnyomásra, hogy ne kelljen egyesével (kimásol, cella beszúr - az alatta lévőket lejjeb tolja, beilleszt):
fdsfdg
fdsfdg
3243
3243
fsf
fsf
hzhz
hzhz
rtr
rtrkösz,
-
Talala
senior tag
-
lappy
őstag
-
Talala
senior tag
Ha makróba illesztem a hét száma függvényt, az működhet? Ha kerül adat a 3. oszlop sorába, akkor adott sor "A" oszlopába beilleszti a hét számát.
-
Talala
senior tag
-
lappy
őstag
na ezt kérdeztem így csak markóval lehet
-
Talala
senior tag
A hét száma amint beíródott egy cellába, akkor az onnantól kezdve ne változzon. Az adott sorban történő adat rögzítésének időpontját hivatott jelezni.
Amit irtal képlet, az jelenleg jónak tűnik, amennyiben jövőhéten nem vált át 22-re. -
lappy
őstag
Sziasztok.
Egy egyszerű dologban kérném a segitségeteket. Excelben makróval hogyan tudom kiíratni az aktuális hét számát egy adott cellába, ha a mellette lévőbe adat kerül?
Pl. A2-be adat kerül, akkor A1-be jelenjen meg az aktuális hét száma, ha pedig törlődik az A2-ből az adat akkor az A1 is legyen üres.
Függvénnyel is jó, ha megoldható.
Köszönöm
=HA(ÜRES(A2);" ";HÉT.SZÁMA(MA()))
viszont kérdés, hogy ez állandó maradjon ez a hét száma vagy változhat?
ha állandó kell akkor nem jó a képletes megoldás -
Talala
senior tag
Sziasztok.
Egy egyszerű dologban kérném a segitségeteket. Excelben makróval hogyan tudom kiíratni az aktuális hét számát egy adott cellába, ha a mellette lévőbe adat kerül?
Pl. A2-be adat kerül, akkor A1-be jelenjen meg az aktuális hét száma, ha pedig törlődik az A2-ből az adat akkor az A1 is legyen üres.
Függvénnyel is jó, ha megoldható.
Köszönöm
-
Reinhardt
őstag
Koszi.
A problemam vegulis nem is ez volt, hanem hogy a lista amit a sales teamtol kapunk tartalmaz par hibas emailt:

Patrick valamiert tartalmaz egy ' jelet ami filterrel nem keresheto.
Ez rogton latszik, mert nem valtozik at linknek.
Kiprobaltam amit javasoltal, atmasoltam minden email cimet egy uj lapra, de csak ertekkent masolva nem vitte at a '-t, szoval csak visszamasoltam az eredetire es a problemam megoldodott. -
lappy
őstag
Hali
Van egy tablazatom a lakok adataival.
Az egyik oszlop az email cim.
Ha F2-vel belepek a cellaba es entert nyomok utanna a cella klikkelheto lesz, es tudok nekik rogton emailt kuldeni.
Tobb mint 600 sorom van, at lehet valahogy formazni egyszerre az oszlopot? Vagy 600+ F2+Entert kell nyomnom?például így
-
Reinhardt
őstag
Hali
Van egy tablazatom a lakok adataival.
Az egyik oszlop az email cim.
Ha F2-vel belepek a cellaba es entert nyomok utanna a cella klikkelheto lesz, es tudok nekik rogton emailt kuldeni.
Tobb mint 600 sorom van, at lehet valahogy formazni egyszerre az oszlopot? Vagy 600+ F2+Entert kell nyomnom? -
rvn_10
senior tag
-
Fferi50
Topikgazda
ÜDv. Van az A tablában a W oszlopban egy képlettel összefűzött szöveg(akár 50 karakter is lehet) a B táblában szintén van egy összefűzött szöveg az AA oszlopan.
Egy függvény kellene ami az A táblában lévő szöveg értékét keresi a B tábla érékei között és ahol a 2 érték megegyezik ott a B tábla E oszlopának értékét kapom vissza az A tábla X oszlopában.
Köszönöm a segítséget.
Szia!
Az INDEX - HOL.VAN függvény kombó, illetve újabb Excel verziókban az XKERES függvény használható.
Üdv. -
rvn_10
senior tag
ÜDv. Van az A tablában a W oszlopban egy képlettel összefűzött szöveg(akár 50 karakter is lehet) a B táblában szintén van egy összefűzött szöveg az AA oszlopan.
Egy függvény kellene ami az A táblában lévő szöveg értékét keresi a B tábla érékei között és ahol a 2 érték megegyezik ott a B tábla E oszlopának értékét kapom vissza az A tábla X oszlopában.
Köszönöm a segítséget.
-
föccer
nagyúr
Szia!
A fileokat begyűjtő ciklus elé:On Error Resume NextA Workbooks.Open utasítás után:If Err=0 Then' Ide jönnek a sikeres megnyitás utáni műveleteka fájlbegyűjtő ciklus Next utasítása elé (ami most az utolsó sor)Else' Ide jön a hibakezelő 2 sorod +Err=0End If
A folyamat (makró) legvégén pedig On Error Goto 0 - a hibakezelés visszaadása a VBA-nak.
Üdv.Sima liba. Azt gondoltam, hogy ennél furfangosabb a dolog, minthogy egy sima if then else-be bele kell fogni.

Köszönöm, ismét tanultam
üdv, föccer
-
Fferi50
Topikgazda
Jó reggelt!
On Error hibakezelés kérdésem következik.

Ha egy for ciklusban nyitom a fájlokat, de a fájl nem található, akkor azt On Error-ral hogy kezeljem le?
Azt már megtaláltam, hogy hogyan lehet megvédeni a kódot, hogy ne álljon le és lépjen a következő ciklusra, de szeretném, ha a makrót futtató táblázatban kapjak erről egy log-ot.
A védendő ciklus:
For i = 2 To Filok_szama + 1
Akt_file = Sheets("Minta_gyujto_alapadatok").Cells(i, 1).Value 'innen jönnek a fájl nevek
Akt_file_cime = Sheets("Minta_gyujto_alapadatok").Cells(i, 3).Value ' itt vannak a teljes elérési úttal a fájlok
Workbooks.Open _ ' ebben történő hibát kellene most kezelnem
Filename:=Akt_file_cime, _
UpdateLinks:=False, _
ReadOnly:=False, _
IgnoreReadOnlyRecommended:=True
Akt_minta_darab = Workbooks(Akt_file).Sheets("Munka1").Range("N1").Value
Keresett_sorazonosito = Akt_minta_darab
Akt_sor = 0
If Akt_minta_darab = 0 Then ' Ha nincs a megnyitott fájlban újonnan kiértékeledő adat, akkor ezt log-ba lerakja a célfájl megfelelő részére. X5 cellában van hogy eddig mennyi log jelzés volt
Cel_ws.Cells(Cel_ws.Range("X5").Value + 6, 24) = Akt_file
Cel_ws.Cells(Cel_ws.Range("X5").Value + 5, 25) = "Új minta darabszáma = 0"
End If
For j = 1 To Akt_minta_darab
Akt_sor = Workbooks(Akt_file).Sheets("Munka1").Cells(Keresett_sorazonosito, 18).Value
Cel_ws.Range(Cel_ws.Cells(Gyujtott_minta_darab + 2, 1), Cel_ws.Cells(Gyujtott_minta_darab + 2, 20)).Value = Workbooks(Akt_file).Sheets("Üzem").Range(Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 1), Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 20)).Value
Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 21).Value = "igen"
Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 22).Value = ("Automatán beolvasva - " & Now)
Gyujtott_minta_darab = Gyujtott_minta_darab + 1
Keresett_sorazonosito = Keresett_sorazonosito - 1
Next
Workbooks(Akt_file).Close _
SaveChanges:=True
NextEnnek a két sornak kellene futnia, On Error-ra.
Cel_ws.Cells(Cel_ws.Range("X5").Value + 6, 24) = Akt_file
Cel_ws.Cells(Cel_ws.Range("X5").Value + 5, 25) = "Forrás fájl nem található"Köszönöm a segítségeteket ismét

Szia!
A fileokat begyűjtő ciklus elé:On Error Resume NextA Workbooks.Open utasítás után:If Err=0 Then' Ide jönnek a sikeres megnyitás utáni műveleteka fájlbegyűjtő ciklus Next utasítása elé (ami most az utolsó sor)Else' Ide jön a hibakezelő 2 sorod +Err=0End If
A folyamat (makró) legvégén pedig On Error Goto 0 - a hibakezelés visszaadása a VBA-nak.
Üdv. -
föccer
nagyúr
Jó reggelt!
On Error hibakezelés kérdésem következik.

Ha egy for ciklusban nyitom a fájlokat, de a fájl nem található, akkor azt On Error-ral hogy kezeljem le?
Azt már megtaláltam, hogy hogyan lehet megvédeni a kódot, hogy ne álljon le és lépjen a következő ciklusra, de szeretném, ha a makrót futtató táblázatban kapjak erről egy log-ot.
A védendő ciklus:
For i = 2 To Filok_szama + 1
Akt_file = Sheets("Minta_gyujto_alapadatok").Cells(i, 1).Value 'innen jönnek a fájl nevek
Akt_file_cime = Sheets("Minta_gyujto_alapadatok").Cells(i, 3).Value ' itt vannak a teljes elérési úttal a fájlok
Workbooks.Open _ ' ebben történő hibát kellene most kezelnem
Filename:=Akt_file_cime, _
UpdateLinks:=False, _
ReadOnly:=False, _
IgnoreReadOnlyRecommended:=True
Akt_minta_darab = Workbooks(Akt_file).Sheets("Munka1").Range("N1").Value
Keresett_sorazonosito = Akt_minta_darab
Akt_sor = 0
If Akt_minta_darab = 0 Then ' Ha nincs a megnyitott fájlban újonnan kiértékeledő adat, akkor ezt log-ba lerakja a célfájl megfelelő részére. X5 cellában van hogy eddig mennyi log jelzés volt
Cel_ws.Cells(Cel_ws.Range("X5").Value + 6, 24) = Akt_file
Cel_ws.Cells(Cel_ws.Range("X5").Value + 5, 25) = "Új minta darabszáma = 0"
End If
For j = 1 To Akt_minta_darab
Akt_sor = Workbooks(Akt_file).Sheets("Munka1").Cells(Keresett_sorazonosito, 18).Value
Cel_ws.Range(Cel_ws.Cells(Gyujtott_minta_darab + 2, 1), Cel_ws.Cells(Gyujtott_minta_darab + 2, 20)).Value = Workbooks(Akt_file).Sheets("Üzem").Range(Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 1), Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 20)).Value
Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 21).Value = "igen"
Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 22).Value = ("Automatán beolvasva - " & Now)
Gyujtott_minta_darab = Gyujtott_minta_darab + 1
Keresett_sorazonosito = Keresett_sorazonosito - 1
Next
Workbooks(Akt_file).Close _
SaveChanges:=True
NextEnnek a két sornak kellene futnia, On Error-ra.
Cel_ws.Cells(Cel_ws.Range("X5").Value + 6, 24) = Akt_file
Cel_ws.Cells(Cel_ws.Range("X5").Value + 5, 25) = "Forrás fájl nem található"Köszönöm a segítségeteket ismét

-
Delila_1
veterán
-
lappy
őstag
Sziasztok!
Az lenne a kérésem, egy olyan segítséghez, hogy a beírt érték után a cella színe megváltozzon. Pl. ha az érték 5-nél kisseb akkor legyen piros, ha 5-7 között legyen zöld, és ha 7-nél nagyobb akkor sárga. Ez vonatkozzon az egész munkalapra, vagy csak egy kijelőlt részére. Nem tudom hogy ez csak makróval oldható meg, vagy lehet e a formátumok vagy feltételek beállításával is.
Előre is köszönöm a segítséget, LaciFeltételes formázás
-
lacipapi
csendes tag
Sziasztok!
Az lenne a kérésem, egy olyan segítséghez, hogy a beírt érték után a cella színe megváltozzon. Pl. ha az érték 5-nél kisseb akkor legyen piros, ha 5-7 között legyen zöld, és ha 7-nél nagyobb akkor sárga. Ez vonatkozzon az egész munkalapra, vagy csak egy kijelőlt részére. Nem tudom hogy ez csak makróval oldható meg, vagy lehet e a formátumok vagy feltételek beállításával is.
Előre is köszönöm a segítséget, Laci -
MEKK
aktív tag
Sziasztok!
Az lenne a kérésem, hogy van egy táblázat, és a benne lévő cellák szíínét szeretném változtatni a beírt értéktől függően. Pl. a beírt érték kisseb 5-nél akkor a cella szine legyen piros, ha 5és 7 között van akkor legyen zöld, ha 7-nél nagyobb akkor legyen sárga. Ez vonatkozzon a munkalap összes cellájára.
Előre is köszönöm a segítséget, Lacihttps://www.youtube.com/watch?v=O3Q77f6uJ_A
-
lacipapi
csendes tag
Sziasztok!
Az lenne a kérésem, hogy van egy táblázat, és a benne lévő cellák szíínét szeretném változtatni a beírt értéktől függően. Pl. a beírt érték kisseb 5-nél akkor a cella szine legyen piros, ha 5és 7 között van akkor legyen zöld, ha 7-nél nagyobb akkor legyen sárga. Ez vonatkozzon a munkalap összes cellájára.
Előre is köszönöm a segítséget, Laci -
föccer
nagyúr
Szia!
Esetleg kipróbálhatnád a következőt:
A másolandó sorok mellé teszel egy jelet (pl. x) az utolsó oszlop után.
Ezután autoszűrő a teljes tartományra - x -re.
Ezután másolás:Pl. Range($A$1:$X200).SpecialCells(xlCelltypeVisible).Copy Destination:=A célterület első cellája.
Ha esetleg így túl lassúnak találod, akkor lehet a látható tartományt területenként is másolni:Dim terulet As RangeFor Each terulet In Range($A$1:$X200).SpecialCells(xlCelltypeVisible).Areasterulet.Copy Destination:=a következő üres sorkövetkező üres sor meghatározásaNext
Ezután kitörlöd az x-eket és kész, vagy bezárod mentés nélkül a forrás fájlt.
Üdv.Bonyolultnak tűnik. Ha már megvannak a sor azonosítók, akkor sokkal egyszerűbb végig menni. Extrém esetben is ~100 sort kell átrakni 1-1 fájlból. Az egész éves "termés" 4500-5000 sor az összes fájlban. Eddig fájlonként, évente 1-2 alkalommal volt frissítve, manuálisan elbabráltam vele. Most havonta 1-2 alkalommal kell végig fésülni az összes fájlt. Eddig alkalmanként 10-50 sort szedtem be egy fájlból, most már 0-10-et. 10xére nőtt a munka, amit kiváltanék

Egyébként megvan a kód, fut is szépen. Hibakezelés lehetne még benne, de majd egyszer.

Most még a forrás fájlokat kell átalakítanom, uniformizálnom, immáron az éles könyvtárban. Elmolyolok vele, oszt ami eddig volt 1-1,5 nap, most lemegy 15 perc alatt. Kár, hogy a felszabadult időt nem tölthetem a családommal

Köszi még egyszer a segítséget.
üdv, föccer
-
Fferi50
Topikgazda
Din tömb kérdését megoldottam. Ahol a forrás fájlban kigyűjtöm a szükséges sorokat, megfordítottam a sorrendet és vissza felé olvasom be az adatokat és előlről töltöm fel. Így a sorrend marad, de nem okoz gondot, hogy a forrás sorok végéről mindig eltünk 1-1 sor azonosító, mert mindig "előtte haladok" 1 sorral. Nem túl elegáns megoldás, de hibátlan

üdv, föcc
Szia!
Esetleg kipróbálhatnád a következőt:
A másolandó sorok mellé teszel egy jelet (pl. x) az utolsó oszlop után.
Ezután autoszűrő a teljes tartományra - x -re.
Ezután másolás:Pl. Range($A$1:$X200).SpecialCells(xlCelltypeVisible).Copy Destination:=A célterület első cellája.
Ha esetleg így túl lassúnak találod, akkor lehet a látható tartományt területenként is másolni:Dim terulet As RangeFor Each terulet In Range($A$1:$X200).SpecialCells(xlCelltypeVisible).Areasterulet.Copy Destination:=a következő üres sorkövetkező üres sor meghatározásaNext
Ezután kitörlöd az x-eket és kész, vagy bezárod mentés nélkül a forrás fájlt.
Üdv. -
föccer
nagyúr
Ismét köszönöm a segítséget.
Minden nap tanul az ember.A másolandó soron nem egymás alatt vannak. Kigyűjtöm függvénnyel azokat a sorokat, amik kellenek nekem, és ezeket a sor számokat fogom berakni az Akt_sor változóban
Apropó, még egy kérdés. Olvasgattam, hogy a VBA a dinamikus tömböket nem szereti és valami más trükk van a használatára. Próbáltam is a Dim Sorazonositok As New List(Of Integer) kifejezéssel megnyitni a tömböt, amibe bepakolnám az azonosítókat, de nem tetszik neki.

Most csináltam egy statikus tömböt és oda rakom fel a forrás fájl megnyitása után a szükséges azonosítókat (a szükséges sorazonosítókat minden forrás fájl, saját maga kalkulálja egy elrejtett munkalapon. 35 ilyen betöntő fájl van, amit a kollégák töltögetnek az ügyviteli rendben.
Igen, tudom hogy mennyivel jobb lenne célszoftverrel, de az nincs

Din tömb kérdését megoldottam. Ahol a forrás fájlban kigyűjtöm a szükséges sorokat, megfordítottam a sorrendet és vissza felé olvasom be az adatokat és előlről töltöm fel. Így a sorrend marad, de nem okoz gondot, hogy a forrás sorok végéről mindig eltünk 1-1 sor azonosító, mert mindig "előtte haladok" 1 sorral. Nem túl elegáns megoldás, de hibátlan

üdv, föcc
-
föccer
nagyúr
Szia!
Csak egy gondolat:
Amikor egy új fájlt nyitsz meg, akkor az lesz az aktuális munkafüzet. Mivel azt írod, hogy egymás után több fájlt is nyitsz, nagy eséllyel nem a cél fájlod az aktív workbook amikor ehhez a sorhoz ér a makró.
Nézd meg, hogy a hibaüzenet esetében melyik munkafüzet aktív.
Mivel a Gyujtott_mintavetelek munkalap előtt nem írsz munkafüzet nevet, így azt az aktuális munkafüzetben keresi - de mivel az aktív munkafüzet az éppen megnyitott forrás fájl, persze nem találja.
Megoldás: a forrás fájl megnyitása után aktíváld ismét a cél fájlt - vagy a munkalapnál használj teljes nevet.
Célszerűnek találnám, ha változóba tennéd a cél munkafüzetet és akkor egyszerűbb lenne a hivatkozás rá:
Mielőtt megnyitnád az első forrás fájlt:dim celwsh as Worksheetset celwsh=Sheets("Gyujtott_mintavetelek")'A mutatott sor pedig:celwsh.Range(celwsh.Cells(Gyujtott_minta_darab + 2, 1), celwsh.Cells(Gyujtott_minta_darab + 2, 20)).Value
Ebben az esetben nem szükséges aktívvá tenni a cél munkafüzetet, mivel a változó tartalmazza a szükséges információkat.
Egyébként egy területet egyben is átmásolhatsz, nem kell soronként menni.
A forrás munkafüzetet is egyszerűbben tudod kezelni, ha változóba teszed a fájl megnyitása után. Egyszerűbb a kód írás is.
Üdv.Ismét köszönöm a segítséget.
Minden nap tanul az ember.A másolandó soron nem egymás alatt vannak. Kigyűjtöm függvénnyel azokat a sorokat, amik kellenek nekem, és ezeket a sor számokat fogom berakni az Akt_sor változóban
Apropó, még egy kérdés. Olvasgattam, hogy a VBA a dinamikus tömböket nem szereti és valami más trükk van a használatára. Próbáltam is a Dim Sorazonositok As New List(Of Integer) kifejezéssel megnyitni a tömböt, amibe bepakolnám az azonosítókat, de nem tetszik neki.

Most csináltam egy statikus tömböt és oda rakom fel a forrás fájl megnyitása után a szükséges azonosítókat (a szükséges sorazonosítókat minden forrás fájl, saját maga kalkulálja egy elrejtett munkalapon. 35 ilyen betöntő fájl van, amit a kollégák töltögetnek az ügyviteli rendben.
Igen, tudom hogy mennyivel jobb lenne célszoftverrel, de az nincs

-
Fferi50
Topikgazda
Sziasztok!
Korábban itt nyújtott segítséget szeretném adaptálni.
Egyik fájlból a másikba akarok másolni.
A cél fájl futtatja a makrót, és a "Gyujtott_mintavetelek" munkalap-ra kell kirakni, soronként. Az aktuális sort a Gyujtott_minta_darab változó tartja számon. Nyilván ez léptetve van. 0-tól indul és a 2- sortül kell kiírtnom.
A forrás fájl neve az Akt_file változó tárolja (egymás után több fájlt nyitok meg) A forrás fájl "Üzem" nevű munkalapjáról 1-20 oszlopok kellenek. Az, hogy a forrás munkalap melyik sora kell éppen, az pedig az Akt_sor változó hozza.
Sheets("Gyujtott_mintavetelek").Range(Sheets("Gyujtott_mintavetelek").Cells(Gyujtott_minta_darab + 2, 1), Sheets("Gyujtott_mintavetelek").Cells(Gyujtott_minta_darab + 2, 20)).Value = Workbooks(Akt_file).Sheets("Üzem").Range(Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 1), Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 20)).ValueNem találom benne a hibát ellenben nem akar lefutni, out of range hibát dob. Az Akt_sor biztosan felveszi a megfelelő értéket, mielőtt ez a sor furna.
MEg tudnátok mondani hogy hol a hiba?
Köszi

Szia!
Csak egy gondolat:
Amikor egy új fájlt nyitsz meg, akkor az lesz az aktuális munkafüzet. Mivel azt írod, hogy egymás után több fájlt is nyitsz, nagy eséllyel nem a cél fájlod az aktív workbook amikor ehhez a sorhoz ér a makró.
Nézd meg, hogy a hibaüzenet esetében melyik munkafüzet aktív.
Mivel a Gyujtott_mintavetelek munkalap előtt nem írsz munkafüzet nevet, így azt az aktuális munkafüzetben keresi - de mivel az aktív munkafüzet az éppen megnyitott forrás fájl, persze nem találja.
Megoldás: a forrás fájl megnyitása után aktíváld ismét a cél fájlt - vagy a munkalapnál használj teljes nevet.
Célszerűnek találnám, ha változóba tennéd a cél munkafüzetet és akkor egyszerűbb lenne a hivatkozás rá:
Mielőtt megnyitnád az első forrás fájlt:dim celwsh as Worksheetset celwsh=Sheets("Gyujtott_mintavetelek")'A mutatott sor pedig:celwsh.Range(celwsh.Cells(Gyujtott_minta_darab + 2, 1), celwsh.Cells(Gyujtott_minta_darab + 2, 20)).Value
Ebben az esetben nem szükséges aktívvá tenni a cél munkafüzetet, mivel a változó tartalmazza a szükséges információkat.
Egyébként egy területet egyben is átmásolhatsz, nem kell soronként menni.
A forrás munkafüzetet is egyszerűbben tudod kezelni, ha változóba teszed a fájl megnyitása után. Egyszerűbb a kód írás is.
Üdv. -
föccer
nagyúr
Sziasztok!
Korábban itt nyújtott segítséget szeretném adaptálni.
Egyik fájlból a másikba akarok másolni.
A cél fájl futtatja a makrót, és a "Gyujtott_mintavetelek" munkalap-ra kell kirakni, soronként. Az aktuális sort a Gyujtott_minta_darab változó tartja számon. Nyilván ez léptetve van. 0-tól indul és a 2- sortül kell kiírtnom.
A forrás fájl neve az Akt_file változó tárolja (egymás után több fájlt nyitok meg) A forrás fájl "Üzem" nevű munkalapjáról 1-20 oszlopok kellenek. Az, hogy a forrás munkalap melyik sora kell éppen, az pedig az Akt_sor változó hozza.
Sheets("Gyujtott_mintavetelek").Range(Sheets("Gyujtott_mintavetelek").Cells(Gyujtott_minta_darab + 2, 1), Sheets("Gyujtott_mintavetelek").Cells(Gyujtott_minta_darab + 2, 20)).Value = Workbooks(Akt_file).Sheets("Üzem").Range(Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 1), Workbooks(Akt_file).Sheets("Üzem").Cells(Akt_sor, 20)).ValueNem találom benne a hibát ellenben nem akar lefutni, out of range hibát dob. Az Akt_sor biztosan felveszi a megfelelő értéket, mielőtt ez a sor furna.
MEg tudnátok mondani hogy hol a hiba?
Köszi

-
TillaT
tag
Szia!
A feltételes formázás "viselkedése" külön tanulmányokat érdemelne, pl. amikor beszúrsz a formázott területre, akkor rögtön többszörözi a szabályokat, terület bontással.
A 2. képen látható szabály "logikája" a hivatkozásban keresendő:
$CQ7 - > a CQ rögzített oszlopból a 7. sorban levő cella. Mivel a formázás a 7-től 10-ig sorra vonatkozik, ezért minden sorban a CQ oszlop megfelelő - 7-től 10-ig - cellája lesz a kiindulási alap. A nem rögzített sor miatt a szabályban levő függvény "mozog" a formázott területtel együtt.
Ugyanezt tapasztalhatod a normál Excel munkalapon is - a képletek a sor/oszlop rögzítésnek megfelelően "mozognak". Szerintem érdemes a hivatkozások magyarázatát átnézni az Excelben.
Üdv.Szia, köszönöm szépen.
"A nem rögzített sor miatt a szabályban levő függvény "mozog" a formázott területtel együtt."
Igen, ez világos. Az értetlenkedésem inkább amiatt van/volt, hogy amíg a "normál Excel munkalapon" a cellákba írt képletek más cellákba történő átmásolásakor a fogadó cellákban 'testre szabódnak", azaz a célcellákban látható képletekben is megjelennek az adott célcella azonosítói (amennyiben nem rögzítettek az oszlop és sorazonosítók), addig a feltételes formázás céltartományba történő átmásolásakor a formázási képletek csak a céltartomány első cellájában veszik fel a cella azonosítókat, és a tartomány többi cellájában is az első célcella azonosítóit tartalmazó képletek lesznek.Nekem -tudatlannak- az lenne a logikus, hogy a céltartomány minden cellájában vegyék fel a célcellák saját azonosítóit a bemásolt formázási képletek, és az érvényesség csak mindig az adott célcellára vonatkozzon.

Persze -elfogadás és megszokás után- azzal sincs bajom, hogy ez nem így van, hanem a képletek célcellákra történő testreszabása helyett a formázási tartomány megadásával van lehetőség a képlet érvényességének kiterjesztésére.
Ha nem lennék olyan merev, biztosan nem értetlenkednék és akadnék fel ezen.
"Szerintem érdemes a hivatkozások magyarázatát átnézni az Excelben."
Így teszek. -
Fferi50
Topikgazda
A logikáját nem értem.
Számomra az lenne a logikus, hogy az 'A6' formátumának a többi cellába való bemásolása után a formázó képletek mindig az adott cellára vonatkoznának.
Tehát az 'A7' cella formátumának beállítása -képlet szerint is- az 'AT7', 'CQ7', 'CL7' cellák tartalmától tartalmától függ. És így tovább az 'A' oszlopbelim cellák formázása mindig az azonos sorban lévő 'AT', 'CQ', 'CL' oszlopokban lévő cellák tartalmától.
Tehát, ha a képletek a bemásolás után mindig az utolsó két kép szerint alakulnának.Azt nehéz felfognom, hogy a 2. kép szerinti bemásolás esetén minden cellában ugyanaz a képlet, és a hatást (formázást) az érvényesség kiterjesztésével éri el a program.
Az is segítség nekem, ha ajánlotok a témában valami releváns szakirodalmat.
Előre is köszönöm!Szia!
A feltételes formázás "viselkedése" külön tanulmányokat érdemelne, pl. amikor beszúrsz a formázott területre, akkor rögtön többszörözi a szabályokat, terület bontással.
A 2. képen látható szabály "logikája" a hivatkozásban keresendő:
$CQ7 - > a CQ rögzített oszlopból a 7. sorban levő cella. Mivel a formázás a 7-től 10-ig sorra vonatkozik, ezért minden sorban a CQ oszlop megfelelő - 7-től 10-ig - cellája lesz a kiindulási alap. A nem rögzített sor miatt a szabályban levő függvény "mozog" a formázott területtel együtt.
Ugyanezt tapasztalhatod a normál Excel munkalapon is - a képletek a sor/oszlop rögzítésnek megfelelően "mozognak". Szerintem érdemes a hivatkozások magyarázatát átnézni az Excelben.
Üdv. -
TillaT
tag
... és még mindig feltételes formázás. ... és még mindig kínok.
Az 'A6' cella formázottsága a 'AT6', 'CQ6', 'CL6', tartalmától függ.
Az 'A7' cella formázottsága a 'AT7', 'CQ7', 'CL7', tartalmától függ.
...
Az 'A10' cella formázottsága a 'AT10', 'CQ10', 'CL10', tartalmától függ.
...
...
Az 'A100' cella formázottsága a 'AT100', 'CQ100', 'CL100', tartalmától függ.- Az 'A6' cellában beállítok néhány feltételt az 'A6' cella formázására.

- Majd a formázás másoló ikonra 1x kattintva másolom az 'A6' cella formázottságát, és beillesztem az 'A7:A10' tartományba. Ezután az 'A7:A10' bármelyik cellájára kattintva a feltételes formázás menü választása esetén az alábbi beállítást látom.

- Ha a formázás másolását és beillesztését úgy oldom meg, hogy az 'A6' cellán állva 2x kattintok a formázás másolására, majd egyesével illesztem be a formátumot az 'A7', 'A8', 'A9', 'A10' cellákba, akkor pedig az alábbi állapotokat kapom.


Mindegyik esetben az elvártak szerint működik a feltételes formázás. MIÉRT?
A logikáját nem értem.
Számomra az lenne a logikus, hogy az 'A6' formátumának a többi cellába való bemásolása után a formázó képletek mindig az adott cellára vonatkoznának.
Tehát az 'A7' cella formátumának beállítása -képlet szerint is- az 'AT7', 'CQ7', 'CL7' cellák tartalmától tartalmától függ. És így tovább az 'A' oszlopbelim cellák formázása mindig az azonos sorban lévő 'AT', 'CQ', 'CL' oszlopokban lévő cellák tartalmától.
Tehát, ha a képletek a bemásolás után mindig az utolsó két kép szerint alakulnának.Azt nehéz felfognom, hogy a 2. kép szerinti bemásolás esetén minden cellában ugyanaz a képlet, és a hatást (formázást) az érvényesség kiterjesztésével éri el a program.
Az is segítség nekem, ha ajánlotok a témában valami releváns szakirodalmat.
Előre is köszönöm! -
TillaT
tag
... és még mindig feltételes formázás. ... és még mindig kínok.
Az 'A6' cella formázottsága a 'AT6', 'CQ6', 'CL6', tartalmától függ.
Az 'A7' cella formázottsága a 'AT7', 'CQ7', 'CL7', tartalmától függ.
...
Az 'A10' cella formázottsága a 'AT10', 'CQ10', 'CL10', tartalmától függ.
...
...
Az 'A100' cella formázottsága a 'AT100', 'CQ100', 'CL100', tartalmától függ.- Az 'A6' cellában beállítok néhány feltételt az 'A6' cella formázására.

- Majd a formázás másoló ikonra 1x kattintva másolom az 'A6' cella formázottságát, és beillesztem az 'A7:A10' tartományba. Ezután az 'A7:A10' bármelyik cellájára kattintva a feltételes formázás menü választása esetén az alábbi beállítást látom.

- Ha a formázás másolását és beillesztését úgy oldom meg, hogy az 'A6' cellán állva 2x kattintok a formázás másolására, majd egyesével illesztem be a formátumot az 'A7', 'A8', 'A9', 'A10' cellákba, akkor pedig az alábbi állapotokat kapom.


Mindegyik esetben az elvártak szerint működik a feltételes formázás. MIÉRT?
-
TillaT
tag
Egy megoldás:
Private Sub Worksheet_Change(ByVal Target As Range)If Len(Target.Value) = 3 ThenApplication.EnableEvents = FalseTarget = Target & ""Range(Target.Address).Characters(2, 1).Font.ColorIndex = 3Application.EnableEvents = TrueEnd IfEnd SubSzám esetén az Excel azonnal dátummá alakítja a beírt értéket, ezért kell szöveggé alakítani.
Köszönöm, hasonlóan oldottam meg én is.
-
Delila_1
veterán
Egy megoldás:
Private Sub Worksheet_Change(ByVal Target As Range)If Len(Target.Value) = 3 ThenApplication.EnableEvents = FalseTarget = Target & ""Range(Target.Address).Characters(2, 1).Font.ColorIndex = 3Application.EnableEvents = TrueEnd IfEnd SubSzám esetén az Excel azonnal dátummá alakítja a beírt értéket, ezért kell szöveggé alakítani.
Új hozzászólás Aktív témák
-
51100 - 51001
54996 - 54001 54000 - 53901 53900 - 53801 53800 - 53701 53700 - 53601 53600 - 53501 53500 - 53401 53400 - 53301 53300 - 53201 53200 - 53101 53100 - 53001 53000 - 52901 52900 - 52801 52800 - 52701 52700 - 52601 52600 - 52501 52500 - 52401 52400 - 52301 52300 - 52201 52200 - 52101 52100 - 52001 52000 - 51901 51900 - 51801 51800 - 51701 51700 - 51601 51600 - 51501 51500 - 51401 51400 - 51301 51300 - 51201 51200 - 51101 51100 - 51001 51000 - 50901 50900 - 50801 50800 - 50701 50700 - 50601 50600 - 50501 50500 - 50401 50400 - 50301 50300 - 50201 50200 - 50101 50100 - 50001 50000 - 48001 48000 - 46001 46000 - 44001 44000 - 42001 42000 - 40001 40000 - 38001 38000 - 36001 36000 - 34001 34000 - 32001 32000 - 30001 30000 - 28001 28000 - 26001 26000 - 24001 24000 - 22001 22000 - 20001 20000 - 18001 18000 - 16001 16000 - 14001 14000 - 12001 12000 - 10001 10000 - 8001 8000 - 6001 6000 - 4001 4000 - 2001 2000 - 1
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- OS, alkalmazások
- Microsoft Excel topic
- (kiemelt téma)
- Steam Deck
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Meglepően árazta az AMD a Ryzen AI Halo minigépet
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Milyen egeret válasszak?
- Bundle topik
- Milyen légkondit a lakásba?
- EAFC 26
- Hitelkártyák használata, hitelkártya visszatérítés
- 5.1, 7.1 és gamer fejhallgatók
- További aktív témák...
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- HP. Laptop. i5. Model: 15-da1002nq
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap
- Eladó PC játékok - sok ritkaság!!!
- MICROSOFT Surface Book 2,13.5", i5-7200U,8GB RAM,256GB SSD,WIN11
- Bomba ár! Lenovo ThinkPad X12 Detachable i5-11G I 16GB I 512SSD I FHD+ Touch I Cam I W11 I Gari!
- 261 - Lenovo LOQ (17IRX10) - Intel Core i7-14700HX, RTX 5070
- SzoftverPremium.hu
- ÚJ Lenovo IdeaPad Slim 5 Intel Core U5 125H, 32GB, 1TB, IPS 60Hz
Állásajánlatok
Cég: aiMotive Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


Totál káosz. Szóval ide próbáltam csinálni egy táblát, de annyira funkciószegény a régi verziója az O365 natív tömbfüggvényeihez képest, hogy inkább rábíztam asszoynyágra h győzze meg a főnökeit, hogy frissítsenek O365-re 
Én már nem tudok ilyen trükköket.
Elnézést ha nagyon amatőr a kérdés





