Skip to main content

AccessTr.neT


Excel Sayfasındaki Listeden Sıradaki Satır Bilgilerini Çekmek.

Oğuz Türkyılmaz
Oğuz Türkyılmaz
54
3323

Excel Sayfasındaki Listeden Sıradaki Satır Bilgilerini Çekmek.

#42
menü sayfası değiştiğinde
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("R10")) Is Nothing And IsNumeric(Target.Value) = True Then
    Set SoruSht = ThisWorkbook.Sheets("QUE_ANS")
    Set TestSht = ThisWorkbook.Sheets("MENU")
    git = TekVeriAl(Target.Value) 'B2 değişince tetiklenir
    If git = 0 Then Exit Sub
    With SoruSht
            TestSht.Range("A10") = .Cells(git, 2)
            TestSht.Range("A12") = .Range("C" & git)
            TestSht.Range("A14") = .Range("D" & git)
            TestSht.Range("A16") = .Range("E" & git)
            TestSht.Range("A18") = .Range("F" & git)
   
    End With
    End If
End Sub
Function TekVeriAl(ByVal SoruSay As Long) As Long

Set SoruSht = ThisWorkbook.Sheets("QUE_ANS")
Set TestSht = ThisWorkbook.Sheets("MENU")
Set RngAra = SoruSht.Range("A:A")
Set RngAra = RngAra.Find(What:=CStr(SoruSay), LookAt:=xlWhole, LookIn:=xlValues)
    If RngAra Is Nothing Then
    SonStr = SoruSht.Cells(SoruSht.Rows.Count, "A").End(xlUp) '.Row
        TestSht.Range("R10") = IIf(SoruSay > SonStr, SonStr, 1)
        MsgBox "yanlış sayı girdiniz lütfen 1 - " & SonStr & " arası bir sayı giriniz."
        TekVeriAl = 0
        Exit Function 'veri yoksa işlemi iptal etme
    End If
    TekVeriAl = RngAra.Row
End Function
Teste Başlama
Sub TestBasla()
rastgeleTestCol
    ThisWorkbook.Sheets("MENU").Shapes("BtnSonraki").TextFrame.Characters.Text = "SONRAKİ SORU"
    ThisWorkbook.Sheets("MENU").OptionButtons("BtnSecenek5").Value = True
Range("R10") = 1
End Sub
Sonraki Soru
Sub SonrakiSoru()
Set TestSht = ThisWorkbook.Sheets("MENU")
Set SoruSht = ThisWorkbook.Sheets("QUE_ANS")
SonStrSoru = SoruSht.Cells(SoruSht.Rows.Count, "A").End(xlUp).Value
BasHcr = TekVeriAl(1)
BitHcr = TekVeriAl(SonStrSoru)

For x = 1 To 4
    If TestSht.OptionButtons("BtnSecenek" & CStr(x)).Value = 1 Then
        git = TekVeriAl(Range("R10"))
        Secim = Replace(TestSht.OptionButtons("BtnSecenek" & x).Name, "BtnSecenek", "")
        SoruSht.Range("H" & git).Value = TestSht.Range("A" & Secim * 2 + 10).Value 'Choose(Secim, "A", "B", "C", "D")
    End If
Next
If TestSht.Shapes("BtnSonraki").TextFrame.Characters.Text = "Testi Bitir" Then
    TestBitir
    TestSht.Shapes("BtnSonraki").TextFrame.Characters.Text = "SONRAKİ SORU"
    Exit Sub
End If


TestSht.OptionButtons("BtnSecenek5").Value = True
Range("R10") = Range("R10") + 1

If SonStrSoru = Range("R10") Then TestSht.Shapes("BtnSonraki").TextFrame.Characters.Text = "Testi Bitir"


End Sub
Testi bitir
Sub TestBitir()
Set SoruSht = ThisWorkbook.Sheets("QUE_ANS")
Set HdfSht = ThisWorkbook.Sheets("RESULTS")
    SonStrSoru = SoruSht.Cells(SoruSht.Rows.Count, "A").End(xlUp).Value
    SonStrHdf = HdfSht.Cells(HdfSht.Rows.Count, "A").End(xlUp).Row

HdfSht.Range("A2:F" & SonStrHdf).ClearContents
BasHcr = TekVeriAl(1)
BitHcr = TekVeriAl(SonStrSoru)
Set KpyRng = SoruSht.Range("A" & BasHcr & ":B" & BitHcr & ",G" & BasHcr & ":I" & BitHcr)
    KpyRng.Copy
    ThisWorkbook.Sheets("RESULTS").Range("A2").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    HdfSht.Activate
End Sub
.rar ING_TUR forum_hy4.rar (Dosya Boyutu: 1,77 MB | İndirme Sayısı: 6)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Excel Sayfasındaki Listeden Sıradaki Satır Bilgilerini Çekmek. - Yazar: berduş - 26/05/2021, 02:16
Task