Soru Makro koduna yazı ekleme

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Kod:
a = [D28:E28]
ReDim b(1 To UBound(a), 1 To 2)
    For i = 1 To UBound(a)
        say = say + 1
        If a(i, 1) < a(i, 2) Then
            b(say, 1) = (a(i, 2) - a(i, 1)) / a(i, 1)
        Else
            b(say, 2) = (a(i, 2) - a(i, 1)) / a(i, 1)
        End If
    Next i
    If say > 0 Then
        [H28].Resize(say, 2).NumberFormat = "0.00%"
        [H28].Resize(say, 2) = b
    End If
Yaklaşık Maliyetin b(say, 1) = (a(i, 2) - a(i, 1)) / a(i, 1) oranında üstünde artış yapılmıştır.
Yaklaşık Maliyetin b(say, 2) = (a(i, 2) - a(i, 1)) / a(i, 1) oranında azalış yapılmıştır.

Yazmak istiyorum. Yardımcı olabilir misiniz?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,743
Excel Vers. ve Dili
2021 Türkçe
Merhaba.
Aşağıdaki şekilde yapabilirsini.

b(say, 1) = "Yaklaşık Maliyetin " & (a(i, 2) - a(i, 1)) / a(i, 1) & " oranında üstünde artış yapılmıştır."
b(say, 2) = "Yaklaşık Maliyetin " & (a(i, 2) - a(i, 1)) / a(i, 1) & " oranında azalış yapılmıştır."
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Üstad
Yaklaşık Maliyetin -4,96747374357921E-03 oranında azalış yapılmıştır.
Yaklaşık Maliyetin 8,54900286433681E-02 oranında üstünde artış yapılmıştır.

şeklinde çıkıyor.
Yaklaşık Maliyetin -4,96% oranında azalış yapılmıştır.
Yaklaşık Maliyetin 8,54% oranında üstünde artış yapılmıştır.

Şeklinde düzenleyebilir miyiz?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,743
Excel Vers. ve Dili
2021 Türkçe
İlk yazdığınız kodlarda sadece en son satırı aşağıdaki ile değiştirin.

Kod:
[H28].Resize(say, 2) = "Yaklaşık Maliyetin " & FormatNumber(b, 2) & "% oranında azalış yapılmıştır."
 
Son düzenleme:

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
[H28].Resize(say, 2) = "Yaklaşık Maliyetin " & NumberFormat = "0.00%" & "% oranında azalış yapılmıştır."

sadece % oran yazıyor üstad
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,743
Excel Vers. ve Dili
2021 Türkçe
Özür dilerim yanlış kod eklemişim şimdi düzelttim yeniden dener misin?

Kod:
[H28].Resize(say, 2) = "Yaklaşık Maliyetin " & FormatNumber(b, 2) & "% oranında azalış yapılmıştır."
Şu satırı da silebilirsiniz. Artık işe yaramıyor.

Kod:
[H28].Resize(say, 2).NumberFormat = "0.00%"
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
[H28].Resize(say, 2) = "Yaklaşık Maliyetin " & FormatNumber(b, 2) & "% oranında azalış yapılmıştır."

kısmı komple sarı renk oldu üstad
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,743
Excel Vers. ve Dili
2021 Türkçe
Ben kontrolü yaptım çalışıyor her hangi bir sorun yok.
Ama eğer "b" değişkenine rakam dışında bir değer atanıyorsa hata verebilir.
Anlayabilmem için dosyanızı eklemelisiniz.

Yada kodların en başına şunu ekleyin.

dim b () as double

Eğer "b" değişkenine değer atanırken metin atanırsa o anda hata verir ve siz verilerinizi gözden geçirerek kontrol edersiniz.
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
[URL]http://dosya.altervista.org/download.php?file=c0b61907cbf2827550c37237b0e6b6ce[/URL]



Ekli dosya ya bakabilir misiniz
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,743
Excel Vers. ve Dili
2021 Türkçe
Eklediğiniz dosyanın sayfasında hiç veri yok.
Bu şekilde nasıl kontrol edeceğim?

Aşağıdaki kodları deneyin.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim b() As Double
    a = [D28:E28]
    ReDim b(1 To UBound(a), 1 To 2)
    For i = 1 To UBound(a)
        say = say + 1
        If a(i, 1) < a(i, 2) Then
            b(say, 1) = (a(i, 2) - a(i, 1)) / a(i, 1)
        Else
            b(say, 2) = (a(i, 2) - a(i, 1)) / a(i, 1)
        End If
    Next i
    If say > 0 Then
        [H28].Resize(say, 2) = "Yaklaşık Maliyetin " & FormatNumber(b, 2) & "% oranında azalış yapılmıştır."
    End If
End Sub
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,539
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Üstad veri eklenmiş çalışır şekli ile aynı siteye yükleme yapabilirseniz indirip kullanayım.
Zira bende [H28].Resize(say, 2) = "Yaklaşık Maliyetin " & FormatNumber(b, 2) & "% oranında azalış yapılmıştır." kısmı hataya düşüyor.
Yükleme imkanınız yok ise, bayağı size zahmet verdiğimden dolayı hakkınızı helal edin. Böyle kalsın. Büyük ihtimal benim excelde sıkıntı var
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,743
Excel Vers. ve Dili
2021 Türkçe
Hakkım helal olsun da

Sayın Sirkulasyon sizin dosyanızdaki verileri ben neye göre gireceğim?
Bu veri girme işini sizin yapmanız gerekmiyor mu?
 
Üst