Sanırım rapor sayfasının formatını değiştirmişsiniz. Satır eklemişsiniz.
Evet rapora 2 satir ekledim ama eski sekli ilede denedim hata veriyor
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sanırım rapor sayfasının formatını değiştirmişsiniz. Satır eklemişsiniz.
Sanırım rapor sayfasının formatını değiştirmişsiniz. Satır eklemişsiniz.
Evet Hocam Tamda istedigim gibi Olmus Elilinize yureginize saglikEvet Hocam rapora 3 satir ekledim, ama dosayanin eski sekli ile denedigimde de calismiyor
#15 nolu mesajımdaki kodu revize ettim. Tekrar deneyiniz.
drive.google.com
Ne nereye gelecek tarif eder misiniz?
MerhabaNe nereye gelecek tarif eder misiniz?
Paylaştığınız kodlara uygun örnek dosya paylaşır mısınız?
Option Explicit
Sub Analiz()
Dim S1 As Worksheet, S2 As Worksheet, S3 As Worksheet, Dizi As Object
Dim Son As Long, Veri As Variant, X As Long, Say As Long
Dim Aranan As String, Tarih1 As Date, Tarih2 As Date, Zaman As Double
Zaman = Timer
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
Set S1 = Sheets("FINAL")
Set S2 = Sheets("Liste")
Set S3 = Sheets("Stokliste") '
Set Dizi = CreateObject("Scripting.Dictionary")
Tarih1 = S1.Range("A1")
Tarih2 = S1.Range("B1")
S1.Range("A6:S" & S1.Rows.Count).Clear
Son = S3.Cells(S3.Rows.Count, 22).End(3).Row
Veri = S3.Range("A2:X" & Son).Value
ReDim Liste(1 To Son, 1 To 18)
For X = LBound(Veri) To UBound(Veri)
If Veri(X, 22) <> "" And Veri(X, 7) = "SATIS" Then
Aranan = Veri(X, 22)
If Not Dizi.Exists(Aranan) Then
Say = Say + 1
Dizi.Add Aranan, Say
Liste(Say, 1) = Veri(X, 4)
Liste(Say, 2) = Veri(X, 3)
Liste(Say, 3) = Veri(X, 22)
Liste(Say, 4) = Veri(X, 6)
Liste(Say, 5) = Veri(X, 8)
Liste(Say, 6) = Veri(X, 10)
Else
Liste(Dizi.Item(Aranan), 6) = Liste(Dizi.Item(Aranan), 6) + Veri(X, 10)
End If
End If
Next
Son = S2.Cells(S2.Rows.Count, 20).End(3).Row
Veri = S2.Range("A2:U" & Son).Value
For X = LBound(Veri) To UBound(Veri)
If Veri(X, 3) >= Tarih1 And Veri(X, 3) <= Tarih2 Then
Aranan = Veri(X, 20)
If Dizi.Exists(Aranan) Then
If Veri(X, 7) = S1.Range("H1") Then
Liste(Dizi.Item(Aranan), 7) = Liste(Dizi.Item(Aranan), 7) + Veri(X, 14)
End If
If Veri(X, 7) = S1.Range("I2") And Veri(X, 8) = S1.Range("I1") Then
Liste(Dizi.Item(Aranan), 8) = Liste(Dizi.Item(Aranan), 8) + Veri(X, 14)
End If
If Veri(X, 7) = S1.Range("J2") And Veri(X, 8) = S1.Range("J1") Then
Liste(Dizi.Item(Aranan), 9) = Liste(Dizi.Item(Aranan), 9) + Veri(X, 14)
End If
If Veri(X, 7) = S1.Range("K2") And Veri(X, 8) = S1.Range("K1") Then
Liste(Dizi.Item(Aranan), 10) = Liste(Dizi.Item(Aranan), 10) + Veri(X, 14)
End If
If Veri(X, 7) = S1.Range("L2") And Veri(X, 8) = S1.Range("L1") Then
Liste(Dizi.Item(Aranan), 11) = Liste(Dizi.Item(Aranan), 11) + Veri(X, 14)
End If
If Veri(X, 7) = S1.Range("M2") And Veri(X, 8) = S1.Range("M1") Then
Liste(Dizi.Item(Aranan), 12) = Liste(Dizi.Item(Aranan), 12) + Veri(X, 14)
End If
If Veri(X, 7) = S1.Range("N2") And Veri(X, 8) = S1.Range("N1") Then
Liste(Dizi.Item(Aranan), 13) = Liste(Dizi.Item(Aranan), 13) + Veri(X, 14)
End If
If Veri(X, 7) = S1.Range("O2") And Veri(X, 8) = S1.Range("O1") Then
Liste(Dizi.Item(Aranan), 14) = Liste(Dizi.Item(Aranan), 14) + Veri(X, 14)
End If
If Veri(X, 7) = S1.Range("P2") And Veri(X, 8) = S1.Range("P1") Then
Liste(Dizi.Item(Aranan), 15) = Liste(Dizi.Item(Aranan), 15) + Veri(X, 14)
End If
If Veri(X, 7) = S1.Range("Q2") And Veri(X, 8) = S1.Range("Q1") Then
Liste(Dizi.Item(Aranan), 16) = Liste(Dizi.Item(Aranan), 16) + Veri(X, 14)
End If
If Veri(X, 7) = S1.Range("R1") Then
Liste(Dizi.Item(Aranan), 17) = Liste(Dizi.Item(Aranan), 17) + Veri(X, 14)
End If
Liste(Dizi.Item(Aranan), 18) = Liste(Dizi.Item(Aranan), 7) + Liste(Dizi.Item(Aranan), 8) + _
Liste(Dizi.Item(Aranan), 9) + Liste(Dizi.Item(Aranan), 10) + Liste(Dizi.Item(Aranan), 11) + _
Liste(Dizi.Item(Aranan), 12) + Liste(Dizi.Item(Aranan), 13) + Liste(Dizi.Item(Aranan), 14) + _
Liste(Dizi.Item(Aranan), 15) + Liste(Dizi.Item(Aranan), 16) + Liste(Dizi.Item(Aranan), 17)
End If
End If
Next
If Say > 0 Then
S1.Range("B6").Resize(Say, 18) = Liste
S1.Range("G6").Resize(Say, 13).Style = "Comma"
S1.Columns.AutoFit
End If
Set S1 = Nothing
Set S2 = Nothing
Set S3 = Nothing
Set Dizi = Nothing
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
MsgBox "Veri aktarımı tamamlanmıştır." & Chr(10) & Chr(10) & _
"İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub