Hirdetés
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- laskr99: DFI és DFI Lanparty gyűjteményem
- eBay-es kütyük kis pénzért
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Ágymatrac keresési kálvária
- gban: Ingyen kellene, de tegnapra
- sh4d0w: Kalózkodás. Kalózkodás?
Új hozzászólás Aktív témák
-
Delila_1
veterán
válasz
salmiakki
#2587
üzenetére
Igaz, hogy Control-t kérdeztél, de ez a makró az eddig felvitt legalsó és jobb szélső elemek bármilyen objektum alá-, és tőle jobbra 5 ponttal helyezi az új objektumot.
Sub UjElem()
Dim Bal As Single, Lent As Single, i As Long
For i = 1 To ActiveSheet.Shapes.Count
With ActiveSheet.Shapes(i)
If .Left + .Width > Bal Then Bal = .Left + .Width + 5
If .Top + .Height > Lent Then Lent = .Top + .Height + 5
End With
Next
ActiveSheet.Shapes.AddShape(msoShapeRectangle, Bal, Lent, 70#, 58#).Select
End SubAz
ActiveSheet.Shapes.AddShape(msoShapeRectangle, Bal, Lent, 70#, 58#).Select
sorban kell meghatároznod az új elem típusát. A két utolsó érték helyére írd be a kívánt szélességet, és magasságot. Ez most egy téglalapot tesz be, de ha a sor helyett ezt írod:
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=Bal, Top:=Lent, Width:=102.75, Height:=25.5).Selectakkor egy beviteli mezőt tesz a megfelelő helyre.
Ez meg szépen egymás alá teszi a beviteli mezőket:
Sub mm()
Dim Bal As Single, Lent As Single, i As Long
For i = 1 To ActiveSheet.Shapes.Count
With ActiveSheet.Shapes(i)
If .Left > Bal Then Bal = .Left
If .Top + .Height > Lent Then Lent = .Top + .Height + 3
End With
Next
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=Bal, Top:=Lent, Width:=69.75, Height:=24).Select
End Sub -
Delila_1
veterán
válasz
salmiakki
#2587
üzenetére
A lenti makró az újonnan betett objektum helyzetét vizsgálja, de csak az előtte berakott utolsóhoz képest. Ha az utolsó előttit takarja, üzenetet küld. Az ábrán kiemelt rész mutatja, hogy olyan esetben is jelez, ha látszólag nincs takarás, de a valóságban igen.
Sub Takar_e()
Dim elozo As Integer
Dim B_uj As Single, J_uj As Single, F_uj As Single, A_uj As Single
Dim B_elozo As Single, J_elozo As Single, F_elozo As Single, A_elozo As Single
Dim Vizsz As Boolean, Fugg As Boolean
Vizsz = False: Fugg = False
'Új alakzat adatai
With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
B_uj = .Left 'bal szél
J_uj = .Left + .Width 'jobb szél
F_uj = .Top 'felső pont
A_uj = .Height + .Top 'alsó pont
End With
'Előző alakzat adatai
elozo = ActiveSheet.Shapes.Count - 1
With ActiveSheet.Shapes(elozo)
B_elozo = .Left 'bal szél
J_elozo = .Left + .Width 'jobb szél
F_elozo = .Top 'felső pont
A_elozo = .Top + .Height 'alsó pont
End With
If B_uj >= B_elozo And B_uj <= J_elozo Then Vizsz = True
If J_uj >= B_elozo And J_uj <= J_elozo Then Vizsz = True
If F_uj >= F_elozo And F_uj <= A_elozo Then Fugg = True
If A_uj >= F_elozo And A_uj <= A_elozo Then Fugg = True
If Vizsz = True And Fugg = True Then
MsgBox "Az előző (" & ActiveSheet.Shapes(elozo).Name & " nevű) objektum takarásban van", vbExclamation
Else: MsgBox "Nincs takarásban az előző objektum"
End If
End Sub
Új hozzászólás Aktív témák
- sziku69: Szólánc.
- Házimozi haladó szinten
- AliExpress tapasztalatok
- Milyen TV-t vegyek?
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Milyen belső merevlemezt vegyek?
- PlayStation 5
- Elektromos autók - motorok
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kerékpárosok, bringások ide!
- További aktív témák...
- 170 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- magyar billentyűzet - 165 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- 164 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- Microsoft Surface Hub 2s - Interaktiv 4K monitor/ All in one PC - I5 8. generációs - Piaci ár alatt
- Benq - LU951- 5000 Ansi Lézer projektor - Piaci ár alatt
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3878, 100% Akksi
- Bomba ár! Lenovo X1 Yoga 3rd - i5-8GEN I 8GB I 256GB SSD I 14" FHD Touch I W11 I CAM I Garancia!
- Dell Precision 7920 Tower Dual Xeon Gold 6132 (28C/56T) 128GB DDR4 2666MHz Workstation
- GYÁRI TÖLTŐK Macbook Magsafe 2 Budapest,/MPL/Foxpost
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


