• DİKKAT

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

Döngü içerisinde hücre eşitleme

Katılım
4 Mayıs 2012
Mesajlar
7
Excel Vers. ve Dili
2010 - English
Merhaba, sitede yeniyim ancak çok yararını gördüm. Aşağıdaki konu ile alakalı yardıma ihtiyacım var.

"Dim x as Integer
Dim i as Integer
Dim j as Integer

j = Cells(5, "B").End(xlDown).Row
For x = 5 To j
If ActiveSheet.Range("E" & x).Value = True Then
i = Cells(5, "B").End(xlDown).Row + 1
ActiveSheet.Range("F" & x).Select
ActiveCell.FormulaR1C1 = "=RiC6"


End If
Next x"

Bu döngüde yapmak istediğim bir listede E kolonunda "True" bulunan satırlardaki F sütunundaki hücreyi; listenin en altına yeni veri girişi olacağından B sütunu boş olan satırı bularak bu satırdaki F sütunundaki hücreye eşitlemek istiyorum. Böylece makro bittikten sonra listeye eklenen yeni satırdaki F sütununa ne girilirse girilsin eşitlenen diğer hücrede de bu bilgi bulunsun istiyorum. Yukarıda kırmızı ile gösterdiğim satırda "i" yerine rakam vererek satırı belirli bir hücre için bu olayı gerçekleştiriyorum ancak satır bilgisi döngü içerisinde belirlendiği için "i" olarak verdiğimde hata veriyor. Yardımlarınızı rica ediyorum. Teşekkürler...
 
Son düzenleme:
Dosya eklerseniz daha çabuk cevap bulabilirsiniz.
 
Formüle i nin eklenişi yanlış gibi duruyor

ActiveCell.FormulaR1C1 = "=RiC6"
 
Değişken kullanarak hücre eşitleme

Malesef gizli bilgiler içerdiği için dosyayı ekleyemiyorum. Zaten dosyayla beraber daha fazla karışacaktır kafalar. Ben kodun hasarlı olan kısmını yazmıştım sadece. Hücreleri eşitlerken sadece kesin satır ve kolon değerleri mi girmek zorundayım? snx111 in de dediği gibi ActiveCell.FormulaR1C1 = "=RiC6" şeklinde bir kullanım yok. Zamanla dosya güncellendikce satır sayısı değişecek, dolayısıyla bu makro her çalıştırıldığında başka hücreleri birbirine eşitleyecek. Ben döngü içerisinde değişken kullanarak nasıl hücre eşitliği sağlayabileceğimi bulamadım. Bu konuda yardım edebilecek kimse var mı? Şimdiden teşekkür ederim...
 
Dosyanızdaki isimleri verileri gizli ögeleri değiştirip 15 satırlık örnek sayfa/dosya yüklerseniz;
detaylarıda anlatırsanız; daha açıkça ; yardımcı olabiliriz..
 
Dosyanızdaki isimleri verileri gizli ögeleri değiştirip 15 satırlık örnek sayfa/dosya yüklerseniz;
detaylarıda anlatırsanız; daha açıkça ; yardımcı olabiliriz..

Ekte bir parça listesi göreceksiniz. Dosyanın koruma sifresi "orcunkaplan".Bu parça listesini güncel tutacak 4 adet makro içeren buton var (AP, RP, DP, OK isimlerinde). Her satırda bir parça numarası ve bu parçanın bilgileri mevcut. Parçalarda değişiklik yapılmak istendiğinde 3 farklı aksiyon alınabilir. Parça silinebilir(DP), parça eklenebilir(AP), veya parça güncellenebilir(RP). Parça silme ve parça ekleme kısmında herhangi bir problem yasamadım, ilgili kodlar incelenebilir. "RP" butonunun icerdigi makrodan tam olarak sunu yapmasını istiyorum:

1-Güncellenecek satırlar tiklenecek.
2-"RP" butonu ile makro çalıştırılacak.
3-Tikli satır bulunarak bu satırdaki bazı hücrelerde değişiklikler yapılacak.
4-Listenin en sonunda yeni bir satır oluşturulacak ve bazı özellikleri tiklenen satırdan alacak.
5-Yeni oluşturulan satıra girilecek bazı bilgilerin de aynen tiklenmiş satıra taşınması gerekiyor. Ancak bilgi girişi makro bittikten sonra olacağından hücrelerin makro çalıştığı andaki değerlerini değil, her zamanki değerlerini eşit kılmak gerekiyor.
6-Makro bittikten sonra yeni eklenen satıra bazı bilgilerin elle girilmesi istendiğinden; sadece yeni eklenen satırdaki sarı renkteki boş hücreler kullanıcı tarafından doldurulacak fakat tiklenmiş satırdaki bazı hücreler eklenmiş satırdan bilgi çekeceğinden hem tiklenmiş satır hem de yeni eklenen satırdaki bütün bilgiler eksiksiz olarak doldurulmuş olacak. Sonrasında "OK" butonuna bastığında dosya güncellenerek koruma altına alınacak.

Bu dosyanın kurgusunda bir değişiklik yapmak benim için daha zor olacaktır. Şu anda tek problemim: döngü içerisinde kullanılan değişken yardımıyla her makro çalıştırılışında yapılmış olan seçime göre farklı hücrelerin eşitlenmesi. Böyle birşey mutlaka mümkün olmalı. Yardımlarınızı rica ediyorum...
 

Ekli dosyalar

  • Exp.xlsm
    Exp.xlsm
    469.9 KB · Görüntüleme: 13
5 defa okudum hiçbişey anlamadım akşama anlarım belki :S ...bağzı ne demektir bagzı hücrelerde değşiklik yapılıcak nedemek ?
4-Listenin en sonunda yeni bir satır oluşturulacak ve bazı özellikleri tiklenen satırdan alacak.

Son satır zaten boş değil mi ? yeni satır oluşurmaktan kasıt nedir ?

5-Yeni oluşturulan satıra girilecek bazı bilgilerin de aynen tiklenmiş satıra taşınması gerekiyor yine bağzı veriler ??
anladığımı yazayım ; rp butonunun makrosunun işi bitince bitince ;

tıklı satırları bul sonsatıra gireceginiz verileri tıklı olan b hücrelerine dagıtarak yaz ve kaydet bumu ? :S ?

Asıl olması gerekeni anlayamadım belki forumdan arkadaşlar el atar ben biraz arada kaldım bu konuda...
 
Son düzenleme:
5 defa okudum hiçbişey anlamadım akşama anlarım belki :S ...bağzı ne demektir bagzı hücrelerde değşiklik yapılıcak nedemek ?
4-Listenin en sonunda yeni bir satır oluşturulacak ve bazı özellikleri tiklenen satırdan alacak.

Son satır zaten boş değil mi ? yeni satır oluşurmaktan kasıt nedir ?

5-Yeni oluşturulan satıra girilecek bazı bilgilerin de aynen tiklenmiş satıra taşınması gerekiyor yine bağzı veriler ??
anladığımı yazayım ; rp butonunun makrosunun işi bitince bitince ;

tıklı satırları bul sonsatıra gireceginiz verileri tıklı olan b hücrelerine dagıtarak yaz ve kaydet bumu ? :S ?

Asıl olması gerekeni anlayamadım belki forumdan arkadaşlar el atar ben biraz arada kaldım bu konuda...

Tam olarak :

E sütununda TRUE yazan satırları bul, K ve T hücrelerine "D" yazdır. B ve [AB:BO] hücrelerini aynen listedeki ilk boş satıra kopyala. İlk boş satırdaki G hücresine $A$1 hücresinin değerini ata. Aynı satırdaki K ve T hücrelerine "A" yazdır. Ayrıca aynı satırdaki F,M,N,V,W hücrelerini sırasıyla; TRUE yu bulduğumuz satırdaki F,O,P,X,Y hücrelerine eşitle. Makro tamamlandığında son satırdaki F,H,I,J,M,N,Q,R,S,V,W,Z,AA,AB,AC,AD,AE,AF hücrelerine bilgi girilmesi gerekiyor. E sütununda TRUE bulunan satırdaki F,O,P,X,Y hücrelerinin de bu bilgilerle otomatik güncellenmesi gerekiyor.

Evet, tam olarak istediğim bu... :mrgreen:
 
Tam olarak :

E sütununda TRUE yazan satırları bul, K ve T hücrelerine "D" yazdır. B ve [AB:BO] hücrelerini aynen listedeki ilk boş satıra kopyala. İlk boş satırdaki G hücresine $A$1 hücresinin değerini ata. Aynı satırdaki K ve T hücrelerine "A" yazdır. Ayrıca aynı satırdaki F,M,N,V,W hücrelerini sırasıyla; TRUE yu bulduğumuz satırdaki F,O,P,X,Y hücrelerine eşitle. Makro tamamlandığında son satırdaki F,H,I,J,M,N,Q,R,S,V,W,Z,AA,AB,AC,AD,AE,AF hücrelerine bilgi girilmesi gerekiyor. E sütununda TRUE bulunan satırdaki F,O,P,X,Y hücrelerinin de bu bilgilerle otomatik güncellenmesi gerekiyor.

Evet, tam olarak istediğim bu... :mrgreen:

Bu arada örnek excel dosyasını ekte bulabilirsiniz. Yardıma muhtacım... :roll:
 

Ekli dosyalar

  • Exp.xlsm
    Exp.xlsm
    467.9 KB · Görüntüleme: 10
Arkadaşlar bu konuda hala aranıyorum, bir cevap bulmuş değilim.. Her türlü yardıma açığım...
 
Tam olarak :

E sütununda TRUE yazan satırları bul, K ve T hücrelerine "D" yazdır. B ve [AB:BO] hücrelerini aynen listedeki ilk boş satıra kopyala. İlk boş satırdaki G hücresine $A$1 hücresinin değerini ata. Aynı satırdaki K ve T hücrelerine "A" yazdır. Ayrıca aynı satırdaki F,M,N,V,W hücrelerini sırasıyla; TRUE yu bulduğumuz satırdaki F,O,P,X,Y hücrelerine eşitle. Makro tamamlandığında son satırdaki F,H,I,J,M,N,Q,R,S,V,W,Z,AA,AB,AC,AD,AE,AF hücrelerine bilgi girilmesi gerekiyor. E sütununda TRUE bulunan satırdaki F,O,P,X,Y hücrelerinin de bu bilgilerle otomatik güncellenmesi gerekiyor.

Evet, tam olarak istediğim bu... :mrgreen:

BU KADAR ŞEYİ
Kod:
ActiveCell.FormulaR1C1 = "=RiC6"
FORMULUYLE YAPMAYA ÇALIŞMANIZ HAYRET VERİCİ ...

Boşuna makro ;döngü ; fonksiyon ugraşıp duruyormuşuz ... :)

Pek bişey anlamamama ragmen yazdıklarınızdan bumakroyu yazdım dosyanız ektedir
 

Ekli dosyalar

Son düzenleme:
Snx111, öncelikle problemimle uğraştığın için çok teşekkür ederim. Kodunu 64bit e uygun olmadığı için çalıştıramadım ancak inceledim. Bahsettiğin gibi bütün istediklerimi tabi ki bir satırla yapmaya çalışmadım; örnek excel file daki kodlarımı incelediysen aşağı yukarı aynı döngü ve veri kopyalama şeklini kullanmışız. Ancak farklı olarak sen veri girişlerini bir inputbox yardımıyla yaparak kontrol altına alıyorsun. Veri girişi tamamlandığında da kod çalışmaya devam ettiği için hücrelerin değerlerini tekrar eşitleyebiliyorsun. Açıkçası benim düşündüğüm şey tam olarak böyle bir şey değildi. Ekstra bir menüye veri girişi yapılmasını istemiyordum. Hücrelerin kendisine giriş yapılsın ve bu veri, giriş sonrasında otomatik olarak bağlantılı hücrelere kopyalansın istiyordum; hücre eşitleme yöntemini kullanmak istememin nedeni buydu. Ama sanırım senin de önerdiğin şekilde veriyi toplamak zorunda kalacağım başka bir çözüm bulamadığım için.

Aslında benim sorunumu şu şekilde de özetleyebiliriz: Örneğin "B1 hücresini, C sütunundaki ve kullanıcının gireceği satırdaki hücreye sürekli olarak eşitlemek." Kullanıcının gireceği sayıyı sen önceden tanımladığın bir integer olarak biliyor olacaksın; bu integer ı kullanarak hücre eşitlemeyi biliyor olsaydık tam olarak istediğim şeyi yapmış olurduk. Ki bahsettiğin tek satırı düzeltmek anlamına geliyor bu. Neyse...

Bir de fark ettiysen listenin her satırında bir seçim objesi var. Her objenin sonucu aynı satırdaki 5. kolondaki hücreye dönüyor ve ben bu sonuca göre işlem gerçekleştiriyorum. Ancak bu her satırın 4. kolonuna bir seçim obje yaratmam gerekliliğini oluşturuyor. Sana gönderdiğim örnek dosyadaki bütün seçim objelerini kendim elimle yaratmıştım, tahmin edersin ki tamamen hamallık. Bir kod ile bu objeleri bütün satırlar için yaratabilir miyiz? Bu konuda bir fikrin var mı? Teşekkürler tekrar...
 
Bir de fark ettiysen listenin her satırında bir seçim objesi var. Her objenin sonucu aynı satırdaki 5. kolondaki hücreye dönüyor ve ben bu sonuca göre işlem gerçekleştiriyorum. Ancak bu her satırın 4. kolonuna bir seçim obje yaratmam gerekliliğini oluşturuyor. Sana gönderdiğim örnek dosyadaki bütün seçim objelerini kendim elimle yaratmıştım, tahmin edersin ki tamamen hamallık. Bir kod ile bu objeleri bütün satırlar için yaratabilir miyiz? Bu konuda bir fikrin var mı? Teşekkürler tekrar...


Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Columns.Count > 1 Then Exit Sub
    If Target.Rows.Count > 1 Then Exit Sub
 Dim son_satir As Long
    son_satir = Cells(Rows.Count, 5).End(3).Row
    If Intersect(Target, Range("e3:e" & son_satir)) Is Nothing Then Exit Sub
If ActiveCell.Value = "X" Then
    ActiveCell.Value = ""
    Else
    ActiveCell = "X": ActiveCell.Offset(0, -1).Select: Beep
     End If
End Sub
hücre kilit ve gizli seçenegini pasif yapmalısınız ;!!!!
ekteki dosya 64 bitte de çalışır ;Diğer sorunuzu anlamaya çalşıtığımda beynim duruyor kusura bakmayın..
 
Son düzenleme:
Geri
Üst