• DİKKAT

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

Hücre değerine göre Tutar sütun formatının (₺-$ dönüşü) değişmesi

  • Konbuyu başlatan Konbuyu başlatan ByBaklan
  • Başlangıç tarihi Başlangıç tarihi

ByBaklan

Dijital Dönüşüm, Teknoloji Danışmanlık
Altın Üye
Katılım
17 Eylül 2014
Mesajlar
11
Excel Vers. ve Dili
Microsoft 365 64 Bit
Merhabalar,

1. Bir hücreye yazdığım döviz cinsi biçimlendirmesi, bütün sayfalardaki tablolardaki tutar sütunlarında uygulanması gerekiyor. Bir kaç şey denedim ama olmadı
2. Tablolar olan sayfaları kilitlemek istiyorum. Fakat kilitlendiğinde tablolarda otomatik satır eklenmiyor. Kilitli sayfada tablonun otomatik satır eklemesi için ne yapmalıyım?
3. Yazıya çevirdiğim Toplam Harcama Miktarının hücre içinde farklı renkte görünmesini istiyorum. Hücrede formül olduğu için bir türlü renklendiremedim.

Destekleriniz için şimdiden teşekkür ederim.
 

Ekli dosyalar

Son düzenleme:
Para birimlerini düzeltmek için aşağıdaki kodu kullanabilirsiniz.

Kod:
Sub Para_Birimi()
    Dim Sayfa As Worksheet, S1 As Worksheet
    
    Set S1 = Sheets("Masraf Formları TOPLAMI")
    
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> S1.Name Then
            Sayfa.Unprotect
            Select Case UCase(S1.Range("G1").Value)
                Case "TL"
                    Sayfa.Range("E4:E" & Sayfa.Rows.Count).NumberFormat = "#,##0.00 $"
                Case "EURO"
                    Sayfa.Range("E4:E" & Sayfa.Rows.Count).NumberFormat = "[$€-x-euro2] #,##0.00"
                Case "USD"
                    Sayfa.Range("E4:E" & Sayfa.Rows.Count).NumberFormat = "[$$-en-US] #,##0.00"
            End Select
            Sayfa.Protect
        End If
    Next

    MsgBox "Para birimleri düzeltilmiştir.", vbInformation
End Sub
 
Korhan Bey teşekkür ederim.
Kod çok güzel çalıştı.
Haddim olmayarak sizin kodunuzun üzerine biraz ekleme yaparak hem makroyu değişim kodunun içine ekledim hem de aynı zamanda "Masraf Formları TOPLAMI" sayfasındaki yerleri de değiştirmek istedim. Çalıştı da..
Yalnız belki daha kısa bir yolu vardır diye düşünerek bir kez daha sorayım istedim.
Ekli dosyayı da güncelledim.
Bu arada numara formatları için daha önceden yayınlanmış açıklayıcı liste gibi bir şey var mıdır? Formda aradım fakat göremedim.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, [$G$1]) Is Nothing Then Exit Sub
    Dim Sayfa As Worksheet, S1 As Worksheet
    Set S1 = Sheets("Masraf Formları TOPLAMI")
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name = S1.Name Then
            Sayfa.Unprotect
            Select Case UCase(S1.Range("G1").Value)
                Case "TL"
                    Sayfa.Range("G3").NumberFormat = "#,##0.00 $"
                    Sayfa.Range("G7:G18").NumberFormat = "#,##0.00 $"
                Case "EURO"
                    Sayfa.Range("G3").NumberFormat = "[$€-X-Euro2] #,##0.00"
                    Sayfa.Range("G7:G18").NumberFormat = "[$€-X-Euro2] #,##0.00"
                Case "USD"
                    Sayfa.Range("G3").NumberFormat = "[$$-En-Us] #,##0.00"
                    Sayfa.Range("G7:G18").NumberFormat = "[$$-En-Us] #,##0.00"
            End Select
            Sayfa.Protect
        End If
        If Sayfa.Name <> S1.Name Then
            Sayfa.Unprotect
            Select Case UCase(S1.Range("G1").Value)
                Case "TL"
                    Sayfa.Range("E4:E" & Sayfa.Rows.Count).NumberFormat = "#,##0.00 $"
                Case "EURO"
                    Sayfa.Range("E4:E" & Sayfa.Rows.Count).NumberFormat = "[$€-X-Euro2] #,##0.00"
                Case "USD"
                    Sayfa.Range("E4:E" & Sayfa.Rows.Count).NumberFormat = "[$$-En-Us] #,##0.00"
            End Select
            Sayfa.Protect
        End If
    Next
End Sub
 
Uygun şekilde düzeltme yapmışsınız.

Para birimi formatları için "MAKRO KAYDET" yöntemini kullanabilirsiniz.

Boş bir excel kitabı açıp makro kaydet tuşuna bastıktan sonra hücrelere farklı para birimi biçimlendirmeleri uygulayın. Son olarak kaydı durdurun. ALT+F11 tuşlarına basın. Oluşan kodları inceleyin.

Bu yöntemle farklı işlemlerin kod yapısına da ulaşabilirsiniz.
 
Korhan Hocam teşekkür ederim.
Makro ile yürümek hiç aklıma gelmemişti gerçekten.
Hatta diğer bir sorunum için hemen kullandım. Biraz geliştirince tam istediğim gibi oldu :)
 
Geri
Üst