• DİKKAT

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

son satıra kadar döngü

Katılım
24 Ocak 2007
Mesajlar
27
Excel Vers. ve Dili
excel 2003
daha önce de bu sorunla ilgili bi başlık açmıştım ama artık son haline kadar geldim yapacağım şeyin. tek eksik son satıra kadar aynı işlemleri yapacak bir döngü. arkadaşlar yardımcı olmaya çalışmıştı fakat problem biraz daha genişledi.
ekte dosyayı ve ayrıntılı olarak sorunu anlattm. yardımcı olabilirseniz sevinirim.
 
Merhaba

son satıra kadar aynı veriyi yazdır diyerek döngü kurulur.
Termin tarihi ve önerilen tarih sütunundaki satırlara aynı tarihmi yazılacak.sizin raporunuza göre öyle olduğunu zannetmiyorum onun için açıklamanızı biraz daha genişletebilirmisiniz.

O sütundaki satırlar neye göre tarih alacaklar.Ayrıca " uygun değilse yeni tarih verilecek" diye yazmışsınız.
bunların açıklamanız gerekir.
 
her satırda aynı tarih yazmayacak. her satır için benim kod içerisinde yazdığım işlemler yapılacak ve her satırda yeni bir tarih belirlenip önerilen tarih kısmına yazacak.
uygun değilse yeni tarih verilecek demekle orada varolan bir termin tarihi varsa eğer ve benim stok seviyem bu termin tarihinde o siparişi göndermeye yetmeyorsa yeni bir tarih verilip önerilen tarih kısmına yazılacak.
bu kısımları zaten yaptım ben. sizden sadece bunu bir döngü haline getirip son satıra kadar bu işlemlerin yapılmasını sağlamanızı ve her satıra bir önerilen tarih gelmiş olmasını istiyorum. sormak istediğiniz başka birşey olursa lütfen sorun. teşekkürler..
 
Sayın priorix,

Ne yapmak istediğinizi anlamadım ama sizin örnekte 2. satırdan başlayıp son satıra kadar işlem yapan bir döngünün çatısını ekliyorum buraya.

Aradaki kodlar artık size ait :)

Kod:
Public Sub Dongu()
For i = 2 To [B65536].End(3).Row
 
 

Next i
End Sub

For ve Next arasına kodlarınızı yazabilirsiniz.
 
Kod:
Private Sub CommandButton1_Click()
verim = [J2]
ihtiyac = [H2]
stok = [F2]
siparis = [G2]
müsisttarih = [D2]

Dim siptarih As Date
Dim önertarih As Date
Dim gün As Integer

gunsonu = stok + verim - siparis
gün = ihtiyac / verim
If gün > 0 Then
önertarih = DateAdd("d", 2, Date)

If &#246;nertarih < m&#252;sisttarih Then
[E2] = m&#252;sisttarih
Else
[E2] = &#246;nertarih
End If

Else
g&#252;n = g&#252;n * -1
&#246;nertarih = DateAdd("d", g&#252;n + 2, Date)

If &#246;nertarih < m&#252;sisttarih Then
[E2] = m&#252;sisttarih
Else
[E2] = &#246;nertarih
End If
End If

If &#246;nertarih > siptarih Then
Range("c2").Interior.Color = vbRed

Else
Range("c2").Interior.ColorIndex = xlNone
End If
End Sub

benim kodlar&#305;m bu &#351;ekilde. burda en ba&#351;ta tan&#305;mlad&#305;&#287;&#305;m verim=[J2] gibi &#351;eyleri nas&#305;l tan&#305;mlamam gerekiyor. b&#246;yle tan&#305;mlad&#305;&#287;&#305;mda alt sat&#305;r i&#231;in yapmayacak hep &#252;st sat&#305;rda buldu&#287;u de&#287;eri yazacak sanki???
 
Son düzenleme:
tamm her&#351;eyi hallettim. d&#246;ng&#252;y&#252; offset kullanarak hallettim. ama &#351;imdi bi sorunum var.
Aktivecell olarak I3 se&#231;ildi. daha sonra i&#351;lemler ba&#351;l&#305;yo en sona da aktivecell.offset(1,0).select dedim. aktivecellim bi alt h&#252;cre oldu. ama &#351;imdi benm en ba&#351;ta I3&#252; se&#231;mi&#351; olmam gerekiyor. e&#287;er en ba&#351;a Range("I3").select dersem de d&#246;ng&#252;n&#252;n en ba&#351;&#305;nda hep I3&#252; se&#231;ecek ve olmayacak. en ba&#351;ta I^&#252; se&#231; demeden I3 den ba&#351;latman&#305;n bi yolu varm&#305;?
 
Geri
Üst