• DİKKAT

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

Açılan pencereyi iptal etme

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
520
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Üstadlar bir makrom var tıklayınca ağda sabit bir yere TXT kayıt yapıyor. kayıt yapma sırasında gizli bir sekmeyi açıp oradan bazı bilgileri alıyor. Sorunum şu. Bu ekranda iptale basınca gizli sekme açılmış şekilde kalıyor (makro o ana kadar o işlemi yaptığı için)

Kısacası amacım iptale basınca hiçbir şey olmamış gibi bu pencereyi kapatsın. Açık kalan sekme yeniden gizlensin.ekran.jpg
 
Kodları görmemiz lazım.
Mümkünse dosyanızı da ekleyin.
 
Kod:
Dim myFile As Variant, adoStream As Object, NoA As Long, i As Long
Const adSaveCreateOverWrite = 2
    
    myFile = Application.GetSaveAsFilename(InitialFileName:="C:\Kayıt\", fileFilter:="Text Files (*.txt), *.txt")
    If myFile = False Then Exit Sub
    
    Set adoStream = CreateObject("ADODB.Stream")
    adoStream.Charset = "utf-8"
    adoStream.Type = 2
    adoStream.Open
    
    NoA = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To NoA
        For j = 1 To 10
            adoStream.WriteText Cells(i, j) & vbTab
        Next
        adoStream.WriteText vbCrLf
    Next
    
    adoStream.SaveToFile myFile, adSaveCreateOverWrite
    adoStream.Close
    
    Set adoStream = Nothing

 Range("A1").Select
    Sheets("veriler").Visible = False
    Sheets("Giriş").Select
    MsgBox "C:\Kayıt\ Klasörüne aktarıldı"
        Application.ScreenUpdating = True
    Range("a3").Select

Dosyam biraz dış bağlantı falan içeriyor. Derleyip attım. "Giriş" sekmesine bazı veriler giriliyor. Makroya basınca "veriler" sekmesi açılıyor buraya bazı veriler işliyor ve dosyayı TXT olarak kayıt yapıyor. Bu aşamada iptale basınca veriler sekmesi açık kalmış oluyor. Bunu nasıl önleriz derdindeyim
 
Koddaki örnek kısmını kendinize uyarlayın.

Kod:
Dim myFile As Variant, adoStream As Object, NoA As Long, i As Long
Const adSaveCreateOverWrite = 2
    myFile = Application.GetSaveAsFilename(InitialFileName:="C:\Kayıt\", fileFilter:="Text Files (*.txt), *.txt")
    If myFile = False Then
'Bu kısma gizli olmasını istediğiniz sekmeyi gizlemeniz gerekiyor.
'Örnek:
'Worksheets("SayfAdi").visible =false
        Exit Sub
    End If
    Set adoStream = CreateObject("ADODB.Stream")
    adoStream.Charset = "utf-8"
    adoStream.Type = 2
    adoStream.Open
    
    NoA = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To NoA
        For j = 1 To 10
            adoStream.WriteText Cells(i, j) & vbTab
        Next
        adoStream.WriteText vbCrLf
    Next
    adoStream.SaveToFile myFile, adSaveCreateOverWrite
    adoStream.Close
    Set adoStream = Nothing
    Range("A1").Select
    Sheets("veriler").Visible = False
    Sheets("Giriş").Select
    MsgBox "C:\Kayıt\ Klasörüne aktarıldı"
    Application.ScreenUpdating = True
    Range("a3").Select
 
Geri
Üst