Tarih Ay yazdırma

Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,

Aşağıdaki kod ile G2 hücresine yazdığım tarihi (gg aaaa yyyy) şeklinde sayfa ismini değiştiriyorum. Fakat ben tarihin hücrede gg aaaa yyyy şeklinde görünmesini (bunda sorun yok) istiyorum. Ama sayfa ismine G2'de yazan tarihin sadece ayını yazdırmak istiyorum. Bir türlü formatı ayarlamadım.

Yardımlarını bekliyorum.
Teşekkürler.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$2" Then
If Not Range("G2").Value = "" Then ActiveSheet.Name = Range("G2").Value
End If
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,547
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bu kısmı;
If Not Range("G2").Value = "" Then ActiveSheet.Name = Range("G2").Value

Aşağıdaki ile değiştirin.
If Not Range("G2").Value = "" Then ActiveSheet.Name = Format(Range("G2").Value,"mmmm")
 
Katılım
1 Şubat 2006
Mesajlar
149
Ben makrolardan anlamam ama;
başka bir hücrede tarihi ay olarak yazdırıp, başvuruyu o hücreye yapmayı denediniz mi?
 
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
COST_CONTROL,

Çok teşekkürler.
Bir şey daha var. Birde burada yazan tarihin 1 ay öncesini veya 1 ay sonrasını yazdırmak istersem kodu nasıl değiştirmeliyim?

Saygılar.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,547
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bu durumda kodu aşağıdaki gibi değiştirin.

1 ay öncesi için;
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$2" Then
Sayfa_Adı = DateSerial(Year([G2]), Month([G2] - 1), Day([G2]))
If Not Range("G2").Value = "" Then ActiveSheet.Name = Format(Sayfa_Adı, "mmmm")
End If
End Sub
1 ay sonrası için;
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$2" Then
Sayfa_Adı = DateSerial(Year([G2]), Month([G2] + 1), Day([G2]))
If Not Range("G2").Value = "" Then ActiveSheet.Name = Format(Sayfa_Adı, "mmmm")
End If
End Sub
 
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Çok teşekkürler.

Sağolun varolun.
 
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,

Yukarıdaki kodlara ilave olarak
Kod:
ActiveSheet.[E23] = "DEVİR (" & Sheets(ActiveSheet.Index - 1).Name & ")"
kodunu kullanarak, bir önceki sayfa isminin başına DEVİR kelimesini ekliyorum.

Fakat sayfa isimlerinin formatı 31.05 (dd.mm) olarak ayarlı olduğundan DEVİR (31.05) olarak aktarıyor.

Sayfa isimlerinin formatı aynı (dd.mm) kalması kaydıyla, E23 hücresine aktarırken yukarıdaki koda nasıl bir format ilave etmeliyim ki, DEVİR (31.05.2006) şeklinde olsun.

Teşekkürler.
 
Katılım
7 Temmuz 2004
Mesajlar
330
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,

DEVİR (31.05.2006) şeklinde olacak şekilde
Kod:
ActiveSheet.[E23] = "DEVİR (" & Sheets(ActiveSheet.Index - 1).Name & ")"
kodunu nasıl değiştirmeliyim?

Teşekkürler...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,547
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki şekilde denermisiniz.

Kod:
ActiveSheet.[E23] = "DEVİR (" & Format(Sheets(ActiveSheet.Index - 1).Name, "dd.mm.yyyy") & ")"
 
Katılım
7 Temmuz 2004
Mesajlar
327
Excel Vers. ve Dili
office xp pro türkçe
SeSi' Alıntı:
Merhaba,

DEVİR (31.05.2006) şeklinde olacak şekilde
Kod:
ActiveSheet.[E23] = "DEVİR (" & Sheets(ActiveSheet.Index - 1).Name & ")"
kodunu nasıl değiştirmeliyim?

Teşekkürler...
aşağıdaki gibi olur
Kod:
ActiveSheet.[E23] = "DEVİR (" & Sheets(ActiveSheet.Index - 1).Name & "." & Year(Now) & ")"
saygılar sevgiler
 
Katılım
20 Ekim 2005
Mesajlar
467
Sevgili cost control E sütununda tarihler var. ve s13.[a2] hücresindede bir adet tarih var. E sütunundaki tarihlerin Yılı s13.[a2] Yılından küçükse başka sütuna, büyükse başka sütuna atmak istiyorum ama hepsinide aynı sütuna atıyor.

If s1.Cells(X, ("E") )>= s13.[a2] Then

makronun bu satırında nasıl bir düzeltme yapsak
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,547
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod içindeki bilgileri kendinize göre düzenleyiniz.

Kod:
Sub TEST()
Set S1 = Sheets(1)
Set S2 = Sheets(2)
S1.[G:H].ClearContents
For X = 1 To S1.[E65536].End(3).Row
If Year(S1.Cells(X, 5)) < Year(S2.[A2]) Then
S1.Cells(X, 7) = Format(S1.Cells(X, 5), "dd.mm.yyyy")
ElseIf Year(S1.Cells(X, 5)) >= Year(S2.[A2]) Then
S1.Cells(X, 8) = Format(S1.Cells(X, 5), "dd.mm.yyyy")
End If
Next
MsgBox "İŞLEM TAMAMLANMIŞTIR."
End Sub
Not: Mesajınızı kontrol edermisiniz.
 
Üst