• DİKKAT

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

Bu kodları nasıl aktif yaparım?

Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
merhaba.
makro kaydet diyerek aşağıdaki kodları elde ettim.

Sub Makro1()
Range("C5").Select
ActiveCell.FormulaR1C1 = "125"
Range("D5").Select
Selection.ClearContents
End Sub

ancak makroyu kaydedip C5 e değer girdiğimde D5 İ silmedi. Makroyu çalıştır dediğim zaman sildi, fakat C5 e 125 yazdı(çünki kodları öyle kaydettim)
bunu C5 e her değer girdiğimde çalışacak şekilde nasıl değiştirmeliyim?
 
Tekrar merhaba.
Soruyu değiştirsem olur mu?
"4. sütundaki herhangi bir hücrenin değerini değiştirdiğimde sağındaki hücreyi sil ve X isimli makroyu çalıştır"
Bu cümlenin makro dilindeki karşılığı nedir?

Bir de;
"6. sütundaki herhangi bir hücrenin değerini değiştirdiğimde sağındaki hücreyi sil ve X isimli makroyu çalıştır"
 
yazmanız gereken kod şudur

Çlaıştığınız sayfanın kod bölümünü açın ve sayfanın change olayına

if target.address = range("c5").address then
'Gerçekleştirmek istediğiniz kodları yazın

end if

Sonuç= c5 hücresinde bir değişiklik olduğunda makro çalışacak
 
teşekkürler.
Fakat işi C5 ile sınırlandırmak istemiyorum.
Bütün C sütunu ya da D sütunu için nasıl yazmalıyım.
Bir de iki sütun için nasıl olmalı? Yani hem D hem F(örneğin)
 
if target.column = 3 or target.column = 4 then

end if

3 ile 4 rakamı sutun sıra numarasıdır

yani 3 C sütunun 4 ise D sütununu ifade ediyor.
 
çalışmadı.
acaba dosyayı eklesem ilgilenirmisiniz?
4. ve 5. sütundaki rakamları değiştirdiğim zaman yanındaki kuruşları da silip yeni kuruş değerlerini yazmasını istiyorum.
 
Ã?zür dilerim şu an internet cafedeyim ve burada office programı yok

önceki cevabımı inceledinizse ben C ve D sütunlarına göre bir kod yazmıştım bunu değiştirmek için Sütun numarasaını doğru yazın.

Bunu yaptıktan sonra çalışması lazım.
 
dediğiniz gibi yaptım. ama çalışmadı.
kodları gönderiyim o zaman.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 Or Target.Column = 6 Then
If Target.Column = 4 Then
a = Target.Row - 1
If a <= 0 Then a = 1 Else
If Cells(a, 5) = 0 Then
If Cells(a, 4) = 0 Then Exit Sub
Cells(a, 5) = (100 * Cells(a, 4)) - (100 * Int(Cells(a, 4)))
Cells(a, 4) = Int(Cells(a, 4))
End If
End If
If Target.Column = 6 Then
a = Target.Row - 1
If a <= 0 Then a = 1 Else
If Cells(a, 7) = 0 Then
If Cells(a, 6) = 0 Then Exit Sub
Cells(a, 7) = (100 * Cells(a, 6)) - (100 * Int(Cells(a, 6)))
Cells(a, 6) = Int(Cells(a, 6))
End If
End If
End If
End Sub
 
Yazdığınız kodlara göre Eğer D(4.sütun) sütununda yada F(6.Sütun) sütunun da bir değişiklik olduğunda kodlarınız çalışması lazım.

Eğer yinede çalışmıyorsa nedenini anlayamadım.

bir başka yadım:

En baştaki satırın yanını tıklayarak satırı renklendirin
ve kod işlemesini orada durdurmuş olun F8 tuşuna basarak kodları çalıştırmaya manuel olarak devam ettirin. Bu şekilde hatayı bulabilirsiniz umarım.
 
sanırım bu kodda "kuruşlu kısmı sil" komutu eksik.
ama ben nasıl ve nereye ilave edeceğimi bilmiyorum.
 
arkadaşlar gene ben, herkese günaydın.

3 mesaj önce yazdığım kodlar çalışıyor ancak istediğim şeyi yapamadım bi türlü.
yani, ytl yazacağım hücreyi değiştirdiğim zaman yanındaki kuruşlu kısmı silsin istiyorum.
çünki başka türlü yeni rakamın kuruşunu yazmıyor, elle silip yazmam gerekiyor.
herkese kolay gelsin
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 Or Target.Column = 6 Then
ActiveCell.Offset(0, 1).Select
Selection.ClearContents
If Target.Column = 4 Then

üst kısmını şu şekilde değiştiridim.
ancak bu sefer de hücreyi seçer seçmez yanındakine geçiyor ve siliyor. yeni rakamı yazamıyorum.
 
"4.sütundaki herhangi bir hücreye değer yazılırsa"
nasıl kodlarım?
 
kodlarımın son hali.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 Or Target.Column = 6 Then
ActiveCell.Offset(0, 1).Select
Selection.ClearContents
ActiveCell.Offset(0, -1).Select
a = Target.Row - 1
If a <= 0 Then a = 1 Else
If Cells(a, 5) = 0 Then
If Cells(a, 4) = 0 Then Exit Sub
Cells(a, 5) = (100 * Cells(a, 4)) - (100 * Int(Cells(a, 4)))
Cells(a, 4) = Int(Cells(a, 4))
End If
End If
a = Target.Row - 1
If a <= 0 Then a = 1 Else
If Cells(a, 7) = 0 Then
If Cells(a, 6) = 0 Then Exit Sub
Cells(a, 7) = (100 * Cells(a, 6)) - (100 * Int(Cells(a, 6)))
Cells(a, 6) = Int(Cells(a, 6))
End If
End Sub


ancak 4. sütun ya da 6. sütundaki bir hücreyi seçtiğimde birkaç defa hücreler arası gidip gelliyor ve istediğim sütunu seçiyor(bu sorun olur mu?)
bir de, seçim yaptığı zaman yan hücreye 0 yazıyor. ben yazmasın istiyorum.
sadece değer girdiğim zaman silsin ve yeni değerin kuruşunu yazsın
 
ben bu sevdadan vazgeçtim arkadaşlar.
beceremiyorum bi türlü
 
Geri
Üst