[Yardım]  Excel döngüm neden çalışmıyor

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Excel döngüm neden çalışmıyor

İleti#1)  makinisttt » 19 Kas 2021 14:28

Elimdeki bir listeyi belli bir formatta tabloya dönüştürmek için bir makro yazmaya çalışıyorum. Makro yazma işinde yeni olduğum için bir noktaya kadar getirdim ama hata vermiyor fakat döngüm de doğru çalışmıyor. alttaki resimler listeyi, tabloyu ve olmasını istediğim görüntüyü gösteriyor. excel dosyasını da drive a attım. linki aşağıda.
Resim
Resim
Resim



https://drive.google.com/file/d/11afQpj ... sp=sharing
Direkt koda bakmak isteyenler için aşağıya kodu da ekliyorum. Algoritma şöyle önce tablodaki isim listedeki ilk sütunda var mı diye bakıyor, varsa, tablodaki tarihle aynı mı diye bakıyorum, aynıysa o satırdaki saati aratıp yanına saati yazdıracağım.
Döngü hata vermiyor fakat doğru da çalışmıyor, hata nerede sizce?
Kod: Tümünü seç
Sub DGTM22()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim h As Integer
Dim d As Integer
Dim e As Integer
Dim f As Integer
Dim g As Integer
Dim t As Integer
Dim ss As Integer



a = 2
b = 11
c = 6
d = 7
h = 2
e = 1
f = 3
g = 1
t = 2

For sss = 1 To 7
For ss = 1 To 11
For s = 1 To 5
If Sayfa7.Cells(1, a) = Sayfa4.Cells(h, b) Then
If Sayfa4.Cells(h, c) = Sayfa7.Cells(t, 1) Then

Sayfa7.Cells(WorksheetFunction.Match(Sayfa4.Cells(h, d).Value, Sayfa7.Range("A3:A21"), 0) + t, a) = Sayfa4.Cells(h, d)
Else
If t < 83 Then
t = t + 20
Else
t = 2
End If

If b < 13 Then
b = b + 1
Else
h = h + 1
b = 11
End If
End If
End If
Next s
t = 2
Next ss
h = 2
a = a + 1
Next sss


End Sub
Kullanıcı avatarı
makinisttt
 
Kayıt: 11 Ekm 2021 17:54
Meslek: öğrenci
Yaş: 41
İleti: 2
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: izmir

Cevap: Excel döngüm neden çalışmıyor

İleti#2)  Ömer BARAN » 19 Kas 2021 17:15

Merhaba @makinisttt

Şu kodu kullanın.
Table isimli sayfada tarih ve saat hücrelerinin,
Liste sayfasındaki F sütunundaki tarihlere ve G sütunundaki saatlere göre eksiksiz hazır olduğunu varsaydım

Kod: Tümünü seç
Option Explicit

Sub DAGIT()
Dim l As Worksheet, t As Worksheet
Dim XDt As Long, XDl As Long
Dim sonsut As Integer, gunsat As Integer, XDu As Integer, kisisut As Integer
Dim saat As Date, veri As Date
Dim ss As Byte

Application.Calculation = xlCalculationManual
Set l = Sheets("Liste")
Set t = Sheets("Table")
For XDt = 3 To t.Cells(Rows.Count, 1).End(3).Row Step 20
    t.Range("B" & XDt & ":H" & XDt + 18).ClearContents
Next
Application.ScreenUpdating = False
For XDl = 2 To l.Cells(Rows.Count, 6).End(3).Row
    If WorksheetFunction.CountIf(t.[A:A], CLng(l.Cells(XDl, 6))) = 0 Then GoTo gungec
    sonsut = WorksheetFunction.Min(11, l.Cells(XDl, Columns.Count).End(xlToLeft).Column)
    gunsat = WorksheetFunction.Match(CLng(l.Cells(XDl, 6)), t.[A:A], 0)
    saat = CDate(l.Cells(XDl, 7))
    For XDu = 11 To sonsut
        If WorksheetFunction.CountIf(t.[1:1], l.Cells(XDl, XDu)) = 0 Then GoTo kisigec
        kisisut = WorksheetFunction.Match(l.Cells(XDl, XDu), t.[1:1], 0)
        For ss = 1 To 19
            veri = CDate(t.Cells(gunsat + ss, 1))
            If Hour(veri) = Hour(saat) And Minute(veri) = Minute(saat) Then
                t.Cells(gunsat + ss, kisisut) = t.Cells(gunsat + ss, 1)
                Exit For
            End If
        Next
kisigec: Next
gungec: Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "BİTTİ.."
End Sub
☾✭ İnadına TÜRKÇE ✭☽

Sorularınızı bana https://www.ExcelDestek.Com 'dan da sorabilirsiniz.



.



.
Kullanıcı avatarı
Ömer BARAN
Siteye Alışmış
 
Adı Soyadı:ÖMER BARAN
Kayıt: 29 Oca 2013 18:17
Konum: ANKARA
Meslek: EMEKLİ
Yaş: 57
İleti: 354
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA / ÇANKAYA

Cevap: Excel döngüm neden çalışmıyor

İleti#3)  makinisttt » 24 Kas 2021 14:52

çok teşekkürler, tam olarak nasıl çalışıyor anlayamadım ama elinize sağlık. Fakat sanırım ilk sütundaki elemanları yazdırıyor ama L sütunundaki ikinci sütunda yer alan elemanları yazdırmıyor. acaba kendi verimin olduğu listeye uyarlarken mi bir hata yaptım.
Kullanıcı avatarı
makinisttt
 
Kayıt: 11 Ekm 2021 17:54
Meslek: öğrenci
Yaş: 41
İleti: 2
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: izmir


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 4 misafir

Bumerang - Yazarkafe