• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sheet içinde textboxlar

Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Merhaba

Bir sayfa içerisinde yaklaşık 600 adet textbox'ım var. O yüzden dosya açılışta ve kapanışta haliyle beklemek zorunda kalıyorum. Bir çaresi varmıdır

Hücre kullanmıyorum. Nedeni ise konumlarından dolayı textboxları harita içinde kullanıyorum. Standart hep aynı konumda değil veriler
 

Ekli dosyalar

Olabilir aslında. Ayrıca bir konu açmak yerine buradan sorumu sorayım

Şöyle bir durumum var. Eğer metin kutusunun içi boş ise transparan değil ise sarı renk dolgu yapmasını istiyorum. O yüzden döngü yazmayı düşündüm. Lakin "i" değişkenini atayamıyorum. Yardımcı olursanız memnun olurum.

Daha kolay başka bir yöntem var ise ona da kabulüm

Kod:
Sub bak()
Dim i As Integer
For i = 5 To 8
    If Sheets("Sayfa1").Shapes.Range(Array("i")).TextFrame.Characters.Text = "" Then
    Sheets("Sayfa1").Shapes.Range(Array("i")).Fill.Visible = msoFalse
    Else
    Sheets("Sayfa1").Shapes.Range(Array("i")).Fill.Visible = msoTrue
    Sheets("Sayfa1").Shapes.Range(Array("i")).Fill.ForeColor.RGB = RGB(255, 153, 102)
    End If
Next i
End Sub
 
Aşağıdaki kodu deneyiniz.

Kod:
Sub Renklendir()
    Dim Nesne As Shape
    For Each Nesne In Sheets("Sayfa1").Shapes
        If Nesne.Type = msoOLEControlObject Then
            If InStr(1, Nesne.OLEFormat.progID, "TextBox") > 0 Then
                If Nesne.AlternativeText = "" Then
                    Nesne.DrawingObject.Object.BackColor = &H80FFFF
                End If
            End If
        End If
    Next
End Sub
 
Korhan Bey

Kodu denedim, ama çalışmadı
Dosyamı ekledim. Yardımcı olursanız memnun olurum
 

Ekli dosyalar

Benim cevabım ilk eklediğiniz dosyaya göreydi. Onda deneyiniz.
 
Korhan bey sizin yazdığınız kodu textbox değilde metin kutusu şeklinde nasıl çevirebiliriz
Textboxlar dosyayı zorladığı için metin kutusuna dönüş yapmıştım. (2. mesajımda belirtmiştim)
 
Forumda döngü olarak Controls("TextBox" & i) olarak kullanıldığını gördüm. Lakin benim kodlarıma uygulamak istediğimde hata veriyor.

Kod:
Sub bak()
Dim i As Integer
For i = 5 To 6
    If Sheets("Sayfa1").Shapes.Range(Array(Controls("TextBox" & i))).TextFrame.Characters.Text = "" Then
    Sheets("Sayfa1").Shapes.Range(Array(Controls("TextBox" & i))).Fill.Visible = msoFalse
    Else
    Sheets("Sayfa1").Shapes.Range(Array(Controls("TextBox" & i))).Fill.Visible = msoTrue
    Sheets("Sayfa1").Shapes.Range(Array(Controls("TextBox" & i))).Fill.ForeColor.RGB = RGB(255, 153, 102)
    End If
Next i
End Sub
 
Kod'daki "TextBox" ibarelerini "Metin Kutusu" şeklinde değiştirerek denediniz mi?

Örnek belgenize bakmadım.
Nesneyi seçtiğinizde formül çubuğunun en solundaki kısımda, seçilen nesnenin adına bakın.
Döngüde o adı kullanın.
.
 
Ömer bey
Shapes.Range(Array(Controls("Metin Kutusu" & i)))
Shapes.Range(Array("Metin Kutusu" & i))
Shapes.Range(Array("i"))
Shapes.Range(Array(i))

Yukarıdaki şekillerde denedim olmadı. Bu kısmı halledebilirsem, döngü ile metin kutusunu transparan ve dolgu yapabileceğim. Ama burada takıldım, kaldım
 
Geri
Üst