• DİKKAT

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

Bir önceki sayfa ismini hücreye yazdırmak

  • Konbuyu başlatan Konbuyu başlatan SeSi
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,

E25 hücresinde yapmak istediğim,
"Bir önceki sayfa ismi + sayfasından devir tutarı" şeklinde yazdırmak. Her sayfa bir önceki sayfa ismini nin sonuna "sayfasından devir tutarı" ekleyecek.
Bu işlemi nasıl yaparım?

Teşekkürler.
 
Sub SayfaAdları()
For i = 2 To Sheets.Count: Sheets(i-1).[E25] = Sheets(i).Name & " sayfasından devir tutarı": Next
End Sub
 
Teşekkür ederim.
Küçük bir değişiklik yapabilir miyiz?

Bu işlem sayfa değiştiğinde gerçekleşecek ve "DEVİR (bir önceki sayfa ismi)" şeklinde olacak. Sizin formülde sağdaki sayfanın ismini alıyor. Ben soldaki sayfanın ismini almasını istiyorum.

Teşekkürler.
 
rica ederim.
Çalışma Kitabı olaylarının yazıldığı sayfaya kopyalayınız.

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
For i = 2 To Sheets.Count: Sheets(i).[E25] = "Devir:" & Sheets(i - 1).Name & " sayfasından devir tutarı": Next
End Sub
 
Teşekkürler.
Bir şey daha. Bir önceki sayfa ismini parantez () içinde gösterebilir miyiz?
DEVİR (Bir önceki sayfa ismi) şeklinde.

Teşekkürler.
 
Rica ederim
" " işaretlerinin arasına her türlü metni yazabilirsiniz.
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
For i = 2 To Sheets.Count: Sheets(i).[E25] = "Devir:(" & Sheets(i - 1).Name & ")sayfasından devir tutarı": Next
End Sub
 
Çok teşekkürler. Tam istediğim gibi oldu.
 
İstediğim oldu derken, bir pürüz çıktı.
Bu macronun her sayfada çalışmasını istemiyorum. İstemediğim sayfa isimlerini kodda belirterek o sayfalarda bu işlemin geçersiz olmasını sağlayabilir miyiz?
Teşekkürler.
 
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
For i = 2 To Sheets.Count
If Sheets(i).Name <> "Sayfa2" Then
Sheets(i).[E25] = "Devir:(" & Sheets(i - 1).Name & ")sayfasından devir tutarı"
End If
Next
End Sub
 
sayfa indexi kullanılarak aşağıdaki gibi bir alternatifte kullanılabilir.

[vb:1:edb870d3b5]Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next
If ActiveSheet.Name <> "Sayfa2" Then ActiveSheet.[E25] = "Devir:(" & Sheets(ActiveSheet.Index - 1).Name & ")sayfasından devir tutarı"
End Sub
[/vb:1:edb870d3b5]
 
Sayın osmantelci ve leventm yardımlarınız için sağolun.

Yalnızca "Sayfa2" değilde, sayfa 5 - 9 - 12'de de kodların çalışmasını istediğimde o sayfa isimlerini nasıl ilave edeceğim. Denemeler yaptım ama başaramadım.

Teşekkürler.
 
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
For i = 5 To 12
dizi = Array(5, 9, 12)
For j = 1 To 3
If Sheets(i).Index = dizi(j - 1) Then
Sheets(i).[E25] = "Devir:(" & Sheets(i - 1).Name & ")sayfasından devir tutarı"
End If
Next: Next
End Sub
 
Çok teşekkür ederim.
 
Geri
Üst