- Luck Dragon: Óraátállítás
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- hcl: Könnyű légierő
- Luck Dragon: MárkaLánc
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
-
LOGOUT
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
-
Delila_1
veterán
válasz
m.zmrzlina
#10421
üzenetére
Private Sub Worksheet_Change(ByVal Target As Range)
'A B.xls füzetből indulunk. A munkalaphoz rendelt eseménykezelő
'csak a saját munkalapján tud dolgozni, ezért innen indítunk
'olyan makrókat, amik nincsenek munkalaphoz rendelve.
Application.EnableEvents = False 'Eseménykezelés letiltása
Dim utvonal, Érték, sor%
sor% = Target.Row 'Adatbevitel sora
utvonal = Cells(sor%, 1) 'Az A oszlopba bevitt érték
If Target.Column = 1 Then 'Ha az A oszlopba vittél be adatot,
Darabteli utvonal, sor% 'meghívom a Darabteli makrót, átadva a 2 változót
End If
If Target.Column = 2 Then 'Ha a B oszlopba írsz értéket,
Érték = Cells(sor%, 2) 'az Érték változó vegye fel a bevitt értéket
Beír Érték 'Beír makró meghívása, az Érték változó átadásával
End If
Application.EnableEvents = True 'Eseménykezelés engedélyezése
End SubSub Darabteli(utvonal, sor%)
'Ez a makró az átvett "utvonal" változót keresi az A.xls Munka1 lapján, a B oszlopban,
'a COUNTIF (darabteli) függvénnyel. A B.xls A oszlopába történt beírás hívja meg a makrót.
Dim ws As Object, usor%
Set ws = Workbooks("A.xls").Sheets("Munka1") 'A ws változó tartalma innen kezdve az egyenlőség jobb oldala
usor% = ws.Range("B1").End(xlDown).Row + 1 'Első üres sor a ws.B oszlopában
If Application.WorksheetFunction.CountIf(ws.Range("B:B"), utvonal) = 0 Then
'Ha a B.xls A oszlopába beírt "utvonal" nem található az A.xls B oszlopában,
'vagyis a darabteli=0
ws.Cells(usor%, 2) = utvonal 'az utvonal változót írja be az ws.B oszlop első üres sorába
Else
'ha van "utvonal" a ws.B oszlopában, keresse meg, és a hozzá tartó H oszlopban lévő értéket
'írja be a kiinduló füzet (B.xls) B oszlopába.
'Itt nem kell a B.xls-re hivatkozni, mert nem léptünk át Select-tel az A.xls-be, csak leskelődtünk.
Cells(sor%, 2) = Application.WorksheetFunction.VLookup(utvonal, ws.Columns("B:H"), 7, 0)
End If
End SubSub Beír(Érték)
'A B.xls B oszlopába történt beírás hívja meg ezt a makrót.
'Akkor írsz értéket a B oszlopba, ha az fkeres nem talált A oszlopbeli útvonalat.
Dim ws As Object, usor%
Set ws = Workbooks("A.xls").Sheets("Munka1") 'Mint fent
usor% = ws.Range("H1").End(xlDown).Row + 1 'Mint fent
ws.Cells(usor%, 8) = Érték 'A ws.H oszlop első üres sorába beírja az értéket
End SubAz eseménykezelés letiltása azért kell a laphoz rendelt makróba, mert a munkalapon történt minden változásra beindul. Próbáld ki az Application.EnableEvents = False sor nélkül lépésenként futtatni, és meglátod, hányszor fut le feleslegesen. A lépésenként futtatáshoz tegyél a makró elejére egy stop-ot, majd írj a B.xls-be egy útvonalat, vagy km-t.
Az end sub előtt vissza kell állítani True értékkel!
Új hozzászólás Aktív témák
- One otthoni szolgáltatások (TV, internet, telefon)
- E-roller topik
- Diablo IV
- Futás, futópályák
- A fociról könnyedén, egy baráti társaságban
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Xiaomi 17 Ultra - jó az optikája
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Fejhallgató erősítő és DAC topik
- További aktív témák...
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Autodesk & CorelDRAW - Azonnal - Számlával - Garanciával
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Apple iPhone 15 128GB, Kártyafüggetlen, 1 Év Garanciával
- Eladó EDIFIER ES prémium hangszórók ES300 / ES60 / ES20
- iPhone 15 Pro Max 256GB 84% (1év Garancia)
- AKCIÓ! AMD Ryzen 9 7950X 16 mag 32 szál processzor garanciával hibátlan működéssel
- GAMER PC! Intel i9-12900KF / RX 7900 XTX / 32GB DDR4 /1TB Gen4 / B760 /1350w Platinum! BeszámítOK
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50