Çoklu Sayfa Seçimi.

Katılım
29 Haziran 2018
Mesajlar
617
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
İşyerimde yaptığım bi çalışma için; belli bir sayfadan sonraki ardışık sayfaları, yeni bir excel dosyasına taşımam gerekti.
Forumda aradım. Ama uygun kodları bulamadım. İnternette çoğunlukla array ile çözümler verilmişti. O çözümler de istediğim gibi değlidi.

Biraz daha araştırdıktan sonra bu kodları buldum. Basit ve etkili. Belki ihtiyacı olan olur diye buraya da ekliyeyim dedim.

Kod:
Sub Kopya ()


Sheets(4).Activate '4. safya dahil sonrası için seçim başlangıcı. İhtiyacınıza göre bu sayıyı değiştirebilirsiniz. For I döngüsünü de bu rakama göre ayarlamalısınız.

      For I = 4 To Sheets.Count

           Sheets(I).Select (False)
    
     Next

ActiveWindow.SelectedSheets.Move  'Move yerine Copy yaparsanız yeni bir dosyaya kopyalar.

End Sub
,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,165
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Paylaşımınız için teşekkürler.

Benzer alternatifler;

C++:
Option Explicit

Sub Sayfa_Sec()
    Dim Sayfa As Worksheet

    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Index > 3 Then Sayfa.Select False
    Next

    ActiveWindow.SelectedSheets.Copy
End Sub
C++:
Option Explicit

Sub Sayfa_Sec()
    Dim Sayfa As Worksheet, Say As Integer
   
    ReDim Sayfalar(1 To 1)
   
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Index > 3 Then
            Say = Say + 1
            ReDim Preserve Sayfalar(1 To Say)
            Sayfalar(Say) = Sayfa.Name
        End If
    Next
   
    Sheets(Sayfalar).Select
End Sub
 
Katılım
29 Haziran 2018
Mesajlar
617
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
Üstad alternatifler için teşekkürler ;)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,165
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Başka bir alternatif;

C++:
Option Explicit

Sub Sayfa_Sec()
    Sheets(Application.Transpose(Evaluate("Row(" & "4:" & Sheets.Count & ")"))).Select
End Sub
 
Üst