45 ADET TEXTBOX`A GİRİLEN VERİYİ HÜCREYE AKTAR

Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Arkadaşlar çalışmalarınızda başarılar dilerim.

Ekli örnekte de görüleceği üzere 45 adet textbox var, bunlardan tamamında yada bazılarında veri gişi olacak ve bu veriler seçtiğim ay`ın bulunduğu hücrelere aktarılacak. Ben bunu IF-Then komutu ile yapmaya çalıştım ama kod çok uzun oldu. :kafa:

Kodları kısaltarak bu işlemi nasıl yapabiliriz. Bu konuda yardımcı olursanız sevinirim. Saygılarımla.
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın veyselemre, çok çok teşekkür ederim. İyi ki varsınız. ALLAH sizden razı olsun. :dua:
Elinize yüreğinize sağlık.

Saygılarımla. :mutlu:
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın veyselemre, bir konuda daha takıldım. Verilerin aktarılmasını istediğimiz hücre seçimini yapmak için aşağıdaki kodu nasıl değiştirmemiz lazım. Yani ocak ayının başlangıç satır ve sütununu değiştirirsek (Ekli örnekte olduğu gibi)

Lütfen bu konuda da bilgi verirseniz memnun olurum. Saygılarımla :hey:

Private Sub CommandButton3_Click()
ay = 0
If OptionButton1.Value = True Then ay = 1
If OptionButton2.Value = True Then ay = 2
If OptionButton3.Value = True Then ay = 3
If OptionButton4.Value = True Then ay = 4
If OptionButton5.Value = True Then ay = 5
If OptionButton6.Value = True Then ay = 6
If OptionButton7.Value = True Then ay = 7
If OptionButton8.Value = True Then ay = 8
If OptionButton9.Value = True Then ay = 9
If OptionButton10.Value = True Then ay = 10
If OptionButton11.Value = True Then ay = 11
If OptionButton12.Value = True Then ay = 12
If ay = 0 Then
MsgBox "Lütfen Ay Seçiniz...."
Exit Sub
End If
sut = (3 * (ay - 1)) + 1
For i = 0 To 2
For ii = 2 To 16
Cells(Controls("textbox" & ii + (i * 15)).Tag, sut + i) = Controls("textbox" & ii + (i * 15)).Value
Next ii
Next i
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Sutunlar için aşağıdaki değişikliği yapın.
sut = (3 * (ay - 1)) + 17

Satırlar ise Textboxların Propertieslerinden tag ayarlarını yeniden ayarlayın.

yada değiştirmeten satırlara 3 ekleyin
Cells(Controls("textbox" & ii + (i * 15)).Tag+3, sut + i) = Controls("textbox" & ii + (i * 15)).Value
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Sn veyselemre, elinize yüreğinize sağlık, çok teşekkür ederim. :dua:

İşlem tamam :eek:k::

Saygılarımla
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın veyselemre, kodları kendi dosyama uyarlamaya çalışıyorum. Ancak, aşağıdaki kodda hata veriyor.

Cells(Controls("textbox" & ii + (i * 15)).Tag+3, sut + i) = Controls("textbox" & ii + (i * 15)).Value

HATA MESAJI İSE ŞÖYLE; Run-time error '13':
Type mismatch

Acaba nerede hata yapıyorum. Bir türlü bulamadım. :kafa:
:kafa:

Saygılarımla
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Örnek dosya eklerseniz, iyi olur, muhtemelen textboxların isimleri tutmuyordur.
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın veyselemre, örnek dosya ekliyorum. İlginizden dolayı ne kadar teşekkür etsem azdır. Saygılarımla. :arkadas:
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Textboxların taglarını doldurmamışsınız, o yüzden kodlarınızı başka bir şekilde düzenledim.

[vb:1:9d238dbb2d]Private Sub CommandButton3_Click()
'On Error Resume Next
Sheets("Sayfa15").Select
ay = 0
If OptionButton1.Value = True Then ay = 1
If OptionButton2.Value = True Then ay = 2
If OptionButton3.Value = True Then ay = 3
If OptionButton4.Value = True Then ay = 4
If OptionButton5.Value = True Then ay = 5
If OptionButton6.Value = True Then ay = 6
If OptionButton7.Value = True Then ay = 7
If OptionButton8.Value = True Then ay = 8
If OptionButton9.Value = True Then ay = 9
If OptionButton10.Value = True Then ay = 10
If OptionButton11.Value = True Then ay = 11
If OptionButton12.Value = True Then ay = 12
If ay = 0 Then MsgBox "Lütfen Ay Seçiniz..."
sut = (3 * (ay - 1)) + 20
For i = 0 To 2
sat = 5
For ii = 2 To 16
If sat = 12 Then sat = sat + 1
If sat = 18 Then sat = sat + 2
Cells(sat, sut + i) = Controls("textbox" & ii + (i * 15)).Value
sat = sat + 1
Next ii
Next i
MsgBox "DÖNEM BİLGİLERİ KAYDEDİLMİŞTİR!", 16, "DİKKAT"
End Sub
[/vb:1:9d238dbb2d]
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Sn veyselemre, herşey gönlünüzce olsun. Çok teşekkürler. :arkadas:
 
Katılım
20 Şubat 2006
Mesajlar
259
Arkadaşlar,
teessüf ederim. Böyle güzel bir sorunun örnekli bir soru ve cevabı olsaydı da en azından exel bilgimizi zenginleştirseydik dimi ama.
İlginiz için teşekkürler...
 
Üst