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:
We Transfer: https://we.tl/tkVSKcXn6c
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:
