Hirdetés
- Megjött a Cherry legfrissebb, taktilis karakterisztikájú kapcsolója
- 8 bővítőhelyes Jonsbo "akvárium", akár kábeleket rejtő alaplapokhoz is
- 4K felbontású, 240 Hz-es OLED monitorokkal köszönti az őszt a Lenovo
- Ismét egy teljesen friss egérrel gyarapította kínálatát a Pulsar
- Legalább 20 éves lemaradásban vannak a kínai litográfiai cégek?
- Milyen billentyűzetet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- OLED TV topic
- Dell notebook topic
- HiFi műszaki szemmel - sztereó hangrendszerek
- AMD vs. INTEL vs. NVIDIA
- Azonnali VGA-s kérdések órája
- Most Kína tiltotta ki a nemrég exportengedélyt kapott AI gyorsítókat?
- 5.1, 7.1 és gamer fejhallgatók
- TCL LCD és LED TV-k
-
PROHARDVER!
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 Long
Dim lastColumn As Long
Dim scrollArea As Range
Dim ActiveSheetNumber As Integer
Private Sub Workbook_Open()
ThisWorkbook.Sheets(1).Activate
Call ScrollAreaInterpret
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Call ScrollAreaInterpret
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then
Call ActSheetChange
End If
Call ScrollAreaInterpret
End Sub
Sub ScrollAreaInterpret()
lastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
lastColumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Set scrollArea = ActiveSheet.Range("A1").Resize(lastRow, lastColumn)
ActiveSheet.scrollArea = scrollArea.Address
End Sub
Sub ActSheetChange()
ActiveSheetNumber = ActiveSheet.Index
ThisWorkbook.Sheets(ActiveSheetNumber + 1).Activate
ThisWorkbook.Sheets(ActiveSheetNumber).Activate
End 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
- Milyen routert?
- Kamionok, fuvarozás, logisztika topik
- Milyen billentyűzetet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Óra topik
- OLED TV topic
- One otthoni szolgáltatások (TV, internet, telefon)
- Dell notebook topic
- HiFi műszaki szemmel - sztereó hangrendszerek
- AMD vs. INTEL vs. NVIDIA
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Eladó Steam kulcsok kedvező áron!
- Battlefield 6 - Digitális játékkulcs
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- HP EliteBook 830 G8 i5-1135G7 16GB 512GB 1 év garancia
- Hp Prodesk 600 G3/ G5/ G6 SFF/ i5 8-9-10 gen / Elitedesk 800 G4 /Win11- Számla, garancia
- Surface Laptop 7 Business edition - Intel Core ultra 5 236V energiahatékonyabb az intelnél! -olvass
- HP 14 Pavilion FHD IPS i5-1135G7 4.2Ghz 16GB RAM 512GB SSD Intel Iris XE Graphics Win11 Garancia
- Készpénzes / Utalásos Videokártya és Hardver felvásárlás! Személyesen vagy Postával!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest