• DİKKAT

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

Kayıt Sonrası Tekrar Aynı Sayfaya Dönüş

Katılım
5 Kasım 2007
Mesajlar
4,727
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Merhaba,

"HARCAMA_KAYIT" isimli sayfadan, aynı anda "HARCAMA_LİSTESİ" ve "HARCAMA_LİSTESİ_YEDEK" sayfalarına aşağıdaki makro ile kayıt yapabiliyorum.("HARCAMA_LİSTESİ_YEDEK" kısmını deneme-yanılma ile yaptım, sağlıklı olmaya bilir.)

Sorun şu ki;

İşlem bittiğinde "HARCAMA_KAYIT" sayfasına dönemiyorum (gizleniyor) ve "HARCAMA_LİSTESİ" ile "HARCAMA_LİSTESİ_YEDEK" sayfaları görünür hale geliyor, ben bu 2 sayfanın, kayıt işlemi bitince, tekrar gizlenmesini istiyorum.

Çözümü örnek alarak, diğer modüllerdeki ve UserForm'daki kodları düzenleyeceğim.

Teşekkür ederim.

Modül'de ;

Kod:
Sub HARCAMA_KAYIT()
'
' KAYIT Makro

    Set S1 = Sheets("HARCAMA_KAYIT")
    
    Sheets("HARCAMA_KAYIT").Select
    Sheets("HARCAMA_LİSTESİ").Visible = True
    Sheets("HARCAMA_KAYIT").Select
    Range("C2:C8").Select
    Selection.Copy
    Sheets("HARCAMA_LİSTESİ").Select
    Application.Goto Reference:="R7000C2"
    Selection.End(xlUp).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
    
    ActiveCell.Select
    [COLOR="Red"]Sheets("HARCAMA_KAYIT").Select
    Sheets("HARCAMA_LİSTESİ_YEDEK").Visible = True
    Sheets("HARCAMA_KAYIT").Select
    Range("C2:C8").Select
    Selection.Copy
    Sheets("HARCAMA_LİSTESİ_YEDEK").Select
    Application.Goto Reference:="R7000C2"
    Selection.End(xlUp).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True[/COLOR]
       
    Sheets("HARCAMA_KAYIT").Select
        ActiveWindow.SelectedSheets.Visible = False
        Application.CutCopyMode = False
    Range("C3").Select
    S1.Range("C3:C7").ClearContents
    
End Sub

UserForm'da ;

Kod:
Private Sub CommandButton1_Click() 'KAYITLAR

For Each sayfa In Worksheets
        If sayfa.Name <> "ANASAYFA" Then
            sayfa.Visible = xlVeryHidden
        End If
Next
For Each sayfa In Worksheets
        If Right(sayfa.Name, 5) = "KAYIT" Then
           sayfa.Visible = True
        End If
Next
 Sheets("HARCAMA_KAYIT").Select
 End Sub
 
Merhaba.

Makro kullanarak, görünür veya gizli bir safyadaki bir alanı kopyalayıp, gizli bir/birkaç sayfaya aktarmak için,
-- ne kopyalanacak alanın bulunduğu sayfanın görünür (visible) olması,
-- ne de kopyalanan verinin yapıştırılacağı sayfanın görünür olması,
-- kopyalanan/yapıştırılan/silinecek sayfa ve alanlar için ....Select şeklinde kod satırının olması
gerekmiyor. Aynı mantık Userform üzerinden yapılacak işlemler için de geçerli elbette.
Bu nedenle userform kodlarına ilişkin birşey belirtmiyorum.

Aşağıdaki kod (kodda adı geçen tüm sayfaların visible özelliği veryhidden olsa bile)
istenilen kopyalama/yapıştırma/istenilen alanın silinmesini sağlar.

NOT:
-- Mevcut kodlarınızda, kopyalanan alan ile silinen alan farklı hücre aralıkları şeklinde idi onu değiştirmedim.
-- Sayfa adlarına ilişkin kısaltmaları, sayfa adlarını çağrıştıracak şekilde değiştirdim.
.
Kod:
[B]Sub HARCAMA_KAYIT()[/B]
Set hk = Sheets("HARCAMA_KAYIT")
Set hl = Sheets("HARCAMA_LİSTESİ")
Set hly = Sheets("HARCAMA_LİSTESİ_YEDEK")
hk.[[B][COLOR="red"]C[SIZE="4"]2[/SIZE]:C[SIZE="4"]8[/SIZE][/COLOR][/B]].Copy
hl.Cells(hl.Cells(Rows.Count, "B").End(xlUp).Row + 1, "B") _
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
hly.Cells(hly.Cells(Rows.Count, "B").End(xlUp).Row + 1, "B") _
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
hk.Range("[B][COLOR="Red"]C[SIZE="4"]3[/SIZE]:C[SIZE="4"]7[/SIZE][/COLOR][/B]").ClearContents
[B]End Sub[/B]
 
Sayın Ömer BARAN merhaba,

Mükemmel çözüm ve açıklamalar için çok teşekkür ederim, elinize sağlık.

Saygılarımla.
 
Geri
Üst