Değişen Hücre Formatı

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Yaklaşık 17 Temmuz'dan bu yana bel ve kasık ağrıları ile hareket edemez ve yürüyemez durumdaydım, sürekli yatmak zorunluluğundan bilgisayar kullanamadım ve siteye de giremedim.Şu an daha iyiyim çok şükür,

Dosyamda küçük bir sorunum var,

Sayın Ömer Baran'ın yazdığı bir kod,

Kod, çalışıyor fakat "RAPOR" sayfası H1'deki tarih formatlı tarihi, Genel'e çevirip rakamlara döndürüyor,

Bu olumsuzluk kod'dan kaynaklı diye düşünüyorum, yanılıyor da olabilirim,

H1'in tarih formatında kalması ve değişmemesi için ne yapılabilir ?

Teşekkür ederim.

Kod:
Sub MENÜ_LİSTELE()
Set ra = Sheets("RAPOR"): Set RE = Sheets("REÇETE")
If ra.[C60].End(3).Row > 16 Then ra.Range("A17:I" & ra.[C59].End(3).Row).ClearContents
    Select Case ra.[N1]
        Case Is = "Düşük": hedef = 5
        Case Is = "Orta": hedef = 6
        Case Is = "Yüksek": hedef = 7
    End Select
For yemek = 3 To ra.[I16].End(3).Row
Cells(ra.[C60].End(3).Row + 1, 2) = ra.Cells(yemek, 9)
    ilk = WorksheetFunction.Match(ra.Cells(yemek, 9), RE.Range("B:B"), 0)
    son = WorksheetFunction.CountIf(RE.Range("B:B"), ra.Cells(yemek, 9)) + ilk - 1
    For resat = ilk To son
        rasat = ra.[C60].End(3).Row + 1: ra.Cells(rasat, 3) = RE.Cells(resat, 3)
        ra.Cells(rasat, 4) = RE.Cells(resat, 4): ra.Cells(rasat, 5) = RE.Cells(resat, hedef)
        
        If Cells(rasat, 4) = "Gr" Then
            ra.Cells(rasat, 6) = ra.[D14] * ra.Cells(rasat, 5) / 1000
            ra.Cells(rasat, 8) = (RE.Cells(resat, 8) * RE.Cells(resat, hedef) / 1000) * ra.[D14]
        Else
            ra.Cells(rasat, 6) = ra.[D14] * ra.Cells(rasat, 5)
            ra.Cells(rasat, 8) = (RE.Cells(resat, 8) * RE.Cells(resat, hedef) / 1000) * ra.[D14] * 1000
        End If
        ra.Cells(rasat, 7) = RE.Cells(resat, 8): ra.Cells(rasat, 9) = RE.Cells(resat, hedef + 5)
    Next
Next
With ra.Range("A17:A" & ra.[C60].End(3).Row)
    .Formula = "=IF(ISERROR(MATCH(B17,$I$1:$I$14,0)),"""",MAX($A$16:A16)+1)": .Value = .Value
End With
ra.Cells(ra.[C60].End(3).Row + 1, 6) = "TOPLAM"
ra.Cells(ra.[C60].End(3).Row + 1, 8) = _
        WorksheetFunction.Sum(ra.Range("H17:H" & ra.[C60].End(3).Row))
ra.Cells(ra.[C60].End(3).Row + 1, 9) = _
        WorksheetFunction.Sum(ra.Range("I17:I" & ra.[C60].End(3).Row))
MsgBox "İŞLEM TAMAM"
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba,

Geçmiş olsun.

Bunu deneyin.

Kod:
Range("H1") = Format(Date, "dd.mm.yyyy")
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Geçmiş olsun.

Bunu deneyin.

Kod:
Range("H1") = Format(Date, "dd.mm.yyyy")
Sayın Uzmanamele merhaba,

Dilekleriniz için teşekkür ederim,

Önerdiğiniz satırı, kod'da hangi aralığa yazarsam sonuç alırım ?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhabalar, geçmiş olsun.

Verilen kod RAPOR sayfası H1 hücresinde herhangi bir işlem yapmıyor.
Sorunun tam anlaşılması için sorunlu haliyle örnek belge ekleyin ya da
MsgBox satırından önce aşağıdaki satırı ekleyin.
.
Kod:
ra.[H1].NumberFormat = "dd/mm/yyyy"
 
Son düzenleme:

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhabalar, geçmiş olsun.

Verilen kod RAPOR sayfası H1 hücresinde herhangi bir işlem yapmıyor.
Sorunun tam anlaşılması için sorunlu haliyle örnek belge ekleyin ya da
MsgBox satırından önce aşağıdaki satırı ekleyin.
.
Kod:
ra.[H1].NumberFormat = "dd/mm/yyyy"
Sayın Ömer BARAN merhaba,

Dileklerinize teşekkür ederim,

Dosya büyük ve karmaşık, bu nedenle ekleyemedim, biraz daha araştırmam gerekebilir,

Yardımlarınız için teşekkür ederim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Bu durumun, yukarıda belirttiğiniz kod tarafından yapıldığından emin misiniz?
Öncelikle bunu kontrol etmenizi öneririm.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Bu durumun, yukarıda belirttiğiniz kod tarafından yapıldığından emin misiniz?
Öncelikle bunu kontrol etmenizi öneririm.
Merhaba Sayın Ömer BARAN,

Emin değilim, zaten ilk mesajımda da belirtmiştim,

Dosyada ve sayfada mevcut kod'ları-formülleri inceliyorum, umarım nedenini bulabilirim.

İlginiz ve uyarınız için teşekkür ederim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Sanırım aşağıdaki şekilde tespit yapabilirsiniz.

RAPOR sayfasının adına fareyle bağ tıklayıp KOD GÖRÜNTÜLEyi seçtiğinizde açılan ekranın
sağ tarafına (başka kodlar varsa en alta) aşağıdaki kod'u yapıştırın.

Sonra; kullanılan tüm makroları sırayla çalıştırın, "BEKLE" yazılı mesaj aldığınızda
sarı boyanan satırın bir üstündeki satır H1 hücresini bahsettiğiniz hale getiren satırdır.
.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [H1]) Is Nothing Then Exit Sub
MsgBox "BEKLE"
End Sub
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

En son kodu buldum,

Kırmızı olan satırdan kaynaklanıyor olabilir mi ?

Sub RAPOR_OLUŞTUR()
Set ra = Sheets("RAPOR"): Set RE = Sheets("REÇETE")
If ra.[C60].End(3).Row > 16 Then ra.Range("A17:I" & ra.[C59].End(3).Row).ClearContents

Cells.NumberFormat = General ' Bu satır adet ve kesirli olan sayılar için eklendi.

Select Case ra.[N1]
Case Is = "Düşük": hedef = 5
Case Is = "Orta": hedef = 6
Case Is = "Yüksek": hedef = 7
End Select
For yemek = 3 To ra.[H16].End(3).Row
Cells(ra.[C60].End(3).Row + 1, 2) = ra.Cells(yemek, 8)
ilk = WorksheetFunction.Match(ra.Cells(yemek, 8), RE.Range("B:B"), 0)
son = WorksheetFunction.CountIf(RE.Range("B:B"), ra.Cells(yemek, 8)) + ilk - 1
For resat = ilk To son
rasat = ra.[C60].End(3).Row + 1: ra.Cells(rasat, 3) = RE.Cells(resat, 3)
ra.Cells(rasat, 4) = RE.Cells(resat, 4): ra.Cells(rasat, 5) = RE.Cells(resat, hedef)

ra.Cells(rasat, 5).NumberFormat = RE.Cells(resat, hedef).NumberFormat ' BU satır adet ve kesirli olan sayılar için eklendi

If Cells(rasat, 4) = "Gr" Then
ra.Cells(rasat, 6) = ra.[D14] * ra.Cells(rasat, 5) / 1000
ra.Cells(rasat, 8) = (RE.Cells(resat, 8) * RE.Cells(resat, hedef) / 1000) * ra.[D14]
Else
ra.Cells(rasat, 6) = ra.[D14] * ra.Cells(rasat, 5)
ra.Cells(rasat, 8) = (RE.Cells(resat, 8) * RE.Cells(resat, hedef) / 1000) * ra.[D14] * 1000
End If
ra.Cells(rasat, 7) = RE.Cells(resat, 8): ra.Cells(rasat, 9) = RE.Cells(resat, hedef + 5)
Next
Next
With ra.Range("A17:A" & ra.[C60].End(3).Row)
.Formula = "=IF(ISERROR(MATCH(B17,$H$1:$H$14,0)),"""",MAX($A$16:A16)+1)": .Value = .Value
End With
ra.Cells(ra.[C60].End(3).Row + 1, 6) = "TOPLAM"
ra.Cells(ra.[C60].End(3).Row + 1, 8) = _
WorksheetFunction.Sum(ra.Range("H17:H" & ra.[C60].End(3).Row))
ra.Cells(ra.[C60].End(3).Row + 1, 9) = _
WorksheetFunction.Sum(ra.Range("I17:I" & ra.[C60].End(3).Row))
'ra.[H1].NumberFormat = "dd/mm/yyyy" ' RAPOR sayfasında H1 deki tarihi düzeltiyor.
MsgBox "İşlem Tamam !!!"
End Sub
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Evet, o satır aktif sayfadaki tüm hücrelerin formatını GENEL olarak değiştirir.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Evet, o satır aktif sayfadaki tüm hücrelerin formatını GENEL olarak değiştirir.
Merhaba,

Verdiğiniz kod ile durumu kurtarıyoruz, sağolun.

Kod:
ra.[H1].NumberFormat = "dd/mm/yyyy"
Teşekkür ederim zahmetleriniz ve yardımlarınız için.

Saygılarımla.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba,
Verdiğiniz kod ile durumu kurtarıyoruz, sağolun.
Kod:
ra.[H1].NumberFormat = "dd/mm/yyyy"
Teşekkür ederim zahmetleriniz ve yardımlarınız için.
Saygılarımla.
Estağfurullah, iyi günler dilerim.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Aşağıdaki satıra ilaveten ;

Kod:
ra.[H1].NumberFormat = "dd/mm/yyyy"
H60:H67 aralığındaki "genel" olan format "sayı" olsun demek istiyorum.

ra.[H60:H67].NumberFormat = "SAYI"

Teşekkür ederim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Aşağıdaki gibi olabilir
(ondalık basamak sayısını ayarlarsınız).
.
Kod:
ra.[H60:H67].NumberFormat = "#,##0.[COLOR="Blue"]00[/COLOR]"
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,713
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba.

Aşağıdaki gibi olabilir
(ondalık basamak sayısını ayarlarsınız).
.
Kod:
ra.[H60:H67].NumberFormat = "#,##0.[COLOR="Blue"]00[/COLOR]"
Sayın Ömer BARAN merhaba,

Teşekkür ederim.
 
Üst