Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- bambano: Bambanő háza tája
- sziku69: Szólánc.
- btz: Internet fejlesztés országosan!
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Luck Dragon: Asszociációs játék. :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Navaren: Resident Evil Requiem szösszenet
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: MárkaLánc
-
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
-
Mutt
senior tag
válasz
darvak
#44231
üzenetére
Szia,
...a Linkedcell cellákat beállítja az aktív munkafüzeten lévő összes beillesztett jelölőnégyzetre egységesen pl. 7 db cellával jobbra...
Próbáld ki a lenti kódot. A sorEltol és oszlopEltol állandókat változtatva tudod megadni, hogy mennyivel legyenek arrébb a kapcsolt cellák.
Sub UpdateLinkedCells()
Dim sp As Shape
Dim sor As Long
Dim rng As Range
Const sorEltol As Long = 0
Const oszlopEltol As Long = 7
For Each sp In ActiveSheet.Shapes
'az aktív lapon talált objektumok közül csak a jelölőnégyzeteket keressük meg
If sp.DrawingObject.progID Like "*CheckBox*" Then
'a jelőlőnégyzet a TopLeftCell.Column oszlopban található, de hogy melyik sorban azt
'csak a magassága alapján tudjuk megmondani
sor = getRow(sp.top + sp.Height / 2)
'ha megvannak sor és oszlop azonosítók, akkor toljuk el a megadott értékkel őket ha ráférnek még a lapra
If sor + sorEltol <= Rows.Count And sp.TopLeftCell.Column + oszlopEltol <= Columns.Count Then
Set rng = Cells(sor + sorEltol, sp.TopLeftCell.Column + oszlopEltol)
'mentsük át az új helyre az eddigi értéket
rng = Range(sp.DrawingObject.LinkedCell)
'töröljük a korrábi hely tartalmát
Range(sp.DrawingObject.LinkedCell).ClearContents
'linkeljük be az újat
sp.DrawingObject.LinkedCell = rng.Address
End If
End If
Next sp
End Sub
Function getRow(pos As Double) As Long
Dim c As Long
Dim h As Long
c = 0
h = 0
Do While pos > h
c = c + 1
h = h + ActiveSheet.Cells(c, 1).Height
Loop
getRow = c
End Functionüdv
Új hozzászólás Aktív témák
Hirdetés
- Játékkulcsok olcsón: Steam, Uplay, GoG, EA, Xbox stb.
- Microsoft és egyéb dobozos és OEM szoftverek
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Microsoft Office 2024 Home Business dobozos
- Eladó jogtiszta, Windows 11/10, Office 2019/2021/2024, Fizikai és Digitális licencek, Számlával.
- Sony Ps5 konzol slim
- AKCIÓ! 4TB Western Digital Red Pro SATA HDD meghajtó garanciával hibátlan működéssel
- AKCIÓ! Intel Core i5 8500 6 mag 6 szál processzor garanciával hibátlan működéssel
- Xiaomi Mi 10T Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- 233 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5080
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50