• DİKKAT

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

Kodla süzülüp sıralanan verilerin diğer sayfaya aktarılması sorunu

  • Konbuyu başlatan Konbuyu başlatan klop01
  • Başlangıç tarihi Başlangıç tarihi

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
663
Excel Vers. ve Dili
2021 Türkçe 64 Bit
İyi geceler,
Aşağıdaki kod 2-64 arası satırları 100. satırdan aşağısına süzüp sıralıyor ve kopyalıyor sorunsuz şekilde.
Buradaki verileri =EĞER('1. DÖN. 1. SINAV VERİ GİRİŞİ'!C103="";"";'1. DÖN. 1. SINAV VERİ GİRİŞİ'!C103) formülü ile yandaki ANALİZ 1 sayfasına alıyorum.
Verilerimi girip “ANALİZİ HAZIRLA” butonuna basıyorum. Analiz hazırlanıyor. Analiz 1 sayfasına gidince yukarıdaki eğer ile başlayan formüldeki 103 numarası 61 artarak 164 oluyor. “ANALİZİ HAZIRLA” butonuna her bastığımda bu sayı artıyor ve verileri alamıyorum.
Ekteki dosya mevcut hâli ile sorunsuz ancak “ANALİZİ HAZIRLA” butonuna basarsanız veriler kaybolacak.
Bu sorun çözülebilir mi?

KOD:
Kod:
Dim ikincitablobasi, birincitablosonu As Long

Sub menu()
   Application.ScreenUpdating = False
   Call tablo_kopyala
   Call boslari_temizle
   Call sirala
   Call sirano
   Application.ScreenUpdating = True
   MsgBox ("ANALİZ HAZIRLANDI.")
End Sub

Sub sirano()
    sonsatir = Cells(Rows.Count, "B").End(3).Row - 1
    For i = ikincitablobasi + 3 To sonsatir - 1
       Cells(i, 2).Value = i - 102
    Next i
End Sub

Sub boslari_temizle()
    sonsatir = Cells(Rows.Count, "B").End(3).Row
    For i = sonsatir To ikincitablobasi + 3 Step -1
        say = WorksheetFunction.CountA(Range("E" & i & ":AI" & i))
        If say = 0 Then
           Rows(i).Delete
        End If
    Next i
End Sub

Sub tablo_kopyala()
    sonsatir = Cells(Rows.Count, "B").End(3).Row
    For i = 5 To sonsatir
      If Cells(i, 2) = "SON" Then birincitablosonu = i
      If Cells(i, 2) = "Sıra" Then
         ikincitablobasi = i - 2
         Exit For
      End If
    Next i

    Rows(ikincitablobasi & ":" & sonsatir).Select
    Selection.Clear
    Rows("2:4").Select
    Selection.Copy
    Rows(ikincitablobasi & ":" & ikincitablobasi).Select
    ActiveSheet.Paste
    Rows("5:" & birincitablosonu - 1).Select
    Selection.Copy
    Rows(ikincitablobasi + 3 & ":" & ikincitablobasi + 3).Select
    Selection.Insert Shift:=xlDown
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
   
End Sub

Sub sirala()
    sonsatir = Cells(Rows.Count, "B").End(3).Row
    Range("B" & ikincitablobasi + 3 & ":AO" & sonsatir).Select
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Add _
        Key:=Range("C" & ikincitablobasi + 3 & ":C" & sonsatir), SortOn:=xlSortOnValues, Order:=xlAscending, _
        DataOption:=xlSortNormal
    With ActiveWorkbook.ActiveSheet.Sort
        .SetRange Range("B" & ikincitablobasi + 3 & ":AO" & sonsatir)
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
    Rows(birincitablosonu & ":" & birincitablosonu).Select
    Application.CutCopyMode = False
    Selection.Copy
    Rows(sonsatir + 1 & ":" & sonsatir + 1).Select
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False
    
    Range("D103").Select
End Sub

We Transfer: https://we.tl/tkVSKcXn6c
 

Ekli dosyalar

Son düzenleme:
Geri
Üst