Hirdetés
-
Mobilarena
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Fferi50
Topikgazda
válasz
aviator
#54133
üzenetére
Szia!
Értem én amit írsz, de akkor mégsem azonos a munkafüzet, hiszen nem egyforma a benne levő userform.
Az adatokat stb. tartalmazó részek ugyanolyanok (de a különböző userformok miatt talán itt is van némi különbség).
Ez esetben talán a "front-end" munkafüzet lehetne az, amiben nincs más, csak a verziónak megfelelő userform a hozzá tartozó kódokkal. A többi művelethez pedig a háttérben megnyitja tényleges adatokat tartalmazó munkafüzetet.
Üdv. -
Fferi50
Topikgazda
válasz
aviator
#54131
üzenetére
Szia!
1.) A legegyszerűbb megoldás, ha a jelenlegi O2016-os userek is kapnak O365-öt. Nem hiszem, hogy megoldhatatlan egy olyan munkahelyen, ahol már egyébként van O365 (persze lehet, hogy gépet kell cserélni, licencet bőviteni stb.).
2.)Mivel az O2016 biztosan nem fogja tudni ezután sem a nem támogatott eszközöket - és az általad leírtak alapján ki is írtja azokat - , nincs más lehetőség szerintem, mint az, hogy a régi verziót használó userek számára egy másik munkafüzetet/VBA-t biztosítasz, kihagyva belőle a nem támogatott részeket. Feltételezem, hogy a régi verzió is megoldja azon feladatokat, amiket az új verzióban más eszközökkel kezelsz, ez azon kívül, hogy neked egyszeri többletmunkát okoz, más gondot nem látok.
Az O2016-os verzióju munkafüzet nevében pedig feltűnő módon jelezni érdemes a verziót, illetve mindkettőnél érdemes lehet ezt a gyakorlatot bevezetni.
Sajnos ennél jobb megoldást nem látok kivitelezhetőnek.
Üdv.
Ps.
Létezhet még az a megoldás, hogy az új verzióban is a régi megoldásokat használod....
.......esetleg futás közben adod hozzá az új eszközöket a verzió vizsgálat után, de szerintem ez utóbbi végképp nem éri meg a fáradságot. -
Fferi50
Topikgazda
válasz
aviator
#53778
üzenetére
Szia!
Nem egészen értem. Ha az egyik userformod fut a 2016-os verzióban, a másik pedig csak az 0365-ben, akkor nem a felhasználóra kell bízni a választást, hanem a verziótól függően megjeleníteni neki a verziónak megfelelő formot.
Tehát (konkrét nevek nélküli váz):
if verzió=2016 then
userform2016-os.show
else
userform0365.show
endif
Az O365 esetén akár meg is maradhat a user választási lehetősége, hiszen ott mindkét verzió fut.
Szerintem szét kell választanod a userfomokon futó hívásokat a verzióknak megfelelően, tehát a 2016-os userformban is szerepelni kell azon hívásoknak, amelyek abban a verzióban lefutnak (és benne vannak az 0365-ben is). Ehhez ezeket az eljárásokat a userform moduloktól elkülönített általános modulba kell elhelyezned és igy formokon csak a hívások maradnak.
Üdv. -
válasz
aviator
#51696
üzenetére
Lehet, hogy a Treeview betűkészletével (font) van gond. Válassz valami gyakori, alapértelmezett stb betűt pl. a Tahoma-t, abban nem lehet ilyen gond.

Private Sub CommandButton1_Click()
TreeView1.Nodes.Clear
TreeView1.Nodes.Add Key:="key1", Text:="ÖÜÓŐÚÉÁŰÍ"
TreeView1.Nodes.Add "key1", tvwChild, "key4", "öüóőúéáűí"
End Sub
UI: ha esetleg meg valami szöveges fájlt/egyéb adatforrást stb. dolgozol fel és abból építed fel a treeview elemeit, akkor magában a külső adatok karakterkódolásával lehet gond. -
válasz
aviator
#51690
üzenetére
A Key nem lehet azonos, annak minden esetben egyedinek kell lennie, akár Parent, akár Child esetén.

Helyes
Private Sub CommandButton1_Click()
TreeView1.Nodes.Clear
TreeView1.Nodes.Add Key:="key1", Text:="Same Parent Text"
TreeView1.Nodes.Add Key:="key2", Text:="Same Parent Text"
TreeView1.Nodes.Add Key:="key3", Text:="Same Parent Text"
TreeView1.Nodes.Add "key1", tvwChild, "p1", "Same Child Text"
TreeView1.Nodes.Add "key2", tvwChild, "p2", "Same Child Text"
TreeView1.Nodes.Add "key3", tvwChild, "p3", "Same Child Text"
End SubHelytelen - Parent-nél is mindig key1-t adtam meg, child-eknél meg mindig p1-t.
Private Sub CommandButton1_Click()
TreeView1.Nodes.Clear
TreeView1.Nodes.Add Key:="key1", Text:="Same Parent Text"
TreeView1.Nodes.Add Key:="key1", Text:="Same Parent Text"
TreeView1.Nodes.Add Key:="key1", Text:="Same Parent Text"
TreeView1.Nodes.Add "key1", tvwChild, "p1", "Same Child Text"
TreeView1.Nodes.Add "key2", tvwChild, "p1", "Same Child Text"
TreeView1.Nodes.Add "key3", tvwChild, "p1", "Same Child Text"
End SubAhány eleme van a TreeView-nak, annyi különböző Key kell, fenti képet alapil véve 6 db különböző Key kell, az alábbi képen látható a hiba

-
Fferi50
Topikgazda
válasz
aviator
#48458
üzenetére
Szia!
A Pivot tábla és a belőle készült chart együtt mozog. Ha az egyiket változtatod, változik a másik is.
1. A kimutatásban a mezőlistát megnyitod. Ott látod, hogy az oszlopokban melyik mező szerepel. Azt kiveszed és így csak a Végösszeg marad.
2. A diagramon látszik az oszlop mező. Jobb egérgomb - mező eltávolítása.
Előtte:
Utána:
Üdv. -
Fferi50
Topikgazda
válasz
aviator
#32045
üzenetére
Szia!
"Összefüggő" irodalmat én még nem találtam (igaz,nem is nagyon kerestem) a Kovalcsik könyvön kívül. Sokat segít a makrórögzítés - bár abba elég sok felesleges művelet is bekerül, van pár jó fórum, A Microsoft MSDN, MS expertek fórumai.
Keresni kell a neten és találsz biztosan használhatót kérdés specifikusan.Üdv.
-
Fferi50
Topikgazda
válasz
aviator
#32043
üzenetére
Szia!
Az Excel nem tud ilyet, csak a VBA (a makró).
Makróban a Control.Parent tulajdonsága visszaadja, hogy melyik objektum az adott vezérlő "szülője".
Pl, ha egy Userformon létrehozol egy Frame-et, majd abba beleteszel vezérlőket, akkor
Userform1.Controls(1).Parent is Userform1.Controls(0) igaz értéket ad vissza, mert az első (0 indexű) vezérlő a Frame és a második (1 indexű) vezérlő a Framen belül van.Ezzel kicsit még ügyeskedve, minden vezérlőről megtudhatod, hova tartozik.
A vezérlők különböző tulajdonságai - mérete, színe, rajta levő vezérlők száma stb.szintén lekérdezhető a VBA-ban. Javaslom a HELP tanulmányozását.
Üdv.
-
Delila_1
veterán
válasz
aviator
#26427
üzenetére
Gondolom, az időértéket tartalmazó cellák szöveg formátumúak, azért kell a ":"-ot keresni bennük.
Kijelölöd az oszlopot, és indítod a makrót.Sub Kijelol()
Dim CV As Object, ter As String
For Each CV In Selection
If CV = "" Then
Exit For
Else
If InStr(CV, ":") > 0 Then ter = ter & CV.Address & ","
End If
Next
ter = Left(ter, Len(ter) - 1)
Range(ter).Select
End Sub
Új hozzászólás Aktív témák
Hirdetés
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- Game Pass Ultimate előfizetések 3 - 36 hónapig azonnali kézbesítéssel! 13 hónap ultimate - 50.000 ft
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Microsoft és egyéb dobozos és OEM szoftverek
- Akció!!! Lenovo ThinkPad T14 Gen1 Ryzen5 4650U Refurbished - Garancia
- BESZÁMÍTÁS! Gigabyte H510M i5 10400F 32GB DDR4 512GB SSD GTX 1070 8GB ZALMAN N4 Corsair 550W
- Lenovo X13 Yoga 2in1 Thinkpad Gen2 LTE i7-1165G7 16GB RAM 512GB SSD Intel Iris XE Win11 Pro Garancia
- Gamer PC-Számítógép! Csere-Beszámítás! R5 2600 / GTX 1070 8GB / 16GB DDR4 / 128SSD + 500GB HDD!
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Az adatokat stb. tartalmazó részek ugyanolyanok (de a különböző userformok miatt talán itt is van némi különbség).



Fferi50
