otomatik şekilleri seçme

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba

Sub tümü()
ActiveSheet.Shapes.SelectAll
End Sub
bu kodlar ile sayfadaki tüm otomatik şekilleri seçiyorum

Sub çizgi()
ActiveSheet.Shapes("Line 1").Select
End Sub
bu kodlar ile sayfadaki "Line 1" çizgisini seçiyorum

Sub dikdörtgen()
ActiveSheet.Shapes("Rectangle 1").Select
End Sub
bu kodlar ile sayfadaki "Rectangle 1" dikdörtgenini seçiyorum

sayfada 1 den fazla çizgi, dikdörtgen, elips, vs varsa;
tüm çizgileri veya tüm dikdörtgenleri seçmek için kodu nasıl yazarım?

Sub çizgileri_seç()
ActiveSheet.Shapes.Range(Array("Line 1", "Line 2")).Select
End Sub

şekillerin sayısı bilinmiyorsa tüm çizgi, dikdörtgen, elips vs seçmek için kodu nasıl düzenlerim?
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aşağıdaki kodu kullanınız.

Kod:
Option Explicit
Sub Sekil_Sec()
    Dim sp As Shape
    Dim arrShape() As Variant
    Dim i As Integer
    
    With ActiveSheet
        
        For Each sp In .Shapes
            If sp.Type = msoAutoShape Or sp.Type = msoLine Then
                i = i + 1
                ReDim Preserve arrShape(1 To i)
                arrShape(i) = sp.Name
            End If
        Next
        
        .Shapes.Range(arrShape).Select
    
    End With
    
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn Ferhat Pazarçevirdi, ilginize teşekkür ederim.

benim kodlar aktif sayfadaki bütün şekilleri seçiyordu (çizgi, dikdörtgen, elips, buton, açılır kutu, liste kutusu vs. ne bulursa seçiyordu) sizin kodlar sadece otomatik şekilleri seçmiyor.
sadece çizgiler veya sadece dikdörtgenleri nasıl seçerim?
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
O zaman; döngünün ilk satırını aşağıdaki gibi değiştirin.

Kod:
            If sp.AutoShapeType = msoShapeRectangle Or _
               sp.Type = msoLine Then
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn Ferhat Pazarçevirdi,
aşağıdaki şekilde kullanınca sorunu çözmüştüm, siz benden önce cevap vermişsiniz. çok teşekkür ederim

'If sp.Type = msoAutoShape Or sp.Type = msoLine Then
If sp.Type = msoLine Then
 
Üst