İşin Mantığını öğrenmek

Katılım
1 Ağustos 2005
Mesajlar
41
Öncelikle herkese teşekkür etmek istiyorum. bu siteyi görene kadar makrolar hakkında hiçbirşey bilmiyordum ama şimdi sizlerin katkısıyla bir yere gelebildim inşallah dahada iyi olacak.
Sorunum şu aşağıdaki makro ile 85 adet tektboxa girilen verileri çıktı alınacak sayfaya 4 Sütuna alt alta) oradanda veri tabanı sayfasına(tek satır 85 sütuna) aktarıyorum (NOT: BU MAKROYUDA SİZİN KATKILARINIZLA YAPTIM) ama gördüğünüz gibi her texbox için ayrı bi satır yazman gerekiyor. emek vermekten kaçtığım anlaşılmasın lütfen ama bazı örneklerde bunu 3-4 satırda halledildiğini görüyorum. ne yapmam lazım mantığını nasıl kavrayabilirim. yada aşağıdaki örneği açıklamalı olarak üstadlarımız anlatabilirlerse ben diğer yerlere uygulayabilirim.
Yardımlarınız için teşekkür ederim.

Private Sub CommandButton1_Click()
If OptionButton1.Value = True Then
Set S1 = Sheets("teslim kayıt defteri")
ElseIf OptionButton2.Value = True Then
Set S1 = Sheets("teslim kayıt defteri 2")
ElseIf OptionButton2.Value = True Then
Set S1 = Sheets("teslim kayıt defteri 3")
Else
MsgBox "Lütfen Harita Ölçeğini Seçiniz.", vbExclamation, "DİKKAT !"
Exit Sub
End If
Sheets("HARİTA TESLİM FİŞİ").Select
Range("f1").Value = TextBox1.Text
Range("a12").Value = TextBox2.Text
Range("c12").Value = TextBox3.Text
Range("e12").Value = TextBox4.Text
Range("g12").Value = TextBox5.Text
Range("a13").Value = TextBox6.Text
Range("c13").Value = TextBox7.Text
Range("e13").Value = TextBox8.Text
Range("g13").Value = TextBox9.Text
Range("a14").Value = TextBox10.Text
Range("c14").Value = TextBox11.Text
Range("e14").Value = TextBox12.Text
Range("g14").Value = TextBox13.Text
Range("a15").Value = TextBox14.Text
Range("c15").Value = TextBox15.Text
Range("e15").Value = TextBox16.Text
Range("g15").Value = TextBox17.Text
Range("a16").Value = TextBox18.Text
Range("c16").Value = TextBox19.Text
Range("e16").Value = TextBox20.Text
Range("g16").Value = TextBox21.Text
Range("a17").Value = TextBox22.Text
Range("c17").Value = TextBox23.Text
Range("e17").Value = TextBox24.Text
Range("g17").Value = TextBox25.Text
Range("a18").Value = TextBox26.Text
Range("c18").Value = TextBox27.Text
Range("e18").Value = TextBox28.Text
Range("g18").Value = TextBox29.Text
Range("a19").Value = TextBox30.Text
Range("c19").Value = TextBox31.Text
Range("e19").Value = TextBox32.Text
Range("g19").Value = TextBox33.Text
Range("a20").Value = TextBox34.Text
Range("c20").Value = TextBox35.Text
Range("e20").Value = TextBox36.Text
Range("g20").Value = TextBox37.Text
Range("a21").Value = TextBox38.Text
Range("c21").Value = TextBox39.Text
Range("e21").Value = TextBox40.Text
Range("g21").Value = TextBox41.Text
Range("a22").Value = TextBox42.Text
Range("c22").Value = TextBox43.Text
Range("e22").Value = TextBox44.Text
Range("g22").Value = TextBox45.Text
Range("a23").Value = TextBox46.Text
Range("c23").Value = TextBox47.Text
Range("e23").Value = TextBox48.Text
Range("g23").Value = TextBox49.Text
Range("a24").Value = TextBox50.Text
Range("c24").Value = TextBox51.Text
Range("e24").Value = TextBox52.Text
Range("g24").Value = TextBox53.Text
Range("a25").Value = TextBox54.Text
Range("c25").Value = TextBox55.Text
Range("e25").Value = TextBox56.Text
Range("g25").Value = TextBox57.Text
Range("a26").Value = TextBox58.Text
Range("c26").Value = TextBox59.Text
Range("e26").Value = TextBox60.Text
Range("g26").Value = TextBox61.Text
Range("a27").Value = TextBox62.Text
Range("c27").Value = TextBox63.Text
Range("e27").Value = TextBox64.Text
Range("g27").Value = TextBox65.Text
Range("a28").Value = TextBox66.Text
Range("c28").Value = TextBox67.Text
Range("e28").Value = TextBox68.Text
Range("g28").Value = TextBox69.Text
Range("a29").Value = TextBox70.Text
Range("c29").Value = TextBox71.Text
Range("e29").Value = TextBox72.Text
Range("g29").Value = TextBox73.Text
Range("a30").Value = TextBox74.Text
Range("c30").Value = TextBox75.Text
Range("e30").Value = TextBox76.Text
Range("g30").Value = TextBox77.Text
Range("a31").Value = TextBox78.Text
Range("c31").Value = TextBox79.Text
Range("e31").Value = TextBox80.Text
Range("g31").Value = TextBox81.Text
Range("a48").Value = TextBox82.Text
Range("h5").Value = TextBox83.Text
Range("a53").Value = TextBox84.Text
Range("h6").Value = TextBox85.Text
Sheets("HARİTA TESLİM FİŞİ").Select
sat = S1.Cells(65536, "B").End(xlUp).Row + 1
With S1
.Cells(sat, "A").Value = Range("f1").Value
.Cells(sat, "B").Value = Range("A12").Value
.Cells(sat, "C").Value = Range("c12").Value
.Cells(sat, "D").Value = Range("e12").Value
.Cells(sat, "E").Value = Range("g12").Value
.Cells(sat, "f").Value = Range("a13").Value
.Cells(sat, "g").Value = Range("c13").Value
.Cells(sat, "h").Value = Range("e13").Value
.Cells(sat, "ı").Value = Range("g13").Value
.Cells(sat, "j").Value = Range("a14").Value
.Cells(sat, "k").Value = Range("c14").Value
.Cells(sat, "l").Value = Range("e14").Value
.Cells(sat, "m").Value = Range("g14").Value
.Cells(sat, "n").Value = Range("a15").Value
.Cells(sat, "o").Value = Range("c15").Value
.Cells(sat, "p").Value = Range("e15").Value
.Cells(sat, "q").Value = Range("g15").Value
.Cells(sat, "r").Value = Range("a16").Value
.Cells(sat, "s").Value = Range("c16").Value
.Cells(sat, "t").Value = Range("e16").Value
.Cells(sat, "u").Value = Range("g16").Value
.Cells(sat, "v").Value = Range("a17").Value
.Cells(sat, "w").Value = Range("c17").Value
.Cells(sat, "x").Value = Range("e17").Value
.Cells(sat, "y").Value = Range("g17").Value
.Cells(sat, "z").Value = Range("a18").Value
.Cells(sat, "aa").Value = Range("c18").Value
.Cells(sat, "ab").Value = Range("e18").Value
.Cells(sat, "ac").Value = Range("g18").Value
.Cells(sat, "ad").Value = Range("a19").Value
.Cells(sat, "ae").Value = Range("c19").Value
.Cells(sat, "af").Value = Range("e19").Value
.Cells(sat, "ag").Value = Range("g19").Value
.Cells(sat, "ah").Value = Range("a20").Value
.Cells(sat, "aı").Value = Range("c20").Value
.Cells(sat, "aj").Value = Range("e20").Value
.Cells(sat, "ak").Value = Range("g20").Value
.Cells(sat, "al").Value = Range("a21").Value
.Cells(sat, "am").Value = Range("c21").Value
.Cells(sat, "an").Value = Range("e21").Value
.Cells(sat, "ao").Value = Range("g21").Value
.Cells(sat, "ap").Value = Range("a22").Value
.Cells(sat, "aq").Value = Range("c22").Value
.Cells(sat, "ar").Value = Range("e22").Value
.Cells(sat, "as").Value = Range("g22").Value
.Cells(sat, "at").Value = Range("a23").Value
.Cells(sat, "au").Value = Range("c23").Value
.Cells(sat, "av").Value = Range("e23").Value
.Cells(sat, "aw").Value = Range("g23").Value
.Cells(sat, "ax").Value = Range("a24").Value
.Cells(sat, "ay").Value = Range("c24").Value
.Cells(sat, "az").Value = Range("e24").Value
.Cells(sat, "ba").Value = Range("g24").Value
.Cells(sat, "bb").Value = Range("a25").Value
.Cells(sat, "bc").Value = Range("c25").Value
.Cells(sat, "bd").Value = Range("e25").Value
.Cells(sat, "be").Value = Range("g25").Value
.Cells(sat, "bf").Value = Range("a26").Value
.Cells(sat, "bg").Value = Range("c26").Value
.Cells(sat, "bh").Value = Range("e26").Value
.Cells(sat, "bı").Value = Range("g26").Value
.Cells(sat, "bj").Value = Range("a27").Value
.Cells(sat, "bk").Value = Range("c27").Value
.Cells(sat, "bl").Value = Range("e27").Value
.Cells(sat, "bm").Value = Range("g27").Value
.Cells(sat, "bn").Value = Range("a28").Value
.Cells(sat, "bo").Value = Range("c28").Value
.Cells(sat, "bp").Value = Range("e28").Value
.Cells(sat, "bq").Value = Range("g28").Value
.Cells(sat, "br").Value = Range("a29").Value
.Cells(sat, "bs").Value = Range("c29").Value
.Cells(sat, "bt").Value = Range("e29").Value
.Cells(sat, "bu").Value = Range("g29").Value
.Cells(sat, "bv").Value = Range("a30").Value
.Cells(sat, "bw").Value = Range("c30").Value
.Cells(sat, "bx").Value = Range("e30").Value
.Cells(sat, "by").Value = Range("g30").Value
.Cells(sat, "bz").Value = Range("a31").Value
.Cells(sat, "ca").Value = Range("c31").Value
.Cells(sat, "cb").Value = Range("e31").Value
.Cells(sat, "cc").Value = Range("g31").Value
.Cells(sat, "cd").Value = Range("a48").Value
.Cells(sat, "ce").Value = Range("h5").Value
.Cells(sat, "cf").Value = Range("a53").Value
.Cells(sat, "cg").Value = Range("h6").Value
End With
MsgBox "Teslim Edilen Harita Deftere Kaydedildi.. Tamam a tıklayınca Harita Teslim Fişi Yazdırılacak!!", vbOKOnly + vbinf
Sheets("harita teslim fişi").PrintOut Copies:=2
S1.Select
Set S1 = Nothing
End Sub
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
bu tür kodları kısaltabilmek için döngü kurmak gerekiyorki, döngü kurmak içinde döngünün başından sona kadar belirli bir sıralama içinde olunması gerekiyor. sizin verdiğiniz kodda hem düz sıralı hemde ara sıralı bölümleriniz var. bunun için iç içe döngü şart olabilir.

ben size aşağıya örneğinizin textbox1den textbox85 e kadar olanı yazayım. sizde ona göre hem bakın, hem diğer kısım için kendiniz uyarlamaya çalışın..


Kod:
i = 2
For k = 12 To 31
For j = 1 To 7 Step 2
Cells(k, j).Value = Controls("textbox" & i).Text
If i > 81 Then Exit Sub
i = i + 1
Next j, k
[COLOR=seagreen]'bundan sonrakilerin sıralamaları düzgün ve[/COLOR]
[COLOR=seagreen]'simetrik gitmediği için aşağıdakileri döngü olmadan yazıyoruz.[/COLOR]
Range("f1").Value = TextBox1.Text
Range("a48").Value = TextBox82.Text
Range("h5").Value = TextBox83.Text
Range("a53").Value = TextBox84.Text
Range("h6").Value = TextBox85.Tex
 
Katılım
1 Ağustos 2005
Mesajlar
41
teşekkürler

isayın Ayhan Ercan yardımlarınız için teşekkürler çok sağolun. yazdığınız kodlar ve döngü mantığı hayli işime yarayacak. tekrar teşekkür ederim
 
Üst