- Hobby elektronika
- Épített vízhűtés (nem kompakt) topic
- Milyen belső merevlemezt vegyek?
- Milyen házat vegyek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Azonnali notebookos kérdések órája
- IGP nélküli processzorokkal készül az Intel és az AMD
- Házimozi belépő szinten
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Külső 3,5'' mobil rack-ek topikja
Új hozzászólás Aktív témák
-
válasz
Delila_1 #3185 üzenetére
Beletettem ezt, de nem jelenik meg semmi, csak a várakozási idő
Set InfoShape = ws.Shapes.AddTextbox(Orientation:=1, Left:=100, Top:=100, Width:=200, Height:=50)
InfoShape.TextFrame.Characters.Text = "A keresett érték (" & SearchValue & ") megtalálva."
' Várakozás 2 másodpercig
Application.Wait (Now + TimeValue("0:00:02"))
' Alakzat törlése
InfoShape.Delete -
vilag
tag
válasz
Delila_1 #2973 üzenetére
Tökéletes!
Remekül sikerült megoldani a problémát.
Felvetnék még egy kérdést amelyre régóta nem lelem a megoldást.
Van egy olyan TextBoxom (illetve több is), amely úgy van megoldva, hogy csak számokat enged bevinni az alábbi kóddal:Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 'Ügyirat főszámba csak számot enged írni
If KeyCode = 8 Or KeyCode = 46 Or _
(KeyCode >= 48 And KeyCode <= 57) _
Or (KeyCode >= 96 And KeyCode <= 105) Then
TextBox1.Locked = False
Else
TextBox1.Locked = True
End If
End SubValamilyen okból ha a munkafüzetet Office 2007-ben Win7-es gépen mentem el, random módon az a jelenség következik be, hogy elindítva a formot a mezőbe nem csak számot enged írni, valamint ha nyomok egy TAB-ot akkor nem a következő vezérlőre ugrik hanem valóban egy tabulátort tesz az adott vezérlőbe.
Ez ugye hibás működést eredményez és számos problémát okoz.
Arra viszont rájöttem, hogy ha egy Win Xp-s gépen (és azt hiszem Office 2003-on) makrók letiltásával indítom a munkafüzetet és rámentek, akkor már a Win7-es Office 2007-es gépeken sem jelentkezik a probléma.
Van esetleg ötleted (vagy bárkinek), hogy mivel lehetne ezt kiküszöbölni.
Most csak ezért megint össze kellett raknom egy Xp-s gépet amit gyakorlatilag csak ennyire használok.Egy másik apró de idegesítő probléma:
A munkafüzet indításakor automatikusan indul a form. Ezen van egy gomb amely lehetővé teszi a VB indítását és ezzel együtt a jelszavazás feloldását is az alábbi módon:Unload Me
Unload UserForm1
Application.Visible = True 'hogy az Excel menüje újra látszódjon
'Project védelem feloldása
With Application
.SendKeys "%{F11}", True 'VB megnyitása
.SendKeys "^r", True 'Project Explorer ablak aktiválása
.SendKeys "SZTK" 'SZTK projectre ugrás
.SendKeys "~", True 'Enter leütés imitálása
.Wait (Now + TimeValue("0:00:01"))
.SendKeys "jelszó" 'Jelszó megadása
.SendKeys "~", True 'Enter leütés imitálása
' .Wait (Now + TimeValue("0:00:01"))
' .SendKeys "Mod"
' .SendKeys "~", True 'Enter leütés imitálása
' .Wait (Now + TimeValue("0:00:01"))
.SendKeys "For"
.SendKeys "~", True 'Enter leütés imitálása
' .Wait (Now + TimeValue("0:00:01"))
' .SendKeys "Mic"
' .SendKeys "~", True 'Enter leütés imitálása
End WithA folyamat végén valóban indul a VB, de valamiért a NUMLOCK-ot kikapcsolja.
Ugyan ez a fentebb említett Xp-s gépen is lefut azonban ott nem kapcsolja ki a NUMLOCK-ot.A kívánatos az utóbbi lenne.
-
vilag
tag
válasz
Delila_1 #2969 üzenetére
Ez a megoldás tényleg sokkal frappánsabb.
Apróbb kiegészítésekkel (ami nem képezte részét az eredeti koncepciónak) be is építettem.Néhány kivételkezelést tettem még hozzá, de ezek mind szépészeti beavatkozások. PL.: hogy csak olyan tartományt jelöljön ki ahol már van érték, meg a fejléces tartományban ne jelöljön ki, ilyesmi...
Köszönöm a segítséget!
-
vilag
tag
válasz
Delila_1 #2959 üzenetére
Nagyon szépen köszönöm!
Kicsit egyszerűsítettem rajta mivel biztosan nem lehet a munkalapon semmi korábbi színezés, így annyit csináltam, hogy minden színezést töröl és utána színezi az érintett sorokat a módszered szerint.
Egyébként azt furcsállom, hogy a
Target.Rows
nem működik.
Pedig a Target-nek van Row és Rows tulajdonsága is, legalábbi a "." billentyű után felkínálja mint lehetőséget. -
vilag
tag
válasz
Delila_1 #2957 üzenetére
A
Target.Row
-t már próbáltam, de az csak a kijelölt tartomány első sorának sorszámát adja vissza lekérdezésben.A
Rows(Target.Row).Interior.Color = vbYellow
pedig ugyan megtartja az eredeti kijelölést, de csak a kijelölt tartomány első sorát színezi át.Tehát még mindig az a probléma, hogy hogyan lehetne lekérdezni a kijelölt tartománnyal érintett sorokat?
A
x=Targer.Address
visszaadja a teljes tartományt, de abból meg ki kellene mókázni a sorok számát...Ezért valami ettől egyszerűbb megoldást keresek.
-
vilag
tag
válasz
Delila_1 #2955 üzenetére
Ez eddig rendben van, ezt én is megoldottam (ugyan ennél kevésbé elegánsabban), de egy fontos körülmény elkerülte a figyelmedet:
Én nem magát a kijelölt területet akarom átszínezni, hanem a kijelölt területtel érintett egész sorokat.
Az egésznek a lényege az lenne, hogy amolyan sorvezetőként szolgálna a szemnek.
De lehet, hogy az általad írt kódból is meg tudom oldani a dolgot, mert most kipattant egy ötlet a fejemből, meglátjuk működik-e.
-
vilag
tag
válasz
Delila_1 #2953 üzenetére
Köszönöm a javaslatot.
Ma már kínlódtam vele vagy két óra hosszát, de belekavarodom a dologba és most teljesen máshogy akarom újra kezdeni.
Most épp látom a fényt az alagút végén, de csak pislákol.
A javaslatodat használva próbálkoztam, de nem teljesen hozza a várt eredményt.
Jelen formájában kiszínezi a kijelölt cellát vagy cellákat, azonban ha újabb cellát vagy cellákat jelölök ki akkor azokat is kiszínezi (az elősző színezések meghagyásával).A célom az lenne, hogy a kijelölt cellák sorait jelölje ki és az esetlegesen korábban kijelölt cella/cellák sorainak színezését pedig szüntesse meg.
A fejemben már össze is állta a dolog el is kezdtem megírni, de ott elakadtam, hogy több sort érintő kijelölés esetén csak az első sor sorának a számát tudom lekérdezni pl ezzel
sorok = Selection.Row
pedig nekem a kijelölés kezdő és végsorának számára is szükségem lenne.Próbáltam
Selection.Address
kóddal is de abból meg csak kerülő úton tudnám a sorok számát kinyerni.Van esetleg erre valami egyszerűbb megoldás?
Egyébként nagyjából így képzelném a kódot:
Cells.Interior.Pattern = xlNone 'összes színezés megszüntetése a munkalapon
kijelolttartomanysorai = ????
Rows(kijelolttartomanysorai).Interior.Color = vbYellowÍgy visszanézve kissé viccel, hogy egy 3 soros kóddal bajlódom két órája
-
Lokids
addikt
válasz
Delila_1 #2950 üzenetére
Azt hiszem megvan a hiba.
Van a fenti részben egy feltétel. "If actrow = 2 then"
Na ide nem lép be, hogyha a fenti rész lefut. Ezért kiakad a második résznél.
Azt az If-et a Range léptetés elé téve működik.
De jellemző, hogy az után veszem észre, hogy felteszem a kérdést. Nem az előtte lévő 1 órában. -
vilag
tag
-
vilag
tag
válasz
Delila_1 #2941 üzenetére
Pedig ha megnyitom a cellaformázás menüt akkor az van a "Szám" fülön, hogy "Dátum", típus: "*2001.03.14"
Ezért utálom én az excel dátumkezelését, mert gyakran még maga sem tudja, hogy mi micsoda.
Most pedig megpróbálom befejezni a kódot.
Még egyszer nagyon köszönöm!
Ma ismét tanultam valamit. -
vilag
tag
válasz
Delila_1 #2939 üzenetére
x = Application.WorksheetFunction.VLookup(atvdatuma * 1, ThisWorkbook.Sheets("Jogerő").Range("a:c"), 3, 0)
Így működik
Utálom az excel dátumkezelését, és továbbra sem értem, hogy miért működik ha 1-el megszorzom.... de működik és most csak ez számít, remélem így már be tudom fejezni a kódot.
-
vilag
tag
válasz
Delila_1 #2937 üzenetére
=FKERES(P7241;Jogerő!A:C;3;0)
#HIÁNYZIK hibára fut.
=FKERES(ÉRTÉK(P7241);Jogerő!A:C;3;0)
Így viszont eredményes.
Viszont ha a kódot kiegészítem ezzel:
atvdatuma = Val(atvdatuma)
akkor a atvdatuma = 2017,11 lesz, nem pedig dátumérték
Ebbe az irányba már próbáltam korábban elmenni, de ugyan ide lyukadtam ki.
Pedig szinte biztos vagyok benne, hogy ez lenne a megoldás kulcsa. -
vilag
tag
válasz
Delila_1 #2935 üzenetére
Megcsináltam, végigléptettem, de ugyan az az eredmény mint korábban
Az utolsó sorban hibára fut.
Nem lehet, hogy az a baj, hogy amikor az atvdatuma változó felveszi az értéket az így néz ki:
atvdatuma = 2017.12.04.
Azaz idézőjelek nélkül és a nap után ponttal, a dátumos cellákban meg ugye idézőjelekkel és a nap után pont nélkül szerepelnek a dátumok.
Nem lehet, hogy ez okozza a problémát?
-
vilag
tag
válasz
Delila_1 #2933 üzenetére
Igen a jogerő lap A oszlopában vannak a dátumok amik között keresnie kellene.
A Trim(Str())-re azért volt szükség mert különben Run-time error '13': Type mismatch hibára futott.
Azonban most, hogy a + jeleket lecseréltem & jelre, úgy látom már semmi szükség rá, mert így enélkül sem fut a fenti hibára.
Még mindig kíváncsi lennék, hogy mi a különbség a + jel és az & jel között.
Gyakorlatilag egy sima fkeres függvényt akarok VBA-ban megcsinálni.
A fenti képen látható dátumok is dátumként formázott cellákban vannak.
-
prodrakan
csendes újonc
válasz
Delila_1 #2911 üzenetére
Elkezdtem tesztelgetni élesbe már az én Exceljeimmel.
Az egyik Excel-el jól működik azaz az Excel1 és Excel2-őt sikerült összhangba hozni,de nálam másképp van nyilván elnevezve,de valami baja van a harmadik Excel-el azaz legyen Excel3-al.
Valamiért ezzel a sorral van baja:
TalalSor = WF.Match(Cells(sor, "A"), WB3.Sheets("Planner").Columns(1), 0)Üdv,
Laci -
prodrakan
csendes újonc
válasz
Delila_1 #2913 üzenetére
Na most úgy néz ki,hogy tök szuper lett!!!!
Extraként olyat meg lehet neki adni,hogy melyik héttel kezdje az ellenőrzést?
Tehát minden maradna,ahogy most van csak felugrana egy ablak,ahol megkérdezné melyik héttel kezdjek.
Az Excel1-ben a "B"-oszlopban 1-52.-ig lennének számok és azt szeretném,ha feljönne egy kérdés ahol lenyíló füllel kiválasztható lenne tól-ig meddig futtasa végig az ellenőrzést majd a felugrott ablakon belül egy INDÍT gomb megnyomásával a makró végigfutna.Ha ez nem fér bele az sem gond,mert már így is tök szuper,de akkor lenne igazán tökéletes.
-
prodrakan
csendes újonc
válasz
Delila_1 #2911 üzenetére
Szia!
Csatoltam egy képet amin bejelöltem hol van a gond.
Amúgy a pirossal jelölt szakaszokon kívül bárhonnan kitörlök azt tök jól betölti!
,kivétel ha a piros kereten belül bármelyik cellából hiányzik adat a G;J;K valamelyikéből.Kipróbáltam a munkahelyi és az otthoni gépen is,ugyanaz a hiba.
-
prodrakan
csendes újonc
válasz
Delila_1 #2909 üzenetére
Na tesztelgettem és alapvetően tök szuper viszont a befagyás ennél is megvan.
Azt vettem észre,hogy ha az utolsó vagy utolsó előtti sorból kitörlök és elindítom a makrót akkor lefagy az egész Excel.
Tehát,ha az Excel1 "G" & "J" & "K" oszlopok bármelyikéből kitörlöm az utolsó vagy utolsó előtti sort akkor lefagy.
A fentieken kívül ugyanez a helyzet az Excel1 15.-ik sorától felfele vagyis,ha a "G" & "J" & "K" oszlopok 13. vagy 14.-sorból hiányzik adat akkor szintén lefagy.
Az összes többi területen nem produkálja a hibát max.,ha a Excel1 "G" & "J" & "K" oszlopok teljes tartalmát kitörlöm. -
prodrakan
csendes újonc
válasz
Delila_1 #2907 üzenetére
Köszönöm!
Annyi hibát észleltem amúgy,hogyha az Excel1 "G" oszlopába a "Zöldség" megnevezésen kívül mindent kitörlök akkor valamiért nem csinálja meg és befagy.
A többi oszlopba is ezen az elven kell dolgoznia a makrónak.
AZ "A"-oszlop a fő szempont a többinél is annyi a változás,hogy az Excel1-ben ugyan ezt a feltételt futtassa le csak több oszlopot kell figyelnie azaz:
Az Excel1-ben van "A" & "G" & "J" & "K" oszlopok
Az Excel2-ben van "A" & "I" & "J" oszlopok
És van egy Excel3 amiben van "A" & "I" oszlopokAz Excel1 "A" & "G" oszlopokat összefésüli az Excel2 "A" & "I" oszlopokkal "Ez amit már megoldottál!"
Amit még kéne hogy:
Az Excel1 "A" & "J" oszlopokat fésülje össze az Excel2 "A" & "J" oszlopokkal "Az elmélet ugyan az mint az előzőnél"
Továbbá van egy Excel3!
Amit itt kéne figyelnie :
Az Excel1 "A" & "K" oszlopait kéne összefésülnie az Excel3 "A" & "I" oszlopaival "Az elmélet ugyan az mint az előzőnél"Ami jó lenne,ha nem kéne megnyitni kézzel mind a három Excel táblázatot vagyis az Excel1 táblázatba levő makró futtatásakor azaz a futtatás idejére nyissa meg magától az Excel2 & Excel3 táblázatokat majd zárja is be őket.Az esetleg az mennyire számítana,hogy a makró indításakor megnyitná az Excel2 és lefuttatná az ellenőrzést és bezárná majd megnyitná az Excel3-at és lefuttatná itt is az ellenőrzést majd bezárná vagyis lehetőleg ne egyszerre legyen nyitva 3-darab Excel mert az lehet lassítaná.
Előre is köszönöm!
-
prodrakan
csendes újonc
válasz
Delila_1 #2905 üzenetére
Na ez egész jónak tűnik!
Jó lenne,ha a másik Excel nem kéne külön megnyitnom,hanem a makró automatikusan a futtatás idejére megnyitná majd bezárná.
A másik kérdésem az lenne,hogy ugyanebbe a makróba macerás lenne belerakni plusz egy oszlop figyelést vagy inkább arra külön még egyszer ugyanezt csak átírom az "I" oszlop figyelést másra?
Msbox ablak felugorhatna arra az időre amíg ez lefut mondjuk egy olyan kiírással,hogy "Dolgozom" vagy "Adatokat gyűjtök"?Kíváncsi leszek,hogy több ezer sornál hogy fog lefutni,de remélem gyors lesz.
Köszönöm az eddigit is!
Üdv,
Laci -
prodrakan
csendes újonc
válasz
Delila_1 #2903 üzenetére
Excel1 A4=adat és G4=adat akkor ugrik a következő sorba és ott
A5=adat és G5=semmi akkor keresse az
Excel2-ben az Excel1 A5-öt méghozzá Excel2 A1:A50000-ig és ha mondjuk megtalálja az
Excel2 A3500-ban akkor az Excel2 I3500-cellában található adatott másolja át a
Excel1 G5-be de,ha nem talál semmit akkor folytassa az
Excel1 A6=adat és G6=adat akkor
Excel1 A7=semmi akkor itt vége a futtatásnakAz Excel1 és Excel2 csak a könnyebb magyarázat miatt van.
Remélem,így jobban értelmezhető. -
prodrakan
csendes újonc
válasz
Delila_1 #2901 üzenetére
[kép]
Szia!Köszönöm a segítséget,de szerintem nem jól írtam le valamit mert ez így nem az amit szerettem volna.
Csatoltam egy képet.
Van egy "Excel1" ami tartalmaz A-oszlopot és egy G-oszlopot és az A-oszlop adatát kell ellenőriznie egy másik "Excel2" A-oszlopába és ha megtalálta akkor a vele egy vonalba az I-oszlopba található adatot másolja át az "Excel1" A és G oszlop metszéspontjába.
A függvényt csak addig futtassa,amíg az Excel1 A-oszlopába van adat. -
alexy92
aktív tag
válasz
Delila_1 #2846 üzenetére
A probléma az, hogy,
Sub1
művelet
művelet
művelet
On Error Resume Next
Selection.Copy <- itt szokott kijönni az 1004-es hiba, mert sok a kijelölt cella
If Err.Number <> 0 Then sub3 Else sub2
művelet
művelet
művelet
endsub2
On error goto 0
művelet
műveletHa én a kövi sub elején nullázom le, akkor a kövi subot folytatja, az if err.number utáni részt elhagyja, ha hibára fut, ha nem. Értelemszerűen, ha hibára fut, akkor jól teszi, de nekem jelenleg hiba nélkül is átugorja.
Köszi!
-
alexy92
aktív tag
-
alexy92
aktív tag
válasz
Delila_1 #2817 üzenetére
Szia,
Most sikerült ténylegesen foglalkoznom vele, és a helyzet az, hogy szépen tovább lép a suboknál, de sajnos akkor is amikor nem dobna fel hibát. Mit ronthattam el ?
On Error Resume Next
Selection.Copy <- itt szokott kijönni az 1004-es hiba, mert sok a kijelölt cella
If Err.Number <> 0 Then kövi utáni sub Else Kövi subDe itt mindig a "kövi sub" jön ki.
Előre is köszönöm,
Viktor -
Petya25
őstag
-
Petya25
őstag
válasz
Delila_1 #2779 üzenetére
Lehet én nem fogalmaztam még az elején pontosan, nem excelben próbálom megoldani, hanem Visual Studio-val. Meglévő MsSQL táblákból és lekérdezésekből jönnek az adatok.
Mindkét kérdésben én voltam a gyík....
Az elemválasztós problémámra találtam megoldást, a ComboBox-nak adott forrás összes mezője használható szűrőnek nem csak a megjelenített. Meg két külön forrást használtam amit én kevertem el....
És a diagramnál ugyan simán nem lehet rádobni adatot, de a DataSource beállítása után a Series properties-nél az X és Y tagjainak már használhatók az értékek...
Nem mondom, hogy egyszerű, de legalább elég nehézkes.Na most már csak a Pivot fazont kéne kitalálnom, hogy hozom össze, ahol összegzett adatok is vannak.
Köszi a tippeket meg a segítséget.
-
Petya25
őstag
válasz
Delila_1 #2777 üzenetére
Köszi a választ.
A grafikonnál arra gondoltam, hogy meglévő adatokból nem tudok "felhúzni" adatot a formra. Amíg DataGridView-ra simán ráteszem a táblám/lekérdezésem adatait, a Chart-ra nem tudom. Adatokat hogy tudnék feltenni? A DataSource-nak megadom a formon elérhető lekérdezést, de a Series properties-nél már nem tudom a kívánt oszlopokat elérni.
Na a második válaszodat én nem értem.
Sorszámot ugyan tudnék választani egy listából (pl 1, 2, 3) de abból hogy lesz névsor esetén Lacika. User nem tudja mi a sorszám mögötti név előre. Ez alapján tudnék egy olyan lekérdezést készíteni ahol mint paraméter felhasználnám a nevet (bár ez nem túl szép mert mi van ha két lacika van, viszont listázható) és mint szűrő adnám a formnak. Az jobb lenne, hogy ugyan nevet listáznék de a mögötte lévő ID-vel együtt tudnám kiválasztani, ahol az ID mehetne láthatatlanul a szűrőbe. Accessben ez sima ügy volt. Egyelőre ilyet nem találtam, még csak ismerkedem vele. -
vilag
tag
válasz
Delila_1 #2767 üzenetére
Üdv!
Lehet, hogy nem volt egyértelmű amit írtam.
Ez a kód rész évek óta a helyén van és működik, azonban időnként (évente 3-4 alkalommal) gondol egyet és a fenti hibát produkálja.
Ilyenkor általában a gép újraindítása sem hoz megoldást.
Majd másnap ismét tökéletesen működik minden.A legutóbbi esetben amikor a hiba előjött, másik gépen is futtattam a kódot, ott meg egy másik kódrésznél akadt ki, de ott is on error volt hivatott megoldani a problémát.
Ezért gondoltam, hogy a környezetben lehet valami hiba, de nem tudom hogy mi. -
dWan
tag
válasz
Delila_1 #2741 üzenetére
C2=1 d9=d8, e9=e8...l9=l8
C2=2 d9=d8, e9=e8+d8, f9=f8+e8...
C2=3 d9=d8, e9=e8+d8, f9=f8+e8+d8...
C2=4 d9=d8, e9=e8+d8, f9=f8+e8+d8, g9=g8+f8+e8+d8...
...Tehát ismét, c2 értékének megfelelő számú cellát adunk össze. A cellákat a sorban visszafelé kell számolni.
pl, ha c2=4, akkor g9=g8+f8+e8+d8, de a következő cella már h9=h8+g8+f8+e8 lesz,
ha c=2, akkor g9=g8+f8 (csak 2 tagod adunk össze visszamenőleg) -
dWan
tag
válasz
Delila_1 #2735 üzenetére
C2 értékét változtatni szeretném, erre pedig annak kellene történnie, hogy a D8:L8 sor egy részletén, adott cellától C2 értékének megfelelően visszafelé összeadja az elemeket, és az adott cella alá, a D9.L9 sorba írja ki az értéket.
Lényegében a C2 értéke 0-9 között érdekes, ha több akkor már nem változik a D9:L9 sor.
-
bundli
tag
válasz
Delila_1 #2700 üzenetére
Köszi, ez azóta megoldódott!
Most olyan problémám lenne, hogy van 3 darab cella, amelybne szöveg van, ezt szeretném kimenteni egy txt fájlba egy gombbal úgy, hogy gombnyomáskor el lehessen dönteni azt, hogy hova mentődjön a fájl egy popup menüben.
Az egyszerűség kedvéért legyen A1:A3 tartomány amit egy .txt fájlba kelljen kimenteni
-
bundli
tag
válasz
Delila_1 #2697 üzenetére
Köszi szépen, úgy néz ki jól működik, de elég fekete mágia számomra, még tanulmányozom
Egy olyan érdekes dologban kérnék segítséget, amire lehet nincs is megoldás, mert már órák óta Googleban keresek rá választ, de nem találtam.
Hogyan lehet másolni cellákat úgy VBA segítsgével úgy, hogy minden formázás megmaradjon, tehát még az is, hogy az egyesített cellákat is átvigye és cellaszegélyeket is.
Erre is itt egy példa excel file: katt
Tehát az "Original" fülön található formázást kéne átmásolni a "Copy" fülre. Valamiért nem sikerül ugyanolyanra varázsolni..
-
bundli
tag
válasz
Delila_1 #2695 üzenetére
Valóban, most ezt sikerült megoldanom, mondjuk kicsit trükközve egy scripttel, de működik
Még anno volt ez a táblázatos kérdésem, ami csodálatosan is működik. Annyit kéne rajta módosítani, hogy egy cellába meg kéne adnom, hogy hány darab táblázat legyen összesen és akkor aszerint kéne változni az A2-es cella értéke. Továbbá se új tábla, se tábla törlés nem kéne bele.
Esetleg ebben tudnál segíteni, hogy mit kéne változtatni azon?(Röviden: Beírom a G2-es cellába hogy három, akkor 3 darab táblázat közül lehessen kiválasztani és csak szerkeszteni lehessen az adott táblákat)
-
bundli
tag
válasz
Delila_1 #2693 üzenetére
Hát ez több mint tökéletes, köszönöm szépen, nagyon hálás vagyok a segítségeidért, tényleg!
Lenne viszont megint egy problémám. Amennyiben van egy kis ideje valakinek ezen a hosszú héten ránézhet ha tud majd:
Az lenne a feladat, hogy volt eddig sok-sok sornyi adat amelyek közül néhány feltétles formázással ki volt szürkítve. Ezt meg lehetne oldani VBA-val automatikusan hidoelja azokat a tartományokat amelyek a feltétles formázás által ki voltak eddig szürkítve?
Feltöltöttem egy excel fájlt, amelyben meg van adva egy celle ahol a bizonyos szám található és annak az értékétől függően kellene a megadott tartományokat hideolni.
-
bundli
tag
válasz
Delila_1 #2687 üzenetére
Jó. hogy írtad, az & sor-t vedd ki. Helyesen:
Na igen, pont azt a részét nem értettem amit ki kellett venni
Ez a Nevadas script azért nem semi, most hogy így leírtad már értem, de magamtól ilyet biztos nem írtam volna.
Köszönöm a segítséget!
(Holnap még lehet írok egy kérdést
)
-
bundli
tag
válasz
Delila_1 #2685 üzenetére
Hú, ez nagyon jól sikerült, köszönöm! Viszont lenne pár kérdésem az Apply_Changes makróval kapcsolatban:
Else
sor = Application.Match(Range("A2"), .Columns(1), 0)
End If
Range("B2:D4" & sor).Copy .Range("B" & sor)És a Nevadas makróval is:
ActiveWorkbook.Names.Add Name:="Táblák", RefersToR1C1:="=Rejtett!R1C8:R" & sor / 3 + 1 & "C8"
Ezek pontosan mit csinálnak? Nekem nem teljesen világosak sajnos. Le tudnád írni kérlek?
-
bundli
tag
válasz
Delila_1 #2683 üzenetére
Nos rendben, akkor itt található a fájl ahol van a .xlsm fájl, benne makrókkal.
Valamiért bugos mikor az első táblázatot választom ki, arra nem jöttem rá, hogy miért van így.
Ezen felül ugye azt kéne megoldani, hogy bal felső fülben lehessen létrehozni táblákat és a gombokkal meg törölni és módosítani.
-
bundli
tag
válasz
Delila_1 #2681 üzenetére
Köszönöm, ez most úgy néz ki, hogy működik, viszont egy csavar kimaradt belőle, amit lehet nem túl jól írtam le. Összesen max 6 ilyen táblázat lehet amelyeket ki lehetne választani, de alapjáraton egy sincs feltöltve, ezt a felhasználónak kéne tudnia egyesével hozzáadni, de lehet hogy csak 4-re van szüksége, ebben az esetben nem lenne szabad kiválasztani az ötödiket, mert az nem is létezik.
Röviden úgy képzelem el, hogy van egy munkalap, ahol csak kiválasztgatja ezeket a táblázatokat és egy másik munkalapon (vagy ugyanezen a munkalapon rejtett cellákban) lennének magák a táblázatok.
Alapértelmezetten lenne egy 0. menü ahol az új táblázatokat lehetne felvenni.
Köszönöm mégegyszer az eddigi segítséget!
-
-
salmiakki
tag
válasz
Delila_1 #2590 üzenetére
Az alábbi képen látszik maga a program. Mint írtam, az objektumoknak csak a Left, Top, Width és Height adatai vannak meg, mellesleg végtelen objectről lehet szó, szóval amit az 1. válaszban írtál, hogy csak a legutóbbi objectet nézni, nem hinném, hogy jó lesz.
Továbbá csak hogy egyértelmű legyen, az A esetben jelölt fedést szeretném csak ellenőrizni, ha 2 object érintkezik (B eset), azt nem feltétlen. -
Apollo17hu
őstag
válasz
Delila_1 #2573 üzenetére
Ez a két bővítmény nálam most az "Inaktív alkalmazásbővítmények" kategóriában van. Ennek ellenére tudom használni a szükséges funkciót (konkrétan a MouseMove event az).
sztanozs: Igen, terjeszteném. A gépek Excel-verziója és -beállítása azonos, de nem tudom, kell-e engedélyezni rajtuk bármit is vagy sem. Ha kell, akkor elfelejtem az ActiveX-vezérlőket. (A makrók engedélyezését szerencsére az Excel értesítése megoldja, ActiveX-re nem láttam ilyet.)
-
Apollo17hu
őstag
válasz
Delila_1 #2537 üzenetére
Ez a probléma, hogy végignéztünk már szinte mindent, és még így is rejtély.
ThisWorkbook-ban két dolog van AutoOpen-hez rendelve:
- R1C1 -re állítódik a függvénykezelés,
- egy összesítő munkalapra ugrik a fókusz (ehhez az összesítő laphoz semmilyen makró nincs hozzárendelve).Azért ha idő közben újabb nyom van, vagy sikerül rájönni a probléma forrására, jelentkezem.
-
Apollo17hu
őstag
válasz
Delila_1 #2533 üzenetére
Sajnos se BeforeClose, se BeforeSave eseményt nem találtam, viszont kis szerencsével megtaláltam, hogy mely makró(k) fut(nak). (Az egyik az állapotsor szövegét is módosítja, ott vettem észre futás közben.) Az továbbra is rejtély, hogy miért indulnak el ezek a makrók. (Ebből az egyik egy "gyorsító" makró, ami kikapcsol mindenféle frissítést, kalkulációt, majd a végén mindent visszaállít.) Nálam 2007-es Excel van, munkatársamnál 2013-as, nála nem jelentkezik a hiba. Nagyon homály ez az egész nekem, de nemsokára én is átállok 2013-asra...
-
vilag
tag
válasz
Delila_1 #2522 üzenetére
Nos, végre eljutottam odáig, hogy kipróbáljam.
Nem működik!
A vonalkód olvasó nem olvassa, pedig ez nem valami himpli-hampli 500 Ft-os vonalkódolvasó.Most úgy vagyok mint Edison az első 1000 villanykörténél, most már tudom, hogy ez a megoldás nem vezet a kívánt eredményre.
-
vilag
tag
válasz
Delila_1 #2522 üzenetére
Elképzelhető, hogy működik, bár ebben az esetben biztos, hogy nem a ragszámon szereplő vonalkód "képét" kapod vissza. Ennek oka az, hogy nem történik rövidítés (mind az általam közzétett 1. változatban sem).
Beszélgettünk erről a kollégával és arra jutottunk, hogy valóban lehetne rövidíteni a programkódot, hogy ha figyelembe vennénk a postai ragszám tényleges hosszát, mert jelenleg 'bármilyen' hosszú vonalkódot kezel, nem csak 16 karakterig.
Új hozzászólás Aktív témák
Hirdetés
- World of Tanks - MMO
- Xiaomi 14T - nem baj, hogy nem Pro
- Hobby elektronika
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Fogyjunk le!
- Hitelkártyák használata, hitelkártya visszatérítés
- PlayStation 5
- Épített vízhűtés (nem kompakt) topic
- Milyen belső merevlemezt vegyek?
- Subaru topik
- További aktív témák...
- 10% -tól elvihető.Országosan a legjobb BANKMENTES részletfizetési konstrukció! ACER PREDATOR HELIOS
- Fotó állvány eladó
- Új és régi konzolok Okosítása/Softmodoloása, és Szoftveres szintű javítása - RÉSZLETEK A LEÍRÁSBAN
- Apple iPhone SE 2020 64GB Kártyafüggetlen 1Év Garanciával
- Prémium PC házak akár 20-40% kedvezménnyel eladók garanciával, számlával!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged