Mevcut kodların for next yazımı

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Private Sub CommandButton1_Click()
Dim St As String
Dim it As String

Sheets("Günlük").Select
St = Sheets("günlük").Range("a3")
'St = Range("a3") 'Günlük!A (sütunu) Stok tipleri 12,2,24,45
it = Range("b3") 'Günlük!b (sütunu) İşlem Tiipleri P( Peşin Satış) V (Veresiye Satış) T (Tahsilat İşlemi)


If St = 12 Then
'12 kg tüp Satışlarını Bordaki 12 lik Sütununa aktarır
Sheets("tsb").Range("a11") = Sheets("günlük").Range("c3")
Sheets("tsb").Range("b11") = Sheets("günlük").Range("d3")
Sheets("tsb").Range("e11") = Sheets("günlük").Range("e3")
End If

End sub

Yukarıdaki kodları for nextle yazmama yardımcı olurmusunuz
Günlük Sayfasında başlangıç satırı 3 son satır 200
Tsb Sayfasında başlangıç satırı 11 son satır 44

Yapılacak işlme Günlük sayfasında a3 ten başlayarak a200 e kadar satırları kontrol edecek A(d) değeri 12 ise tsbde b11 den b44 e kadar sütunları kontrol edecek eğer b(e) boşsa Günlükteki c(d), d(d),e(d) hücrelerinin a(e),b(e), e(e) hücrelerine kopyalayacak
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Private Sub CommandButton1_Click()
Dim St As String 'Günlük!A (sütunu) Stok tipleri 12,2,24,45
Dim it As String 'Günlük!B (sütunu) İşlem Tipleri P(Peşin St) V (Veresiye St) T (Tahsilat İsl)

Dim g As Integer 'Günlük Satır no (for... next için)
Dim e As Integer 'Tsb Satır no / 12lik ev tüpler 11 to 44 (for... next için)
Dim p As Integer 'Tsb Satır no / 2 lik piknik tüpler 11 to 44 (for... next için)
Dim l As Integer 'Tsb Satır no / 24 lük lokanta tüpleri 11 to 23 (for... next için)
Dim s As Integer 'Tsb Satır no / 45 likSanayi tüpleri 11 to 23 (for... next için)
Dim v As Integer 'Tsb Satır no / veresiye işlemleri
Dim t As Integer 'Tsb Satır no / tahsilat işlemleri
' Cells(satır, sütun)
'St = Sheets("günlük").Range("a3")
'it = Sheets("günlük").Range("b3")

'For Next ile
'Günlük sayfasında A sütununda 3 nolu satırdan 120 nolu satıra kadar konrol et değeri 12 ise C,D,E sütunlarının ilgili satırını
'tsb sayfasında A,B,E sütunlarının ilgili satırlarına b sütunubn ilgili satırı boş ise yaz
For g = 3 To 120
St = Sheets("günlük").Cells(g, 1)
it = Sheets("günlük").Cells(g, 2)

If St = "" And it = " " Or it = "" Then
MsgBox "İşlem tipi ve stok tipi boş olduğundan dolayı işlem sonlandırılmıştır"
End
End If

If St = 12 Then 'And it = "P" Or it = "p" Then
'12 kg tüp Satışlarını Bordaki 12 lik Sütununa aktarır
Sheets("tsb").Cells(11, 1) = Sheets("günlük").Cells(g, 3) 'Range("c" & g)
Sheets("tsb").Cells(11, 2) = Sheets("günlük").Cells(g, 4) 'Range("d" & g)
Sheets("tsb").Cells(11, 5) = Sheets("günlük").Cells(g, 5) 'Range("e" & g)
End If



If St = 2 Then
'2 kg tüp Satışlarını Bordaki 2 lik Sütununa aktarır
Sheets("tsb").Cells(11, 13) = Sheets("günlük").Cells(g, 3) 'Range("c" & g)
Sheets("tsb").Cells(11, 14) = Sheets("günlük").Cells(g, 4) 'Range("d" & g)
Sheets("tsb").Cells(11, 17) = Sheets("günlük").Cells(g, 5) 'Range("e" & g)
'MsgBox St & "/" & it & " yanlış", , Test
End If
Next
End Sub

bu hale getirdim şimdi tsbde ilk boş satıra nasıl yazdıracam onu düşünüyorum bir el atarsanız :)
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayın hsayar,

Örnek dosya ekleseniz olayın anlaşılması daha kolay olur. Ayrıca ne yapıldığını anlatsanız farklı kod yapısı da uygulanabilir.

Her yiğidin bir yoğurt yemesi vardır biliyorsunuz.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
http://www.excel.web.tr/attachment.php?attachmentid=25091&d=1190885686

örnek dosya burada

yapılmak istenen
Selam arkadaşalar bundan bir kaç yıl önce bir tüpçüde çalışıyordum o zaman diğer forumundan @ofcakfanus arkadaşım ile bir bordro tipi hazırlamıştık...
Şimdi bunlar onun yedeğinide kaydetmişler benim pcde vardı ama askerde iken oda format yemiş neyse ... El atarsanız tekrar yapalım hatırlamıyorum

Şimdi 1 günlük sayfamız var
A:E erimi dolu
A: stok tipi [12/2/24/45]
B: Fiş Türü [p/v/t]
c: Fiş No
d: Adı Soyadı
e: Tutarı

Birde Tsb Sayfamız var
buraya burdan verileri alıp dolduracağız:

d=3 to 225 (günlüğün A Sütutunu)
e=11 to 44 (tsb A Sütunu)+11 to 44 (tsb g Sütutunu)
P=11 to 44 (tsb M Sütunu)
l= 11 to 23 (tsb s sütunu)
s= 32 to 44 (tsb s sütunu)
v=11 to 44 (tsb Y Sütunu)
T=11 to 44 (tsb AE Sütunu)

Ev tüp kontrol
------------------------------------------------
Günlük!A(e) = 12 ve Günlük!B(i) = P ise
Tsb!A(e)=Günlük!C(d) (FişNo)
Tsb!B(e)=Günlük!d(d) (adı Soyadı)
Tsb!E(e)=Günlük!e(d) (tutarı)

Günlük!A(e) = 12 ve Günlük!B(i) = V ise
Tsb!A(e)=Günlük!C(d) (FişNo)
Tsb!B(e)=Günlük!d(d) (adı Soyadı)
Tsb!E(e)=Günlük!e(d) (tutarı)

Tsb!Y(v)=Günlük!C(d) (Fiş No)
Tsb!Z(v)=Günlük!d(d) (Adı soyadı)
Tsb!AC(v)=Günlük!e(d) (tutarı)
-------------------------------------------------
Piknik Tüp Kontrol
------------------------------------------------
Günlük!A(p) = 2 ve Günlük!B(i) = P ise
Tsb!M(p)=Günlük!C(d) (FişNo)
Tsb!N(p)=Günlük!d(d) (adı Soyadı)
Tsb!Q(p)=Günlük!e(d) (tutarı)

Günlük!A(p) = 2 ve Günlük!B(i) = V ise
Tsb!M(p)=Günlük!C(d) (FişNo)
Tsb!N(p)=Günlük!d(d) (adı Soyadı)
Tsb!Q(p)=Günlük!e(d) (tutarı)

Tsb!Y(v)=Günlük!C(d) (Fiş No)
Tsb!Z(v)=Günlük!d(d) (Adı soyadı)
Tsb!AC(v)=Günlük!e(d) (tutarı)
-------------------------------------------------
Lokanta Tüp Kontrol
------------------------------------------------
Günlük!A(l) = 24 ve Günlük!B(i) = P ise
Tsb!S(l)=Günlük!C(d) (FişNo)
Tsb!T(l)=Günlük!d(d) (adı Soyadı)
Tsb!W(l)=Günlük!e(d) (tutarı)

Günlük!A(l) = 24 ve Günlük!B(i) = V ise
Tsb!S(l)=Günlük!C(d) (FişNo)
Tsb!T(l)=Günlük!d(d) (adı Soyadı)
Tsb!W(l)=Günlük!e(d) (tutarı)

Tsb!Y(v)=Günlük!C(d) (Fiş No)
Tsb!Z(v)=Günlük!d(d) (Adı soyadı)
Tsb!AC(v)=Günlük!e(d) (tutarı)
-------------------------------------------------
Sanayi Tüpü Kontrol
------------------------------------------------
Günlük!A(s) = 45 ve Günlük!B(i) = P ise
Tsb!A(s)=Günlük!C(d) (FişNo)
Tsb!B(s)=Günlük!d(d) (adı Soyadı)
Tsb!E(s)=Günlük!e(d) (tutarı)

Günlük!A(s) = 45 ve Günlük!B(i) = V ise
Tsb!S(s)=Günlük!C(d) (FişNo)
Tsb!T(s)=Günlük!d(d) (adı Soyadı)
Tsb!W(s)=Günlük!e(d) (tutarı)

Tsb!Y(s)=Günlük!C(d) (Fiş No)
Tsb!Z(s)=Günlük!d(d) (Adı soyadı)
Tsb!AC(s)=Günlük!e(d) (tutarı)
-------------------------------------------------
Veresiye Kontrol
>>>>>>>>>>Zaten satış veresiye ise yazdık
----------------------------------------------
Tahsilat Kontrol
Günlük!A(t) = "" ve Günlük!B(i) = T ise
Tsb!AE(t)=Günlük!C(d) (FişNo)
Tsb!AF(t)=Günlük!d(d) (adı Soyadı)
Tsb!AI(t)=Günlük!e(d) (tutarı)

Şimdilik Lazım Olan kısım bu
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Yuakarıda anlatımdaki Günlük!B(i) değeri Günlük!B(d) olacaktır, yanlış yazım için özür dilerim
Sayın hsayar,

Örnek dosya ekleseniz olayın anlaşılması daha kolay olur. Ayrıca ne yapıldığını anlatsanız farklı kod yapısı da uygulanabilir.

Her yiğidin bir yoğurt yemesi vardır biliyorsunuz.
Necdet bey ilginizden dolayı teşekkür ederim yapılmak istenilenleri yukarı attım elektrikler kesildiği için editleyim teşekkür edemedim...
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sorun devam ediyor........
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Yardımlarınızı esirgemesseniz sevinirim... bir yewre kadar yaptım daha sonra beynim durudu makroları tamamne unutmuşum
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
demek çok zor bir şey istemişim :(
 
Üst