• DİKKAT

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

Soru ve şıkları ayırma

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

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Kolay gelsin. Sayfa1 de sorular ve 4 şık aynı hücrede olmak üzere sorular mevcut. Sorular ile şıkları ayrı sütunlara almak istiyorum. A sütunlara soru B den itibaren B C D E şıklar. Bu şekilde vba yazabilir miyiz?
 
Normalde şıklar sorunun altındamı. A1=soru, A2=şık1, A3=şık 2 gibimi? . Dosya olsa daha iyi olurdu.
 
Bazı sorular dediğiniz gibi bazı sorular tek hücre içinde soru ve ışık şeklinde Benim istediğim tek Hücre içindeki ni börmek
 
Şimdi cepten yazıyorum. Örnek yarın yükleyebilirim
 
Örnek dosya ektedir. Sonuç sayfasındaki şekilde yapma imkanı olur mu?
İlgilenenlere şimdiden teşekkürler.
 

Ekli dosyalar

Aşağıdaki kodlar ile yaptım. Yalnız bir sorum kaldı. Bazı sorular 2 satır oluyor. Bunları nasıl birleştirebiliriz. (C sütununa gelen A şıkkına göre (doluluk boşluk durumuna göre) A sütununa sıra numarası veriyorum. )
Kod:
Sub Soru_Cek()
Dim sonsatir As Integer
Dim sonsutun As Integer
Dim s1, s2 As Worksheet
Set s1 = Worksheets("Sayfa1")
Set s2 = Worksheets("Sonuç")

sonsatir = s1.Range("A1048576").End(xlUp).Row
'sonsatir2 = s2.Cells(65536, "B").End(xlUp).Row

For i = 1 To sonsatir

    For s = 1 To 5
        If IsNumeric(Left(s1.Cells(i, s), 1)) = True Then
            s2.Range("B65536").End(3)(2, 1) = s1.Cells(i, s)
        End If
        If Left(s1.Cells(i, s), 2) = "A)" Then
            s2.Range("B65536").End(3)(1, 2) = s1.Cells(i, s)
           
        End If
        If Left(s1.Cells(i, s), 2) = "B)" Then
            s2.Range("B65536").End(3)(1, 3) = s1.Cells(i, s)
        End If
        If Left(s1.Cells(i, s), 2) = "C)" Then
            s2.Range("B65536").End(3)(1, 4) = s1.Cells(i, s).Value
        End If
        If Left(s1.Cells(i, s), 2) = "D)" Then
            s2.Range("B65536").End(3)(1, 5) = s1.Cells(i, s).Value 's2.Cells(sonsatir2 + 1, 5).Value = s1.Cells(i, s).Value
        End If
     Next s
Next i
End Sub
 
Geri
Üst