Hirdetés
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- talmida: Változások 2. rész
- GoodSpeed: Mutasd magad topic!
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
- aquark: Zsebszámológépek
- D1Rect: Nagy "hülyétkapokazapróktól" topik
-
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
- Google Pixel topik
- Projektor topic
- GL.iNet Flint 2 (GL-MT6000) router
- Sweet.tv - internetes TV
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Milyen TV-t vegyek?
- Android alkalmazások - szoftver kibeszélő topik
- Formula-1
- Cisco vizsgák (CCNA, CCNP, CCIE)
- Kerékpárosok, bringások ide!
- További aktív témák...
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Fferi50