• DİKKAT

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

Yeni yaratılan sayfayı silme

Katılım
23 Mart 2017
Mesajlar
35
Excel Vers. ve Dili
2016 ingilizce
Değerli üyeler merhaba,

Benim bir kodum var, bayağı bi karışık durumda. Şuan yapmaya çalıştığım bir aksiyon var: bir sayfam var adı "regresyon", içi boş. Elimde bir sürü de veri var. Elimdeki veriler atıyorum 30 tane. Bu verileri regresyona sokmak istiyorum ama parça parça. Mesela 30 verinin ilk 3ü regresyona girsin sonra 4-10 arasındaki veriler girsin. Regrsyon kodum var makro ile elde ettim. Fakat sıkıntı şurda: regresyonu parça parça yapıyorumya(Veri sayfasından ilk 3 veriyi regresyon sayfasına çekiyorum, regresyon yap kodunu çalıştırıyorum, sonuçlar yeni bir sayfada açılıyor... daha sonra 4-10 arası verileri regresyona sokacağım ama bunu ilk 3 verinin kopyalandığı regresyon sayfasını boşaltıp 4-10 arasını oraya koyup yapmak istiyorum ve bu kısım tamam sayılır) sıkıntı şurda son adım olarak regresyon yapılınca yeni bir sayfa açılıyor, bu sayfadan bazı verileri alıp "formulation" sayfasına kopyalamak istiyorum. Ardından yeni oluşan sayfanın silinmesini istiyorum ama beceremedim, bu konuda yardımcı olursanız çok sevinirim.

:kafa:
 
Merhaba,

Yeni açılan sayfanın ismi var mı?

Örneğin yeni açılan sayfayı isim vererek açıp silebilirsiniz.

Örnekte Gecici isminde sayfa açılır sonra silinir. Siz bu yapıyı kendi kodlarınızda ilgili bölümlere ekleyebilirsiniz.

Kod:
Sheets.Add.Name = "Gecici" 'yeni sayfayı gecici adıyla açar

'gecici adındaki sayfayı siler
Application.DisplayAlerts = False
Sheets("Gecici").Delete
Application.DisplayAlerts = True
.
 
Merhaba,

Yeni açılan sayfanın ismi var mı?

Örneğin yeni açılan sayfayı isim vererek açıp silebilirsiniz.

Örnekte Gecici isminde sayfa açılır sonra silinir. Siz bu yapıyı kendi kodlarınızda ilgili bölümlere ekleyebilirsiniz.

Kod:
Sheets.Add.Name = "Gecici" 'yeni sayfayı gecici adıyla açar

'gecici adındaki sayfayı siler
Application.DisplayAlerts = False
Sheets("Gecici").Delete
Application.DisplayAlerts = True
.


Hocam yeni sayfa regresyon kodu sonucunda oluşuyor ve makroyu kaydederken yeni açılan sayfanın ismi için spesifik bir şey belirlemiştim fakat makro kodunda bir isim görünmüyor malesef, yeni açılan sayfaya ben ad veremiyorum regresyon kodu otomatik oluşturuyor kod da şu şekilde:

Kod:
Application.Run "ATPVBAEN.XLAM!Regress", shtreg.Range(Cells(1, 2), Cells(37, 2)) _
                , shtreg.Range(Cells(1, 3), Cells(37, LastCol - 1)), False, True, , "", False, False, _
                False, False, , False
[CODE]
 
Kullandığınız regresyon kodunun tamamını verirseniz daha sağlıklı cevap verebiliriz.
 
Kullandığınız regresyon kodunun tamamını verirseniz daha sağlıklı cevap verebiliriz.

Bir de sayfayı sil dediğimde kod çalışırken uyarı veriyor onu nasıl engellerim?
Kod pek çok amaç içeriyor fakat ben bi atayım size hocam:

Kod:
Sub correlationhighlight()
    Dim i As Integer, j As Integer, count As Integer
    Dim a As Integer, b As Integer, c As Integer, LastCol As Integer, LastRow As Integer
    Dim shtform As Worksheet, shtveri As Worksheet, shtreg As Worksheet, syf As Worksheet
    
   ' screenupdate = False
    Set syf = Sheets("corelation")
    
    Dim MyArray(1 To 34, 1 To 34) As String
    
    For i = 2 To 35 'sütun
        count = 1
        For j = i + 1 To 36 'satır
        
            If (syf.Cells(j, i) >= 0.3 Or syf.Cells(j, i) <= -0.3) Then
                
                MyArray(1, i - 1) = syf.Cells(1, i)
    
                MyArray(count + 1, i - 1) = syf.Cells(j, 1)
                count = count + 1
            End If
           
        Next j
        
    Next i
    
    '**********************************************
    
    Set shtveri = Sheets("veri")
    Set shtreg = Sheets("regresyon")
    Set shtform = Sheets("formulations")
    
     
    For b = 1 To 34
    
        With shtform
        LastRow = .Cells(.Rows.count, "A").End(xlUp).Row
        End With
        LastRow = LastRow
        
        For a = 1 To 34
            For c = 1 To 35
                If MyArray(a, b) = shtveri.Cells(1, c) Then
                
                With shtreg
                LastCol = .Cells(1, .Columns.count).End(xlToLeft).Column
                End With
                LastCol = LastCol + 1
                
                shtveri.Activate
                
                shtveri.Range(Cells(1, c), Cells(37, c)).Copy
                shtreg.Cells(1, LastCol).PasteSpecial
                
                End If
                
            Next c
        Next a
        shtreg.Activate
        Application.Run "ATPVBAEN.XLAM!Regress", shtreg.Range(Cells(1, 2), Cells(37, 2)) _
                , shtreg.Range(Cells(1, 3), Cells(37, LastCol - 1)), False, True, , "", False, False, _
                False, False, , False

    If ActiveSheet.Cells(5, 2) > 0.66 Then
    End If
        For t = 18 To 18 + LastCol - 3
            If ActiveSheet.Cells(t, 5) < 0.0500001 Then
            ActiveSheet.Cells(17, 1).Copy 'Copier de nom
            shtform.Cells(LastRow, 1).PasteSpecial 'Coller de nom
            ActiveSheet.Cells(17, 2).Copy 'Copier des données
            shtform.Cells(LastRow, 2).PasteSpecial 'Coller les données
    
            ActiveSheet.Cells(t, 1).Copy 'Copier de nom
            shtform.Cells(LastRow + t - 16, 1).PasteSpecial 'Coller de nom
            ActiveSheet.Cells(t, 2).Copy 'Copier des données
            shtform.Cells(LastRow + t - 16, 2).PasteSpecial 'Coller les données
            End If
        Next t
        'ActiveWindow.SelectedSheets.Delete
        Sheets("regresyon").Cells.ClearContents
        ActiveSheet.Delete
    Next b
    
    
    
    
    
    
End Sub
 
Verdiğiniz kodun içinde aktif sayfayı silen bir satır var.

Bunu aşağıdaki gibi değiştirip deneyiniz.

Kod:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
 
Verdiğiniz kodun içinde aktif sayfayı silen bir satır var.

Bunu aşağıdaki gibi değiştirip deneyiniz.

Kod:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True

Tamam Ömer Hocam, teşekkürler. Peki bu verdiğiniz kod evet seçeneğini mi seçiyor koyduğumda? çünkü farklı bir soru daha soruyor bana ve ona hayır demem lazım yani bu verdiğiniz hepsine evet mi diyor?
 
Sayfa silinirken çıkan uyarıyı pasif eder. Yani evet demiş gibi davranır.
 
Peki hocam şuan kodumu hiç çalıştıramıyorum farklı bir excel açıp orada deneyim dedim. Şuan hata veriyor 1004 numaralı. APTL XLAM dosyasını bulamadık diyor komple gitti hiç bi kodum çalışmıyor nolur yardım edin :(
 
Geri
Üst