Hirdetés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S24 - nos, Exynos
- Huawei Mate 40 Pro - a csúcson kell abbahagyni?
- iPhone topik
- Hitelesített viszonteladói programot indított az Ulefone
- Szívós, szép és kitartó az új OnePlus óra
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Kicsomagoljuk és bemutatjuk a Poco F8 Ultrát
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Android alkalmazások - szoftver kibeszélő topik
-
Mobilarena
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
- Milyen légkondit a lakásba?
- Kormányok / autós szimulátorok topikja
- GoodSpeed: Philips AWP9820 (vízlágyító) Calgon helyett?
- Filmvilág
- Eredeti játékok OFF topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Parci: Milyen mosógépet vegyek?
- Projektor topic
- One otthoni szolgáltatások (TV, internet, telefon)
- Okos Otthon / Smart Home
- További aktív témák...
- Gyermek PC 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Ó
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Samsung Bluetooth Mouse Slim egér
- Bomba ár! Lenovo ThinkPad X280 - i7-8550U I 16GB I 512SSD I 12,5" I HDMI I Cam I W11 I Gari!
- Vásárlunk iPhone 12/12 Mini/12 Pro/12 Pro Max
- HIBÁTLAN iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4078
- BESZÁMÍTÁS! Dell Latitude 3530 üzleti notebook - i5 1235U 8GB DDR4 512GB SSD Intel Iris Xe WIN11
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Fferi50

