for döngüsüyle textbox girişi

Katılım
5 Şubat 2009
Mesajlar
24
Excel Vers. ve Dili
2003 turkish
arkadaşlar 40 42 44... şeklinde giden sütunlardan a satırındaki veriyi 27,28,29... numaralı textboxlara yazmam gerek ama aşağıdaki kod çalışmıyor a değişkeni daha önce tanımlanmıştır satır sayısı olarak

Dim tb As Integer
For i = 40 To 52
tb = 27
"TextBox"& tb & .Value = Cells(a, i)
i = i + 1
tb= tb + 1
Next

.value kısmında hata veriyor
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,640
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Hata veren satırı aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Controls("TextBox" & tb).Value = Cells(a,i).Value
 
Katılım
5 Şubat 2009
Mesajlar
24
Excel Vers. ve Dili
2003 turkish
Selamlar,

Hata veren satırı aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Controls("TextBox" & tb).Value = Cells(a,i).Value
Teşekkürler Ayhan Bey işe yaradı tabii tb=27 yazan yeri forun dışına çıkartınca asıl işini gördü birde .findla ilgili bir sorum var.

a = Range("b2:b189").Find(What:=ComboBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
True).Row

b = Range("an3:bk3").Find(What:=ComboBox3.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False).Column

a doğru değeri alıyor fakat b satırında hata veriyor iki değişkende int olarak tanımlı columnlat harf olduğu için b ye dğeer atamıyor olabilirmi columnun sayısal ifadesini b ye atamam gerekli.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,640
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Find komutu değer bulamadığında hata ile sonuçlanır. Bu sebeple arama işlemini setleyerek hafızaya almak gerekir. Aşağıdaki yapıyı kullanabilirsiniz.

Kod:
Set Bul = Range("AN3:BK3").Find(ComboBox3.Value)
If Not Bul Is Nothing Then
Sütun = Bul.Column
End If
 
Katılım
5 Şubat 2009
Mesajlar
24
Excel Vers. ve Dili
2003 turkish
Selamlar,

Find komutu değer bulamadığında hata ile sonuçlanır. Bu sebeple arama işlemini setleyerek hafızaya almak gerekir. Aşağıdaki yapıyı kullanabilirsiniz.

Kod:
Set Bul = Range("AN3:BK3").Find(ComboBox3.Value)
If Not Bul Is Nothing Then
Sütun = Bul.Column
End If
Şimdi doğru değeri atadı fakat başka bir makroda bu iki değişkeni kullanmam gerekli mevcut makrodan çıkıldığında bu değişkenler siliniyor global olarak nasıl tanımlayabilirim heryerde bu a , b ulaşılabilsin.
 
Katılım
5 Şubat 2009
Mesajlar
24
Excel Vers. ve Dili
2003 turkish
F8 ile kodu işlettiğimde ilgili macrodan çıkarken end sub satırında değişkenleri sıfırladığını gördüm bunu engellemek için nasıl bir değişken kullanmam gerek.
 
Üst