Eskiden E-okul'dan tüm öğrencileri seçip kopyalayıp Excel'e "sadece metin" olarak yapıştırdığımda büyük oranda düzgün gelir bir iki düzeltme yapardım sadece, şimdi düzgün gelmediği için bu işi makroyla yaptım.
Notları biçimleriyle birlikte yapıştırıyorum ayrı sheetlere, kodu çalıştırıyorum ve düzenlenmiş halleri sheet olarak ekleniyor.
	
		
	
ChatGPT'ye yazdırdım.
	
	
	
		
				
			Notları biçimleriyle birlikte yapıştırıyorum ayrı sheetlere, kodu çalıştırıyorum ve düzenlenmiş halleri sheet olarak ekleniyor.
ChatGPT'ye yazdırdım.
		Kod:
	
	Sub DuzenleTumSheetler()
    Dim wsMevcut As Worksheet
    Dim wsYeni As Worksheet
    Dim ogrenciNo As String
    Dim adSoyad As String
    Dim sinav1 As String
    Dim sinav2 As String
    Dim satirMevcut As Long
    Dim satirYeni As Long
    Dim yeniSheetAdi As String
    
    Application.ScreenUpdating = False ' Performans için ekran güncellemeyi kapat
    
    ' Çalışma kitabındaki tüm sheet'leri döngüye al
    For Each wsMevcut In ThisWorkbook.Sheets
        ' Yeni sheet adı belirle
        yeniSheetAdi = wsMevcut.Name & " - Düzenlenmiş"
        
        ' Zaten böyle bir sheet varsa onu atla
        On Error Resume Next
        Set wsYeni = ThisWorkbook.Sheets(yeniSheetAdi)
        On Error GoTo 0
        If Not wsYeni Is Nothing Then
            Set wsYeni = Nothing
            GoTo SonrakiSheet
        End If
        
        ' Yeni sheet oluştur
        Set wsYeni = ThisWorkbook.Sheets.Add
        wsYeni.Name = yeniSheetAdi
        
        ' Yeni sheet'te başlıklar
        wsYeni.Cells(1, 1).Value = "Numara"
        wsYeni.Cells(1, 2).Value = "Ad Soyad"
        wsYeni.Cells(1, 3).Value = "1. Sınav"
        wsYeni.Cells(1, 4).Value = "2. Sınav"
        
        ' Mevcut sheet'teki verileri işleme
        satirMevcut = 1
        satirYeni = 2 ' Yeni sheet'teki yazma başlangıç satırı
        
        Do While wsMevcut.Cells(satirMevcut, 1).Value <> ""
            ogrenciNo = wsMevcut.Cells(satirMevcut, 1).Value
            adSoyad = wsMevcut.Cells(satirMevcut, 2).Value
            sinav1 = wsMevcut.Cells(satirMevcut + 1, 3).Value
            sinav2 = wsMevcut.Cells(satirMevcut + 1, 4).Value
            
            ' Yeni sheet'e verileri yaz
            wsYeni.Cells(satirYeni, 1).Value = ogrenciNo
            wsYeni.Cells(satirYeni, 2).Value = adSoyad
            wsYeni.Cells(satirYeni, 3).Value = sinav1
            wsYeni.Cells(satirYeni, 4).Value = sinav2
            
            ' Satırları ilerlet
            satirMevcut = satirMevcut + 2
            satirYeni = satirYeni + 1
        Loop
        
SonrakiSheet:
        ' Bir sonraki sheet'e geçmeden önce wsYeni değişkenini sıfırla
        Set wsYeni = Nothing
    Next wsMevcut
    
    Application.ScreenUpdating = True ' Ekran güncellemeyi geri aç
    MsgBox "Tüm sheet'ler düzenlendi ve yeni sheet'lere aktarıldı!", vbInformation
End Sub
	
	

