- Felfüggesztette egyes memóriakártyáinak forgalmazását a Sony
- Csillagfelhő áztatná el Elon Musk űrkarneválját
- AMD-s AI-ra építenek az ASUS üzleti portfóliójának új egybegépei
- Rejtély az űr csendjében: ezért kellett kimenekíteni az Űrállomás csapatát
- Kipukkadt a videós AI lufi? A Sora elkaszálása csak a kezdet
- Apple MacBook
- Milyen egeret válasszak?
- ASUS notebook topic
- A jövőben egy új foglalat több CPU-generációt is kiszolgál majd az Intelnél
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Autóhifi
- Milyen TV-t vegyek?
- LG LCD és LED TV-k
- TCL LCD és LED TV-k
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
-
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
-
Mutt
senior tag
Hello,
...miért áll meg a debug a Range("B21:B" & usor). Select sornál....
Az egyik probléma, hogy az usor-t rosszul határozod meg.
A .Range("B21:B" & Rows.Count).End(xlDown).Row + 1 azt mondja, hogy menjen el az utolsó sorba és használja a következőt, az utolsó után már nincs sor.Ha a B21 után használt utolsó cella sora kell, akkor xlDown helyett xlUp-ot használj.
A másik probléma itt, hogy a .Range("B21:B" & Rows.Count).End nem jó, mivel azt csinálod hogy B21:B1048576-os tartományt kijelölöd, a kurzor továbbra is B21-ben van, de nyomsz egy END-et vagyis elugorsz végre B1048576-re. Ez így felesleges, egy lépésben csináld: Range("B" & Rows.Count).End
A kódban a Selectek miatt nem lehet követni, hogy éppen hova akarsz dolgozni. Valójában az aktív lapod nem változik, maradsz a beolvas-on, ezért javaslom, hogy rendesen írd ki, hogy éppen hol akarsz módosítani.
pl. Range("B21:B" & usor).Select helyett
ThisWorkbook.Sheets(lapnev).Range("B21:B" & usor).SelectVégül pedig lehet pár dolgot egylépésben is csinálni.
Range("D2").Select
Selection.Copyhelyette:
Range("D2").CopyVagy a végén:
Sheets("beolvas").Select
Range("A2").Select
Selection.Clearhelyette:
Sheets("beolvas").Range("A2").ClearItt van a javított változat:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim usor As Long
Dim lapnev As String
If Range("A2") <> Empty And Range("A4") = "OK" Then
Range("D2").Copy
lapnev = Range("F2")
Sheets(lapnev).Select
usor = ThisWorkbook.Sheets(lapnev).Range("B" & Rows.Count).End(xlUp).Row + 1
ThisWorkbook.Sheets(lapnev).Range("B21:B" & usor).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("beolvas").Range("A2").Clear
End If
End Subüdv
Új hozzászólás Aktív témák
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- MS SQL Server 2016, 2017, 2019
- AlzaErgo ErgoArm D65BN Essential
- iPhone 13 mini 128GB 100% (1év Garancia)- ÚJ EREDETI AKKUMULÁTOR
- GIGA AKCIÓ!!! MacBook Air M4 24GB 512GB Garancia! Starlight / SKY / SILVER
- iPhone 17 Pro 256 GB Silver - Bontatlan !! www.stylebolt.hu - Apple eszközök - Számlás
- Használt Zealot S79 hordozható bluetooth hangfal fekete / 12 hó jótállás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50
