-
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
TheSaint
#52533
üzenetére
Szia!
Milyen Excel verziód van?
Egyszer régen volt egy olyan hiba - ami ehhez nagyon hasonló volt, amit a formkezelő hibája okozott - növekedtek, zsugorodtak elmásztak a gombok.
Ha jól emlékszem a Microsoft Forms 2.0 object library --- FM20.dll volt a bűnös, azt kellett lecserélni - ill. még egy hozzá kapcsolódó dll-t.
Bár nem hiszem, hogy most is ez lenne a gond, de talán érdemes lenne utána nézned a MS Support oldalán.
Üdv. -
Fferi50
Topikgazda
válasz
TheSaint
#52513
üzenetére
Szia!
Nem látok benne olyan problémát, ami okozhatja ezt a jelenséget. Pár kérdésem lenne:
1. milyen környezetben fut és milyen excel verzió?
2. nem értem, hogy miért kell 15 másodpercet várni. Ha a háttérbeni frissítés miatt, akkor a táblázatok BackgroundQuery tulajdonságának False -ra állítása ezt szükségtelenné teszi. Ebben az esetben ugyanis nem fut tovább a makró, amíg a frissítés meg nem történik. Ha engedélyezve van a háttérbeni frissítés, akkor a Refreshing tulajdonság mutatja, hogy folyamatban van-e még a frissítés.
3. Nem értem ezt a sort:If ThisWorkbook.Name = "e.xlsm" Then
A ThisWorkbook mindig az a munkafüzet, amelyből a makró elindult. A Workbook_Open esemény csak ebből a munkafüzetből indulhat.
4. Miért van a végén az 1 perces időzítéssel a Thisworkbook mentése és bezárása?
Ha bezáródik a futás - emalküldés után, akkor honnan tudod, hogy összezavarodott a gombok és a gördítés?
Mi nyitja meg ezt a munkafüzetet?
Vannak-e eseménykezelők a munkafüzetben?
Üdv. -
Fferi50
Topikgazda
-
TillaT
tag
válasz
TheSaint
#50366
üzenetére
Köszönöm. Nekem úgy tűnik, hogy nem befolyásolja a korábban tapasztaltakat.
Változatlanul nem tudom a sorazonosítókat és az oszlopazonosítókat használni teljes sorok és/vagy teljes oszlopok kijelölésére.
(Ritkán használok billentyűkombinációkat munka közben. Mindig van egy egér a zsebemben.
- Nekem az "rögzült be", hogy ha pl. be szeretnék szúrni 3 új oszlopot a G oszloptól kezdődően, akkor az oszlopazonosítókon (sorfejléc, oszlopfejléc) mozgatva az egeret kijelölöm a G-I oszlopokat, majd jobb egérgomb és a 'Beszúrás' opciót választom.
- Ha ugyanezt a beszúrást egy olyan munkafüzet munkalapján szeretném megtenni, amelyikben a kódom is fut, akkor táblázaton belül a G oszlophoz tartozó bármelyik sorban ki kell jelöljek 3 egymás melletti cellát, majd a szokásos jobb egérgomb és 'Beszúrás' opció választása után a felugró vezérlőpanelen még ki kell választanom a Beszúrás módját.
Azaz a kijelölés szempontjából teljesen használhatatlanok (kattinthatatlanok) a sor- és oszlopazonosítók.)
Ebből leginkább az zavar, hogy nem értem a "Miért"-jét, hogy miért működik így. -
TillaT
tag
válasz
TheSaint
#50363
üzenetére
Köszönöm. Kicsit más úton, a Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) -el próbálkoztam, és eddig úgy tűnik, hogy jól működik. Azonnal reagál az aktív munkalapon a változásokra. Mindegy, hogy beszúrok vagy törlök sorokat, oszlopokat.
Arra még nem sikerült rájönnöm, hogy a kód hatása alatt miért nem engedi a sorok és/vagy oszlopok kijelölésével az egész sorok/oszlopok beszúrását/törlését; hogy miért csak a táblázaton belüli cellák kijelölésével enged beszúrni és törölni egész sorokat/oszlopokat, ... de ez a működés szempontjából kevésbé zavaró, mint ami az alap problémám volt.
Még egyszer köszönöm a segítséget és az együttgondolkodást.
Dim lastRow As LongDim lastColumn As LongDim scrollArea As RangeDim ActiveSheetNumber As IntegerPrivate Sub Workbook_Open()ThisWorkbook.Sheets(1).ActivateCall ScrollAreaInterpretEnd SubPrivate Sub Workbook_SheetActivate(ByVal Sh As Object)Call ScrollAreaInterpretEnd SubPrivate Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)If Target.Rows.Count > 1 Or Target.Columns.Count > 1 ThenCall ActSheetChangeEnd IfCall ScrollAreaInterpretEnd SubSub ScrollAreaInterpret()lastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).RowlastColumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).ColumnSet scrollArea = ActiveSheet.Range("A1").Resize(lastRow, lastColumn)ActiveSheet.scrollArea = scrollArea.AddressEnd SubSub ActSheetChange()ActiveSheetNumber = ActiveSheet.IndexThisWorkbook.Sheets(ActiveSheetNumber + 1).ActivateThisWorkbook.Sheets(ActiveSheetNumber).ActivateEnd Sub -
TillaT
tag
válasz
TheSaint
#50361
üzenetére
Köszönöm, ezt már próbáltam. Sajnos ez is csak részlegesen tesz úgy ahogy én szeretném. Ennél is el kell kattintani, majd vissza arra a munkalapra, amin korábban a sor/oszlopbeszúrást megejtettem.
Esetleg létezhet olyan metódus, amivel a háttérben, a felhasználó által érzékelhetetlen pillanatig aktívvá tehetnék egy másik munkalapot, majd egyből visszatérnék az adott munkalapra? Így utánozva azt, mintha ténylegesen el és visszakattintottam volna.
Mindjárt teszek is egy próbát. -
Delila_1
veterán
válasz
TheSaint
#50295
üzenetére
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 11 Then
Application.EnableEvents = False
Visszajelzes Target.Row 'Meghívjuk a másik makrót, átadva a beviteli sor számát
Application.EnableEvents = True
End If
End SubSub Visszajelzes(sor) ' Itt nevet adhatunk a sorszámnak, nem feltétlen Target.Row legyen a változó neve
'...
End Sub -
Mutt
senior tag
válasz
TheSaint
#44814
üzenetére
Szia,
Egy főtáblából szeretnék adott oszlopokat lekérdezni olyan módon hogy a sorok mellé szabadon lehessen megjegyzéseket irogatni és a főtábla változásakor a megjegyzés maradjon...
Megoldás lehet, hogy
1. a főtáblához is hozzáadjuk a gépelt megjegyzést vagy
2. egy segédtáblában tároljuk a megjegyzéséket a főtábla megfelelő sorára mutató azonosítóval együtt.MIndkét megoldás makrót igényel valószínű Worksheet Change eseményt használva.
Az első esetben a makrónak meg kell találnia a főtábla megfelelő sorát és oda átmásolni a megjegyzést.
A második esetben a makrónak egy új táblához kell hozzáfűznie a megjegyzést egy azonosítóval és ezek után a Power Query-vel lehet hozzáadni a riporthoz a megjegyzést.üdv
-
Louro
őstag
válasz
TheSaint
#41541
üzenetére
A vezérhangya nem hagyott békén, így lett egy kicsit igényesebbnek tűnő megoldás.
Jelöld ki azt a tartományt, amit színezni szeretnél az első sort kihagyva. Az marad fehér.
Feltételes formázás (conditional formatting), majd a legalsó és New Rule és legalsót válaszd.A képlet: =OR(AND($E1=$E2;CELL("color";$E1)=1);AND($E1<>$E2);CELL("color";$E1)=0))
Majd válasz egy színt a Format alatt lévő Fill fül alatt. Végén maradnak az Ok-Ok.
Mit is csinál a képlet:
Amennyiben megegyezik a két azonosító és az első formázott (színezett), akkor beszínezi. Ha nem egyezik meg az előtte lévővel és az előtte lévő nincs színezve, beszínezi.Így segédoszlop nélkül megúszható
Kipróbáltam is. 
-
Louro
őstag
válasz
TheSaint
#41535
üzenetére
Lehet gagyi lesz, de 10 másodperc alatt azt mondanám, hogy F oszlopba egy sorszám, ami így nézne ki:
F1: 1
F2 és alatta: =IF(E2=E1;F1;F1+1)Majd erre dobnék egy feltételes formázást úgy, hogy a sorokat színezze aszerint, hogy páros vagy páratlan szám van az F oszlopban.
A feltételes formázásnál saját képletet használnék: =MOD(F1;2)=0, a formátumnál meg a színt kiválasztanám.
-
Louro
őstag
válasz
TheSaint
#27021
üzenetére
Megnyitásmentességhez: [link]
A változóhoz:
Dim pathname, filename as stringpathname = "C:\valami\mégvalamibb\ez nem semmi\"
filename = "ez a legjobb fájl a világon.xlsxxx"A fájlnevet ciklussal is generálhatod.
for i=10000 to 10500 step 5
filename = "királyságos_" & i & ".xlsxxx"
nextCsak akkor a fájlműveleteket is a ciklusba tedd
Különben csak a legutolsóval fog dolgozni.Remélem tudtam segíteni.
Új hozzászólás Aktív témák
- Honor Magic6 Pro - kör közepén számok
- Facebook és Messenger
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- EA Sports WRC '23
- Azonnali informatikai kérdések órája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- OLED monitor topic
- Apple MacBook
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Szeged és környéke adok-veszek-beszélgetek
- További aktív témák...
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Microsoft és egyéb dobozos retro szoftverek
- PC Game Pass előfizetés
- AKCIÓ! LENOVO ThinkPad P15 Gen 1 munkaállomás - i7 10750H 16GB DDR4 256GB SSD Quadro T1000 W11
- Apple iPhone 14 Pro Max 128GB,Újszerű,Dobozaval,12 hónap garanciával
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7560 i9-11950H 32GB RAM 1TB SSD Nvidia RTX A3000 6GB 1 év gar
- 195 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U7 255HX, RTX 5070 (ELKELT)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Kipróbáltam is.
Különben csak a legutolsóval fog dolgozni.
Fferi50