• DİKKAT

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

Makro ile Otomatik Virgül Atma

  • Konbuyu başlatan Konbuyu başlatan mc_exrem
  • Başlangıç tarihi Başlangıç tarihi
Katılım
25 Mayıs 2010
Mesajlar
480
Excel Vers. ve Dili
Office 2019
64bit
Tr
Win 10
Merhabalar,
Sürekli 0,451 0,541 1,254 gibi sayısal verileri giren biri olarak hücreye 546 yazınca otomatik olarak 0,546 yazmasını istiyorum çünki değeri sıfırın altında görmesi gerek (ortalama formülü sonucu doğru vermiyor) yoksa m2 hesabı yanlış çıkıyor.(ortalama formülü sonucu doğru vermiyor) Mümkünse Office 2007 excelde bi sayfaya uygulayıp sayfaya uygularsanız çok memnun olurum makroyu ekledim ama çalıştıramadım :(
Yardımlarınız için teşekkür eder çalışmalarınızda kolaylıklar dilerim.
 
Merhabalar,

Deneyin..

Sağ Tuş / Hücre Biçimlendir / İsteğe Uyarlanmış /

Kod:
0#","##0
 
Merhabalar,

Deneyin..

Sağ Tuş / Hücre Biçimlendir / İsteğe Uyarlanmış /

Kod:
0#","##0

Görüntü olarak doğru çıkıyor ama sonuç yanlış çıkıyor 0,444*0,454=201576 şeklinde çıkıyor. Benim isteğim sonucun yuvarlanmış bi şekilde 0,20 şeklinde çıkmasını istiyorum. Teşekkürler
 
a1 ve a2 den örnek

Sayıları 0 sız yazın

Kod:
=(A1*A2)/10^UZUNLUK(A1*A2)
 
Yanlış anladınız.
a1 de 555 a2 de 444
a3 hücresine
Kod:
=(A1*A2)/10^UZUNLUK(A1*A2)
yazın.
 
Merhabalar,
Sürekli 0,451 0,541 1,254 gibi sayısal verileri giren biri olarak hücreye 546 yazınca otomatik olarak 0,546 yazmasını istiyorum
Sayın mc_exrem
Verdiğiniz örneklerden 1000 bölünecek gibi geldi. Öyle ise aşağıdaki kodu ilgili sayfanızın modülüne yapıştırın.
rakamı yazınca hücreden enter ile çıkın
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count = 1 Then
If IsNumeric(Target.Offset(-1, 0)) And Target.Offset(-1, 0) <> 0 Then
Target.Offset(-1, 0).Value = Target.Offset(-1, 0) / 1000
End If
End If

End Sub
 
Son düzenleme:
Eğer sayı
1 ise 0,1
12 ise 0,12
123 ise 0,123
1234 ise 0,1234
..............................
olmasını istiyorsanız.
rakamı yazınca hücreden enter ile çıkın
Aşağıdaki kodu kullnın
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row <> 1 Then
If Target.Cells.Count = 1 Then
sayı = "1" & Application.WorksheetFunction.Rept("0", Len(Target.Offset(-1, 0)))
If IsNumeric(Target.Offset(-1, 0)) Then
If Target.Offset(-1, 0) <> 0 And Int(Target.Offset(-1, 0)) = Target.Offset(-1, 0) Then
Target.Offset(-1, 0).Value = Target.Offset(-1, 0) / sayı
End If
End If
End If
End If
End Sub
 
Son düzenleme:
A1 ve A2 ye yazın demiştim. Siz A1 ve B1 e yazmışınız. Ondan 0 veriyor.
Örneek Ekledim
 

Ekli dosyalar

  • A.xlsx
    A.xlsx
    8.3 KB · Görüntüleme: 0
Sayın mc_exrem
Verdiğiniz örneklerden 1000 bölünecek gibi geldi. Öyle ise aşağıdaki kodu ilgili sayfanızın modülüne yapıştırın.
rakamı yazınca hücreden enter ile çıkın
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count = 1 Then
If IsNumeric(Target.Offset(-1, 0)) And Target.Offset(-1, 0) <> 0 Then
Target.Offset(-1, 0).Value = Target.Offset(-1, 0) / 1000
End If
End If

End Sub

yanlış yere mi uyguluyorum acaba?


Daha önce bu konuyu açmıştım ama dosya silinmiş yapmaya çalıştığım resimde görüldüğü gibi sağa norma yazında solda çıkmasını istedğim şekil var.

 
sayın mc_exrem
sayfa sekmelerinizden ilgili sayfanın üzerinde sağ tıklayın "kod görüntüle" yi seçin aşılan sayfaya kodları yapıştırın
 
Makro eklemeyi öğrendim. ama sonuç itibariyle yaptmak istedğim şeyi gerçekleştiremedim. İstedğim işlem özeti:
 
yanlış yere mi uyguluyorum acaba?


Daha önce bu konuyu açmıştım ama dosya silinmiş yapmaya çalıştığım resimde görüldüğü gibi sağa norma yazında solda çıkmasını istedğim şekil var.


If IsNumeric(Target.Offset(-1, 0)) And Target.Offset(-1, 0) <> 0 Then
bu kod hata veriyo üzeri sarı renkte çıkıyo
 
Geri
Üst