• DİKKAT

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

Kodlarda düzenleme hakkında...

Katılım
8 Aralık 2011
Mesajlar
964
Excel Vers. ve Dili
Excel 2016,32bit
Merhabalar;
Hasta listemin olduğu sayfadan belirlediğim aralıktaki hasta bilgilerini ayrı bir listeye aktarmaktayım. Bu kodlar ile;
Kod:
Sub hstalste()
    Dim li As Worksheet, ilk As Range, son As Range, son2 As Long
    Set li = ThisWorkbook.Worksheets("ICPMS")
    sayfa_adı = CStr(Sayfa150.Range("G12").Value)
    Sheets("HAFTA LİSTE FORMATI").Select
    Sheets("HAFTA LİSTE FORMATI").Copy After:=Sheets(3)
    With ActiveSheet
        .Name = sayfa_adı
        son2 = .Range("B" & Rows.Count).End(xlUp).Row + 1
        Set ilk = li.Columns(1).Find(Sayfa150.Range("G10").Value)
        Set son = li.Columns(1).Find(Sayfa150.Range("G11").Value)
        li.Range("C" & ilk.Row & ":D" & son.Row).Copy
         .Range("B65536").End(3)(2, 1).PasteSpecial xlPasteValues
        li.Range("H" & ilk.Row & ":H" & son.Row).Copy
        .Range("D" & son2).PasteSpecial xlPasteValues
        li.Range("I" & ilk.Row & ":I" & son.Row).Copy
        .Range("E" & son2).PasteSpecial xlPasteValues
        li.Range("T" & ilk.Row & ":T" & son.Row).Copy
        .Range("G" & son2).PasteSpecial xlPasteValues
        Application.CutCopyMode = False
    End With
    Set son = Nothing: Set ilk = Nothing: Set li = Nothing
End Sub

Bu kodlar excel sayfası içerisinde çalışıyor sorunsuz..Ben userform oluşturdum ve bu kodları oraya aktarmaya çalışıyorum fakat
Kod:
sayfa_adı = CStr(Sayfa150.Range("G12").Value)
sayfa adı bilgisinin (Sayfa150.Range("G12") buradan değilde textbox3 den almasını,
Kod:
Set ilk = li.Columns(1).Find(Sayfa150.Range("G10").Value)
ilk aralık bilgisinin (Sayfa150.Range("G10") buradan değilde textbox1 den almasını,
Kod:
Set ilk = li.Columns(1).Find(Sayfa150.Range("G11").Value)
ilk aralık bilgisinin (Sayfa150.Range("G10") buradan değilde textbox2 den almasını,istiyorum.Ben aşağıdaki gibi değiştirdim fakat olmadı:-(

Kod:
Set ilk = TextBox1.Value
        Set son = TextBox2.Value
 
Kod:
 sayfa_adı = CStr(Sayfa150.Range("G12").Value)
Bu kısmı "sayfa_adı =TextBox2.Value" bu şekilde değiştirdim yeni bir sayfa açtı ama ilk ve son aralıkları almıyor:-(
 
Belgeyi görüp test etme imkanı vermediğinize göre afaki cevap vereceğim.
Malum kullandığınız nesne bir METİN KUTUSU, yani içeriğine SAYI da yazsanız, sonuçta içeriğin METİN olduğu durumu değişmiyor.
Onun için Format(TextBox2.Value, "#,##0") gibi dener misiniz?

Mavi kısmı yazarak ve yazmadan test ediniz.
 
dim ilk as range olarak tanımlanmış, iptal edin veya değiştirin.
 
Geri
Üst