-
Fototrend
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
- Jövedelem
- Kerékpárosok, bringások ide!
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- Vezeték nélküli fülhallgatók
- Telekom mobilszolgáltatások
- Linux kezdőknek
- Milyen hagyományos (nem okos-) telefont vegyek?
- Formula-1
- Fűnyíró topik
- Debrecen és környéke adok-veszek-beszélgetek
- További aktív témák...
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- PC Game Pass előfizetés
- Steam, EA, Ubisoft és GoG játékkulcsok, illetve Game Pass kedvező áron, egyenesen a kiadóktól!
- Újszerű iPhone 14 Plus 128GB Lila független, 100% aksi, 1 ÉV GARANCIA, 14 Napos elállás!
- MSI Modern 15 Ryzen 7 7730U 16 GB RAM 512 GB SSD FHD IPS
- Garmin Forerunner 405 GPS óra
- ÁRGARANCIA! Épített KomPhone R7 5700X 16/32/64GB RAM RX 9060 XT 16GB 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