- Mobil flották
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Poco X6 Pro - ötös alá
- Telekom mobilszolgáltatások
- Érintésnélküli fizetési megoldások - PayPass via NFC
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Honor 200 Pro - mobilportré
- Milyen okostelefont vegyek?
- Poco F3 - a mindenes, de nem mindenkinek
- Android alkalmazások - szoftver kibeszélő topik
Hirdetés
-
Friss játéktrióhoz készült az új GeForce driver
ph A WHQL minősítésű, 555.99-es eszközillesztő hibajavításokban is bővelkedik.
-
AI-alapú, mobilos lopásgátlót tesztel a Google
it Kitalált a mobilokra egy AI-alapú lopásgátló funkciót a Google – Brazíliában kezdi el tesztelni.
-
Íme a Valorant trófea/achievement listája
gp Nem sokkal a hivatalos bejelentés után máris felbukkantak a megszerezhető eredmények.
-
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
-
Kobe
veterán
sajna nem szazas az atirat, az egesz makro ezzel a megoldassal Type mismatch errora fut
-
Kobe
veterán
hello
egy kis segitseg kellene, valami intelligens lookup figgvenyre lenne szuksegem, amit makroba is eleg konnyu implementalni.
Adott egy lista, sok szaz sorral, par alapveto oszloppal.
Flotta Rendszam Datum 1 Datum 2 Datum 3 Calculated
123456 12345601 1/1/2014 1/28/2014 1/29/2014
123456 12345604 1/1/2014 1/18/2014 1/31/2014
123456 12345603 1/5/2014 1/7/2014 1/19/2014
123457 12345701 1/1/2014 1/28/2014 1/29/2014
123458 12345802 1/1/2014 1/18/2014 1/31/2014
123459 12345901 1/5/2014 1/7/2014 1/19/2014
123459 12345902 1/1/2014 1/28/2014 1/29/2014
123459 12345904 1/1/2014 1/18/2014 1/31/2014Egy olyan fuggvenyre lenne szuksegem, amivel az excel kepes eldonteni, hogy az 1 flottahoz tartozo kocsik kozul melyiknek a legmagasabb a rendszama. Erre azert lenne szuksegem, mert a legmagasabb rendszammal rendelkezo kocsiknal pl a calculated mezobe a Datum 3 - Datum 2 kulonbsege kell keruljon, az annal kisebb rendszamunal meg Datum 3 - Datum 1 lenne a keplet.
Vagyis pl azon sorok kozott, ahol a Flotta = 123456, nezze meg, melyik az a sor ahol a rendszam oszlopban a elgmagasabb ertek van
Ezt az osszehasonlitast csak es kizarolag az egy flottahoz tartozo sorok kozotti adatokra kellene elvegezni, kicsit bonyolitja, hogy vannak olyan flottak is amiben csak 1 kocsi van, ergo a rendszam oszlopban elvo 1etlen ertek egyben a legnagyobb is.
azt gondolom, hogy a calculated mezobe hogy milyen kivonast vegezzen, egy sima IF fuggvennyel beirhato, kerdes csak a feltetelt hogyan lehet igy megadni, hogy az az osszehasonlitas legyen.
-
Kobe
veterán
Hello
Egy kicsit valtoztak az igenyek sajna :S Tehat adott az alabbihoz hasonlo tabla, van egy flotta azonosito, illetve a flottan belul vannak rendszamok.
- 1 flottan belul legalabb 1 rendszam van
- 1 flottan belul maximum 2 rendszam van, egyik kisebb, masik nagyobb erteku, am a szamozas vege nem feltetlenul numerikusan koveti egymast (tehat a 01 utan nem feltetlen 02 jon, hanem 04 pl)
- a legnagyobb ill legkisebb rendszamra vonatkozo adatokat eddig kulon sorokban taroltuk le
- a sorok szama valtozo, heti jelentesrol leven szoEzt szeretnem egy kicsit makroval megtrukkozni, ugy hogy
- az egy flottakhoz tartozo adatokat egy sorban mutassa, kulon sorok helyett. Igazabol a legkisebb rendszamu sorbol nekem csak a rendszam es csak az egyik datum oszlop kellene:
- abba a sorba, ahol az adott flottan belul a legnagyobb a rendszam, egy uj oszlopba masolja be a legkisebb rendszam erteket, illetve amelle egy masik oszlopba a datumot
- majd pedig torolje ki azt a sort, amiben a legkisebb rendszam volt letarolva
- ez a rutin fusson vegig a valtozo szamu sor osszes soranEzt meg lehet valahogy oldani makroval ?
Flotta Rendszam Datum 1 Datum 2 Datum 3 Calculated
123456 12345601 1/1/2014 1/28/2014 1/29/2014
123456 12345604 1/1/2014 1/18/2014 1/31/2014
123457 12345701 1/1/2014 1/28/2014 1/29/2014
123458 12345802 1/1/2014 1/18/2014 1/31/2014
123459 12345901 1/5/2014 1/7/2014 1/19/2014
123459 12345902 1/1/2014 1/28/2014 1/29/2014 -
Kobe
veterán
sziasztok
VBA-val kapcsoaltban kellene kis help
Egy makroval szeretnek megnyitni egy filet - ez egy SAP-bol letoltott sima local file, text tab delimited ("Text with columns" formatum, ha ez tobbet mond).
Olyan modon szeretnem megnyitni, hogy a user tallozza ki magat a nyersfilet a sajatgeperol (tehat nem en adom meg az eleresi utvonalat), azonban egy kicsit bajban vagyok a formatumokkal.A tallozas resze megy is, de a kod nem kepes a text tab delimited filet megnyitni, hiaba jatszottam a formatumokkal / filetipusokka, minding type mismatch hibara fut az If feltetelnel:Sub FormatRawDownload()
Dim strFileToOpen As String
MsgBox "Please select the downloaded raw report to open"
strFileToOpen = Application.GetOpenFilename _
(Title:="Please select the downloaded raw report to open", _
FileFilter:="Excel Files *.xls* (*.xls*),")
'FileFilter:="Text Files *.txt* (*.txt*),")
If strFileToOpen = False Then
MsgBox "No file selected.", vbExclamation, "Sorry!"
Exit Sub
Else
Workbooks.Open Filename:=strFileToOpen
End If
End Submit kellene hegeszteni rajta ?
[ Szerkesztve ]
-
Kobe
veterán
sziasztok
van egy tablazatom, amiben az adatok kb igy neznek ki, az elso oszlopban ugyanilyen sorrendben szerepelnek
Buda
E1
E2
E3
E4
...
E128
Pest
E1
E2
E3
...
E48
Erd
E1
E2
E3
...
E12Azt szeretnem megcsinalni, hogy a B oszlopot toltse fel a Buda, Pest ill Erd szavakkal, nyilvan azoknal a teteleknel ahol Buda alatt szerepelt, ott Buda, utana valtson at Pestre es amig az erdi tetelek listaja nem jon Pestet, utana erdet irjon ki
ezt milyen formulaval tudnam megtenni ?
Legjobb lenne vmi VBA-s nyelvezetben megragadni igazabol
koszi
-
Kobe
veterán
-
Kobe
veterán
sziasztok
ujfent 2 vba-s kerdes
az egyik: van egy oszlopom, amiben 2 fajta ertek van (Szoveg1, Szoveg2). A mellette levo oszlopba szeretnek egy if fuggvennyel beirni egy erteket, ha pl D2 = Szoveg1 akkor E2=1, ha D2=Szoveg2, akkor E2=2
megcsinaltam VBA-val, de valamiert Type mismatch hibara fut
last = Cells.Find(what:="*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
For i = 2 To last
If Range("D2:D" & last) = "EDE" Then Range("E2:E" & last) = "2" Else Range("E2:E" & last) = "1"
Next iitt mi lehet a problem? Type mismatch valoszinu valami formatum nemegyezosegbol johet, ezert egy masik paranccsal probaltam elotte a D oszlop tartalmat szovegge formazni
Range("D2:D" & j).NumberFormat = "@"
de igy sem mukodott. Tipp, hogy mi lehet meg ?
illetve a nagyobb lelegzetvetelu dolog. Amennyiben megvan a kesz, formazott tablazatom, egy masik worksheeten van egy urlapom
Azt szeretnem, ha a makro a tablazat midnen soraval feltoltene az urlapot, es elmentene egy kulon tabra.Szoval ha van 10 db sorom a tablazatban, akkor 10 tabon kulon letrehozna 1-1 urlapot neki, es a tablaban adott sorban tarolt adatokkal kitoltene.
Pl 1es sor, elso urlap feltoltve, 2es sor masodik tab urlapja, stb
erre valakinek otlete ?
-
Kobe
veterán
válasz szatocs1981 #28830 üzenetére
Elfelejtettem bekopizni, benne van az a sor is....de ettol a type mismatch fennall.
Delila: mukodik, koszi....kicsit kezdek mar belegajdulni, kiszurhattam volna a hulyeseget
[ Szerkesztve ]
-
Kobe
veterán
sziasztok
ujfent egy kis vba-s help kene. Egy reszet mar megoldottam.
Van egy workbookom, amiben a Sheet1 en vannak az alapadatok egy tablazat formajaban. Pl 10 oszlop, headerrel ellatva, valtozo szamu sorral.
Van egy alap templatem is a fileban. A makro ezt az alap templatet lekopizza ahanyszor, ahany sor Sheet1 en van.
Tehat van pl 12 sorom Sheet 1en, es van hozza 12db masik sheetem.
Szeretnem a makrot boviteni, hogy az alap tablambol a masodik sor tartalmat a masodik sheet megadott cellaiba tudnam masolni, a harmadik sort a harmadik sheetre, es igy tovabb ahany darab sor van.
Mivel valtozo szamu sorom lesz, ezert mindenkepp dinamizalva szeretnem (most 12, holnap lehet 15), illetve a annyi kulonbseg van az alapadat sheet es a target sheet kozott, hogy elobbiben sorokban vannak az adatok, utobbin pedig kulonbozo helyekre menne - igy szeretnem lehetoleg en megadni hogy pl az A oszlop tartalmat milyen cellaba iranyitsa at a sheeteken.
Pl Sheet1 / A2 -> Sheet2 / B3
Sheet1 / A3 -> Sheet3 / B3
Sheet1 / A4 -> Sheet4 / B3ilyen problemaval talalkozott mar valaki ? probaltam neten valami sample makrot keresni, de ilyen jellegut sehol nem talaltam sajna
-
Kobe
veterán
válasz Fferi50 #28843 üzenetére
Hello
A celcella minden sheeten ugyanaz. Az igazi fejtores az, hogy elore nem tudom megmondani hany sor lesz a tablaban, ebbol kifolyolag hany sheetet kell letrehozni,es hanyszor kell majd masolni - a szamozott sheetekkel ezert nem erdemes vegigzongorazni, ill nem is lehet.
Valahogy a sorok szama alapjan szeretnem dinamizalni,hogymindig annyiszor masoljon ahany sor van.Eddig for each el ill do untillal probaltam sikertelen. Biztos megoldhato csak az en skillem keves meg
[ Szerkesztve ]
-
Kobe
veterán
válasz Delila_1 #28846 üzenetére
szia
koszi szepen, majdnem tokeletes
ezzel ugye annyi darab uj sheetet hoz letre, ahany sor van. De ha en azt szeretnem, hogy uj, teljesen ures sheetek helyett egy mar meglevo sheetet (nevezzuk Template nek) masoljon le annyiszor, ahany darab van, es azokra illessze be az adatokat, mit kellene hozza atirni? -
Kobe
veterán
szaisztok
VBA kóddal lenne egy kis gondom.
Van egy sharepoint eltöltős makróm, és azt szeretném, ha az Excel fileban - tartalomtól, worksheetek számától stb függetlenül, a legvégén mindig cska az a 2 worksheet (2 riport) maradna, amit én töltök leEz egy heti riport, a worksheetek elnevezése a makró által a ehtek számával egyenlő
Weeknaming = Format(Date, "ww")
a letöltés előtt megvizsgálom, hogy a fileban van e már ilyen elnevezésű worksheet, ha igen, kitörlöm és az új letöltés újra létrheozza friss adatokkal:
For i = 1 To Worksheets.Count
If Worksheets(i).Name = "Valami_A_" & Weeknaming Then
worksheetexists = True
Application.DisplayAlerts = False
'Worksheets.Add
Worksheets("Valami_A_Week_" & Weeknaming).Delete
Exit For
End If
Next ijön a letöltés, ez utolsó lépésként létrehoz egy új worksheetet és a végén elnevezi a fenti logika szerint:
ActiveSheet.Name = "Valami_A_" & Weeknaming
+ a program legvégén még ráeresztek egy biztonsági ellenőrzést, végignézi az összes worksheetet a neve alapján és ahol a név nem a megadott dátumfomátum szerint megy, azt törölje ki:
For i = 1 To Worksheets.Count
If Worksheets(i).Name <> "Valami_A_" & Format(Date, "ww") Then
worksheetexists = True
Application.DisplayAlerts = False
Worksheets(i).Delete
Exit For
End If
Next iViszont a legutolsó része nem működik, valamiért ilyen Sheet1, Sheet10, stb nevű worksheeteket simán benne hagy. Illetve pont fordítva működik, csak azt törli ki ahol a WS neve Valami_A_Week 46 volt pl, a többit nem
Mit írtam el hozzá ?
[ Szerkesztve ]
-
Kobe
veterán
válasz Fferi50 #36546 üzenetére
Az exit for - t kiveszem
Van egy kulon sor, a letoltes parancs utolso sora, ami el is nevezi rogton a friss munkalapot valami_a_46 ra
Csak a kovetkezo torles pont a frissen letoltott tabot torli minden mast nem, nekem pedig forditva kene - csak a friss, uj worksheet maradjon meg, minden mas kuka
-
Kobe
veterán
válasz Fferi50 #36555 üzenetére
megoldottam közben, most már fut rendesen
Viszont olyan problémába ütköztem, hogy az egész makrót egy xlam add-inba mentettem VBA projektként. A makró csinál egy custom ribbot tabot ahova bevágja a parancsgombokat, és autoamtikusan ez indulna el, ha az addint elindítom
Azt hogy betöltse a custom ribbont, a ThisWorkbook on belül hviatkoztam meg
Private Sub Workbook_Open()
Call LoadCustRibbon
End SubPrivate Sub Workbook_BeforeClose(Cancel As Boolean)
Call ClearCustRibbon
End Subviszont az xlam-ban induláskor ugye nincs workbook, emiatt nem tölti be.Hogyan, vagy hol kellene másképp emghivatkozni, hogy mégis a ribbonra kerüljenek ?
-
Kobe
veterán
hi
segítség kellene egy tábla adattisztításának autoamtizálásához. van egy makróm ami egy sharepointos felületről letölt táblába (Table1 objectként, már "filterezve") egy listát.
Ebben a táblában 2 db feltétel szerint szeretnék egész sorokat törölni:
1. lépés: a J oszlopban 10 lehetséges érték lehet : aktív, törölt, stb stb. Töröljön ki minden olyan sort a táblából, ahol a J oszlopban Lezárt, Befejezett, Törölt, Várakozik érték van
2. lépés: a fennmaradó adathalmazon a B oszlopban található felhasználónév alapján végezzen még egy törlést: minden olyan sort töröljön ki, ahol a username =/= A, B, C, D, vagy E értékekkel
erre valami ötlet ?
Próbáltam már ahsonlóval, de a Tábla maitt elhasal:With ActiveSheet
.AutoFilterMode = False
With Range("d1", Range("d" & Rows.Count).End(xlUp))
.AutoFilter 1, "*Record Only*"
On Error Resume Next
.Offset(1).SpecialCells(12).EntireRow.Delete
End With
.AutoFilterMode = False
End WithAz egész makró egy xlam-ba van rejtve, egy custom ribbonnal gombokkal vezérelve. Ha esetleg valakinek ötlete van arra, hogy a user neveket, illetve a kitörölendő értékeket hogyan lehetne egy a ribbonról előhívható táblában paraméterezni (pl cehckboxal jelölni mit töröljön ki), az plusz pont
[ Szerkesztve ]
-
Kobe
veterán
válasz Delila_1 #37065 üzenetére
Koszi, kiprobalom
Arra esetleg van tipp, hogy ezeket a szurendo torlendo ertekeket hogy lehetne valami kulon, szrrkesztheto formban letarolni? Azt konnyebb lenne karbantartani, mint mindog a kodot atirni, ha pl a userekben vagy a kiszurni kivant statuszok ban valtozas van
Pl elindul a sub egybribbonrol vezerelt gombbal, es a sub elejen rogton bejonne egybform - pl bepipalja melyik statuszokat szurje ki es melyik userre toltse le
-
Kobe
veterán
sziasztok
van egy Excel táblám, amiben a B és C oszlopokban nevek vannak (kb 100-200 különböző név). Azt szeretném, ha egy makró kitörölné azokat a sorokat (az egész sort) ahol a B és C oszlopok bármelyikében nem egyezik meg az általam kívánt nevekkel (magyarul szeretném csak a nekem érdekes 4-5 névre emgtartani a sorokat).
A nevek a 2 oszlopban lehetnek eltérőek, akár B ben vagy C ben szerepelhet az általam ekresett érték, és ha egyikben sem találta meg, akkor töröljön csak sort,, ha a kettő közül bármelyikben szerepel, maradhat.Idáig jutottam, de nem működik, tuti elírtam valamit. Mi lenne helyesen ?
Dim LR As Long
Application.ScreenUpdating = False
LR = Cells(Rows.Count, 1).End(xlUp).Row
For i = LR To 2 Step -1
If Range("B" & i:"C" &i) <> "Gipsz Jakab" Or "Rezső Dezső" Then
Range("B" & i).EntireRow.Delete Shift:=xlUp
End If
Next i
Application.ScreenUpdating = True -
Kobe
veterán
válasz Delila_1 #37370 üzenetére
Koszi.
A vege eleg szep kis lista lesz....ha minden userre 2db bejegyzest kell nyilvantartani
Ha letarolom a user listat egy worksheetben, akkor van arra mod hogy a "Gipsz Jakab" helyere meghivatkozzam azt? (egyszerubb egy listat karbantartani mint egy hardcodeolt reszt a programban)
-
Kobe
veterán
válasz Delila_1 #37372 üzenetére
kipróbáltam, köszi.
Sajna ennél a sornál elhasal:
If WF.CountIf(Range("J1:J6"), Range("B" & i)) + WF.CountIf(Range("J1:J6"), Range("C" & i)) = 0 Then
Ez egy xlam file, amiben van egy rejtett workbook (ThisWorkbook), illetve egy rejtett Worksheet (Usernames).
Azt csináltam, hogy a userneveket erre a rejtett worksheet A oszlopába írtam, A2:A7 mezőkbe listáztam, majd a makróval a hivatkozást átírtam:If WF.CountIf(Worksheets("Usernames").Range("A2:A7"), Range("B" & i)) + WF.CountIf(Worksheets("Usernames").Range("A2:A7"), Range("C" & i)) = 0 Then
így viszont nem tudja lekezelni. Lehet mert rejtett? (szeretném xlam formátumban tartani a dolgot)
-
Kobe
veterán
válasz Cilindrik #37381 üzenetére
Adat - Szovegbol oszlopok
Ott a fuggoleges specko karaktert beadod separatornak es szetszedi (de space alapjan is szetcsapja, csak minden szot kulon oszlooba). Ha az egyszinueket egy oszlopba akarod rakni akkor szetszedes utan raeresstesz egy CONCATENATE fuggvenyt a fekete szoveges oszlopokra, meg egyet a pirosakra
-
Kobe
veterán
üdv
a kérdésem: van egy .xlam addinom, ami egy adott adatforrásból letölt egy csomó adatot, ömlesztve. Ezekből az adatokból formázok egy riportot, két lépésben, először felhasználók, majd utána státusz alapján kiűszűröm a nem relevánsakat, utána amradék csinosítgatás
Viszont a felhasználók változhatnak, illetve a státusz is amit látni szeretnék, így szeretném valamiylen módon dinamikussá tenni a választásokat, hogy a további lépéseket kire végezze el.
Gondolotam rá. Pl a makróba berakok egy sort, ami egy adott lépésnél, letöltés után feldobna egy űrlapot, ahol szerepelne az összes felhasználó neve illetve a státuszok, és ott lehetne választani hogy mi maradjon benne, és a további formázás lépéseket az ott megadott választás alapján végezné
(korábban a userek és státuszok karbantartása egy rejtett excel munkalapon történt de lehet egyszerűbb lenne akkor mrá űrlapon keresztül vezérelni a userek hozzáadását eltávolítását is pl)Erre valakinek van valami útmutatója, xlam ba hogy lehetne ilyet lekódolni ? vagy ahsonló referenciát tudna mutatni ?
-
Kobe
veterán
sziasztok
van egy vezérlő űrlapom, amin a felhasználó kiválaszthatja, hogy milyen user nevekre és miylen státuszú tételekre szeretne egy riportot futtatni. Van pl 15 user, és 10 státusz, ő maga összeválogathatja, hogy mire akarja futtatni
Ezt úgy oldottam emg, hogy vannak LsitBox ok a formon, az egyikben megjelenik az összes választható, és a user átmozgatja a kiválasztott tételeket egy üres ListBox ba
Ezután futtatja a riportot. A nyers riportból pedig kitörlődik midnen olyan felhasználó és státusz sora ami nincs benne a választásban.
Eddig úgy oldottam ezt meg hogy egy háttér-worksheeten tároltam ezeket az értékeket, és onnan olvastam ki mi nem kell, és ami nem felelt meg, annak a sorát törölte:
Dim WF As WorsheetFunction
Set WF = Application.WorksheetFunction
'LR = Cells(Rows.Count, 2).End(xlUp).Row
For i = LR To 2 Step -1
If WF.CountIf(ThisWorkbook.Worksheets("Usernames").Range("A2:A20"), Range("B" & i)) + WF.CountIf(ThisWorkbook.Worksheets("Usernames").Range("A2:A20"), Range("C" & i)) = 0 Then
Rows(i).EntireRow.Delete Shift:=xlUp
End If
Next i
Application.ScreenUpdating = Trueezt szeretném átírni úgy, hogy ne a worksheet Range-re kelljen hivatkozni, hanem a Username nevű Form ListBox2-es listboxában található értékekre:
If WF.CountIf(ThisWorkbook.Worksheets("Usernames").Range("A2:A20"), Range("B" & i)) + WF.CountIf(ThisWorkbook.Worksheets("Usernames").Range("A2:A20"), Range("C" & i)) = 0 Then
Rows(i).EntireRow.Delete Shift:=xlUptudna valaki segíteni ezzel?
-
Kobe
veterán
válasz Fferi50 #37523 üzenetére
Mert egy user neve a ket oszlop barmelyikeben elofordulhat (az oszlopok kulonbozo szerepkorokre utalnak, es ahol a ketto vmelyikeben talalat can, az a sor marad
Igazabol nem a 2 feltetel figyelese okoz gondot (mind a ket oszlopnal ugyanannak a listboxnak az ertekeit kellene nezni) hanem a range listboxra cserelese -
Kobe
veterán
válasz Fferi50 #37525 üzenetére
megoldottam egyszerűbben, kiirattam a listbox értékeit egy ideiglenes táblába és onnan beolvasom/leürítem az ideiglenes táblát
Viszont imádom amikor az ember összerak egy komplett eszközt és a legutolsó mozzanatnál az egész elkezd ActiveX object control hibákat dobni, a relative komplex formom addig flottul működő gombjaitól egész egyszerűen meghal ay Excel, kifagy....
-
Kobe
veterán
sziasztok
van egy xlam Excel Addinom, ami korábban frankón működött, azonban Office365 váltás miatt a custom ribbonba töltés funkció nem megy valamiért
Ribbonra új fül betöltése:
Sub LoadCustRibbon()
'this is to paste custom buttons on the Excel ribbon when opening the file
Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String
hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"
'in case new buttons need to be added or action modified, please update it below
ribbonXML = "<mso:customUI xmlns:mso='http://schemas.microsoft.com/office/2009/07/customui'>" & vbNewLine
ribbonXML = ribbonXML + " <mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + " <mso:qat/>" & vbNewLine
ribbonXML = ribbonXML + " <mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + " <mso:tab id='reportTab' label='Cím1'' insertBeforeQ='mso:TabFormat'>" & vbNewLine
ribbonXML = ribbonXML + " <mso:group id='reportGroup' label='Cím1' autoScale='true'>" & vbNewLine
ribbonXML = ribbonXML + " <mso:button id='runReport1' label='Riport' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='AppointmentColor1' onAction='Callback5'/>" & vbNewLine
ribbonXML = ribbonXML + " <mso:button id='runReport4' label='Save workbook' " & vbNewLine
ribbonXML = ribbonXML + "imageMso='AppointmentColor4' onAction='Callback4'/>" & vbNewLine
ribbonXML = ribbonXML + " </mso:group>" & vbNewLine
ribbonXML = ribbonXML + " </mso:tab>" & vbNewLine
ribbonXML = ribbonXML + " </mso:tabs>" & vbNewLine
ribbonXML = ribbonXML + " </mso:ribbon>" & vbNewLine
ribbonXML = ribbonXML + "</mso:customUI>"
ribbonXML = Replace(ribbonXML, """", "")
Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile
End Subezzel pedig bezáráskor leürítem:
Sub ClearCustRibbon()
'this is to remove the custom embedded ribbon elements from the Excel ribbon when closing the file
Dim hFile As Long
Dim path As String, fileName As String, ribbonXML As String, user As String
hFile = FreeFile
user = Environ("Username")
path = "C:\Users\" & user & "\AppData\Local\Microsoft\Office\"
fileName = "Excel.officeUI"
ribbonXML = "<mso:customUI xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" & _
"<mso:ribbon></mso:ribbon></mso:customUI>"
Open path & fileName For Output Access Write As hFile
Print #hFile, ribbonXML
Close hFile
End Subarra gondoltam az Office365 talán máshol tárolja az Excel.OfficeUI filet, de nem változott.
Esetleg a séma elérése változott ? http://schemas.microsoft.com/office/2009/07/customui' -
Kobe
veterán
Nah, kiprobaltam reszletesebben a kodot
Frankon felhoz egy uj menublokkot, at is formaztam a benne tslslhato 2 gombot hogy azt csinalja amire nekem szuksegem lenne
Es itt jon a problem: az evyik gomb egy urlapot indit el, amkt vegre is hajt popecul, viszont az urlap elinditasaval egyidoben eltunik ez a kulon blokk a menubol, ami nem tul szerencses
Probaltam hogy az urlap betoltesekor meghivstkozom elso lepesben a Workbook_Open subot de hibauzenetet dob
-
Kobe
veterán
Kozben megoldottam, a trust center settingsben kell mokolni hozza
Viszont a makro egy masik reszevel bajban vagyok kicsit. Kb ezt csibalja a tool, addin:
Van egy gomb az Addin fulon
A gomb megnyomasa elindit egy formot
A formrol bealliyos utan (adatok kivalasztasa) el lehet inditani egy riportot
A riport egy sharepointrol letoltes excelbeA problemam csak annyi hogy a riport elkeszulte utan maximum az excrl rublikaiba lehet kattintani, menube es egyeb gombokra nem. Szerintem a form rosszul adja vissza a controllt a leyoltes vegeztevel.
Imyenkor alt tabbal vagy manualisan at kell valtani egy masik kepernyore es vissza excelbe, akkor mar lehet a menuben is kattintaniA riportletoltos makro legvegere beraktam egy Unload Form1 statementet de ugy tunik nem eleg
Probaltam. Azt is hogy a form-ot modelessbe toltom be (Userform_Layou ot mokoltam) de ugy sem jo
Esetleg tipl hogy mikent lehetne ezt az atkattintgatast megoldani?
Új hozzászólás Aktív témák
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Kerékpárosok, bringások ide!
- Politika
- Motoros topic
- Nők, nőügyek (18+)
- MediaTek lapkával érkezhet a következő Samsung csúcstablet
- HP notebook topic
- Raspberry Pi
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Renault, Dacia topik
- További aktív témák...