Dolu hücreye göre veri girme

Katılım
14 Mayıs 2010
Mesajlar
93
Excel Vers. ve Dili
2007 TÜRKÇE
Altın Üyelik Bitiş Tarihi
07-09-2024
Merhaba,

A sütununa alt alta veri girdiğimiz bir tablo var.
veri girişinden sonra 2 tane operatör bu verilerin karşısına isimlerini yazıyor.
örnek olarak a1 den a10 hücresine kadar değerleri girdiğimizde b1 den b10 a kadar olan hücrelere okan ismini bu makro ile yazdırabiliyorum.
fakat sadece A11 hücresine veri girişinden sonra b11 hücresine mehmet ismini yazdır dediğimde belirttiğim makro okanın verilerini de değiştiriyor.
tek veri girişinde böyle bir durum söz konusu bunu nasıl çözebilirim.
birden fazla veri girdiğimde işe yarıyor

Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "OKAN"
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "OKAN"
Range(Selection, Selection.End(xlDown)).Select
Selection.FillDown
Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
C++:
ilk = Range("A1").Offset(0, 1).End(xlDown).Row
Son = Range("A1").End(xlDown).Row
Range("A1").Offset(ilk, 1) = "OKAN"
Range("A1").Offset(ilk, 1).AutoFill Range("B" & ilk + 1).Resize(Son - ilk, 1)
 
Katılım
14 Mayıs 2010
Mesajlar
93
Excel Vers. ve Dili
2007 TÜRKÇE
Altın Üyelik Bitiş Tarihi
07-09-2024
C++:
ilk = Range("A1").Offset(0, 1).End(xlDown).Row
Son = Range("A1").End(xlDown).Row
Range("A1").Offset(ilk, 1) = "OKAN"
Range("A1").Offset(ilk, 1).AutoFill Range("B" & ilk + 1).Resize(Son - ilk, 1)
Yardımınız için teşekkür ederim
 
Katılım
14 Mayıs 2010
Mesajlar
93
Excel Vers. ve Dili
2007 TÜRKÇE
Altın Üyelik Bitiş Tarihi
07-09-2024
bu komutu çalıştırdığımda hata vermektedir.
nasıl kullanacağım bu komutu?
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Sizin verdiğiniz kodların olduğu satırlar sileceksiniz bunları koyacaksınız.
Prosedür başlık ve End satırlarını silmeyeceksiniz.
Ve diğer kodları nasıl çalıştırıyorsanız bunu da aynı şekilde çalıştırabilirsiniz.
 
Katılım
14 Mayıs 2010
Mesajlar
93
Excel Vers. ve Dili
2007 TÜRKÇE
Altın Üyelik Bitiş Tarihi
07-09-2024
Ömer bey,
Benim ilk yazdığım makrodaki gibi hata oluşmakta. Yani son dolu hücredeki ismi alıyor.
A10 hücresine veri girişi olduğunda b sütununda en son dolu hücre b9 ise ve b9 da okan yazıyor ise ben mehmet makrosunu çalıştırdığımda b10 hücresine okan yazıyor.
ben ilk başta yanlış anlattım biraz sanırım kusura bakmayın.
son olarak size şöyle anlatayım:
A sütununda A9 ve B sütununda b9 hücrelerine kadar veri var
mesela b7 b8 b9 hücrelerinde okan yazıyor.
a10 a11 a12 hücresine veri girdikten sonra makroyu buton yardımı ile çalıştırdığımda B sütununda en son hangi isim yazıyor ise
b10 b11 b12 hücresine diğer isim yazacak.
bu şekilde yapabilir misiniz.

Ayrıca sizden rica olarak:
Yeni yeni öğreniyorum vba kodlarını daha doğrusu öğrenmeye çalışıyorum.
Şu şekilde bir makro yazdım ama çalışmadı.
Neden olduğu konusunda yardımcı olabilir misiniz.
B sütununda en son hücrede okan olduğunu varsayarak:
Konunun en başında yazmış olduğum makro b sütunundaki boş hücre sayısı birden fazla olduğunda çalışıyordu.
burda A sütunundaki dolu hücre sayısı B sütunundaki dolu hücre sayısından 1 fazla olduğunda ve olmadığında olarak iki ayrı makro ile yapmaya çalıştım.
Sub eger()
ilk = Application.WorksheetFunction.CountA("A:A")
son = Application.WorksheetFunction.CountA("B:B")
If ((ilk - son) = 1) Then
Range("a1").End(xlDown).Offset(0, 1).Select
ActiveCell = "mehmet"
Else
Range("A1").End(xlDown).Offset(0, 1).Select
ActiveCell = "mehmet"
ActiveCell.End(xlUp).Offset(1, 0).Select
ActiveCell = "mehmet"
Range(Selection, Selection.End(xlDown)).Select
Selection.FillDown
Range("A1").End(xlDown).Offset(0, 1).Select
End If
End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Öyle bir anlattınız ki hiç bir şey anlamadım.
Benim verdiğim kodu ben denedim. Tabi ki örnek bir dosyanız olmadığından kendim dosya oluştudum.

Soru sahibi olarak, sorunuzu kelimelerle ifade ederken zorlanıyorsanız muhakkak Örnek excel dosyanızı, manuel çözümüyle birlikte verin. Hatta şartlar nedir, kısıtlar nedir, makro ne zaman çalışsın gibi isteklerinizi lütfen konuyu hiç bilmeyen ilkokul çocuğuna anlatır gibi izah edin.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Biraz dolambaçlı olmuş ama yine de çok hoş.
81 mesajınız var. 1000 mesaj yazıp If sorgusunu yazamayanları da gördü bu forum.
Gayet başarılısınız. Deneyeyerek çözerek haz alacak haz aldıkça daha da kolay öğreneceksiniz.
 
Katılım
14 Mayıs 2010
Mesajlar
93
Excel Vers. ve Dili
2007 TÜRKÇE
Altın Üyelik Bitiş Tarihi
07-09-2024
Biraz dolambaçlı olmuş ama yine de çok hoş.
81 mesajınız var. 1000 mesaj yazıp If sorgusunu yazamayanları da gördü bu forum.
Gayet başarılısınız. Deneyeyerek çözerek haz alacak haz aldıkça daha da kolay öğreneceksiniz.
Teşekkür ederim.
Dediğiniz gibi biraz uzun yoldan yaptım.
Eminim daha kısa yolu vardır.
 
Üst