• DİKKAT

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

Birleştirilmiş hücredeki veriyi kodla başka hücreye otomatik aldırma

Katılım
16 Ağustos 2008
Mesajlar
71
Excel Vers. ve Dili
Office 365
WİN 11 PRO
Arkadaşlar Merhaba.
Birleştirilmiş A2 ve A3 hücresindeki veriyi birleştirilmemiş D2 ve D3 hücrelerine kod ile otomatik olarak aldırmak istiyorum.
Veya birleştirilmiş A2 ve A3 hücresine değer yazdığımızda D2 ve D3 hücrelerine otomatik formül yazsın.
Yardımlarınız için şimdiden teşekkürler.
 

Ekli dosyalar

Merhaba,

D2 hücresine yazarak alt satırlara kopyalayınız.

Kod:
=ARA(2;1/($A$2:A2<>"");$A$2:A2)
.
 
Merhaba,

D2 hücresine yazarak alt satırlara kopyalayınız.

Kod:
=ARA(2;1/($A$2:A2<>"");$A$2:A2)
.

Merhabalar.
Formülde bir hata var.Tabloda d2 hücresine formülü yazıp kopylaadığım zaman a14ve a15 hücresinde değer yok iken d14 ve d15 hücresindeki değer d12ve d13 hücresindeki değeri alıyor.
Ayrıca formülü çekmeyi unutursak diye kodlu veya otomatik formül ile çözüm arıyorum.
 
kodlu veya otomatik formül ile çözüm arıyorum.

Yazdığınız için bende formül vermiştim.

Module kopyalarak çalıştırınız.

Kod:
Sub Yaz()
 
    Dim i As Long, son As Range
 
    Range("A" & Cells(Rows.Count, "A").End(xlUp).Row).Select
 
    Do
        Set son = ActiveCell.Offset(1, 0)
    Loop While ActiveCell.EntireRow.Hidden = True
 
    Range("D2:D" & son.Row - 1).ClearContents
 
    For i = 2 To son.Row - 1
        Cells(i, "D") = Cells(i, "A")
        If Cells(i, "A") = "" Then
            Cells(i, "D") = Cells(i - 1, "D")
        End If
    Next i
 
End Sub
.
 
Yazdığınız için bende formül vermiştim.

Module kopyalarak çalıştırınız.

Kod:
Sub Yaz()
 
    Dim i As Long, son As Range
 
    Range("A" & Cells(Rows.Count, "A").End(xlUp).Row).Select
 
    Do
        Set son = ActiveCell.Offset(1, 0)
    Loop While ActiveCell.EntireRow.Hidden = True
 
    Range("D2:D" & son.Row - 1).ClearContents
 
    For i = 2 To son.Row - 1
        Cells(i, "D") = Cells(i, "A")
        If Cells(i, "A") = "" Then
            Cells(i, "D") = Cells(i - 1, "D")
        End If
    Next i
 
End Sub
.

Merhabalar.
Yardımlarınız için teşekkür ederim.Tam istediğim gibi olmuş.Bişeydaha sormak istiyorum.Peki aynı tabloda B2ve B3 hücresinide birleştirip E2 ve E3 hücresine aynı kodla aynı anda veriyi atmak istersek kodu nasıl yazmalıyız?
 

Ekli dosyalar

Birleştirilen hücrelerin sayısı aynı mı olacak.

Yani;

A2:A5 arasını birleştirirseniz B2:B5 arasını mı birleştirecekseniz yoksa farklı olabilir mi?

.
 
Bu şekilde deneyin.

Kod:
Sub Yaz()
 
    Dim i As Long, son As Range
 
    Range("A" & Cells(Rows.Count, "A").End(xlUp).Row).Select
 
    Do
        Set son = ActiveCell.Offset(1, 0)
    Loop While ActiveCell.EntireRow.Hidden = True
 
    Range("D2:[COLOR=blue]E[/COLOR]" & son.Row - 1).ClearContents
 
    For i = 2 To son.Row - 1
        Cells(i, "D") = Cells(i, "A")
        [COLOR=blue]Cells(i, "E") = Cells(i, "B")[/COLOR]
        If Cells(i, "A") = "" Then
            Cells(i, "D") = Cells(i - 1, "D")
            [COLOR=blue]Cells(i, "E") = Cells(i - 1, "E")[/COLOR]
        End If
    Next i
 
End Sub
.
 
Çok teşekkür ederim.Tam istediğim gibi olmuş.Emeğinize sağlık.
 
Yanlız sonradan farkettim.A2 ve A3 hücresine değeri yazıp kodu çalıştırdıktan sonra a2 ve a3 hücresindeki değeri silip kodu çalıştırınca d2 hücresindeki değeri silip d3 hücresindeki değer silinmiyor.
 
Yanlız sonradan farkettim.A2 ve A3 hücresine değeri yazıp kodu çalıştırdıktan sonra a2 ve a3 hücresindeki değeri silip kodu çalıştırınca d2 hücresindeki değeri silip d3 hücresindeki değer silinmiyor.

Bu yüzden diğer mesajımda tüm işlemler aynı mı olacak türünde bir soru sormuştum. Gün içinde yeniden düzenler geri dönüş yaparım.

.
 
Kod:
Sub Yaz()
 
    Dim i As Long, sOnA As Range, sOnB As Range
 
    Range("A" & Cells(Rows.Count, "A").End(xlUp).Row).Select
 
    Do
        Set sOnA = ActiveCell.Offset(1, 0)
    Loop While ActiveCell.EntireRow.Hidden = True
    
    Range("B" & Cells(Rows.Count, "B").End(xlUp).Row).Select
    
    Do
        Set sOnB = ActiveCell.Offset(1, 0)
    Loop While ActiveCell.EntireRow.Hidden = True
 
    Range("D2:E" & Rows.Count).ClearContents
 
    For i = 2 To sOnA.Row - 1
        Cells(i, "D") = Cells(i, "A")
        If Cells(i, "A") = "" Then
            Cells(i, "D") = Cells(i - 1, "D")
        End If
    Next i
    
    For i = 2 To sOnB.Row - 1
        Cells(i, "E") = Cells(i, "B")
        Cells(i, "E") = Cells(i, "B")
        If Cells(i, "B") = "" Then
            Cells(i, "E") = Cells(i - 1, "E")
        End If
    Next i
End Sub
İstediğiniz bu mu?

.
 
Kod:
Sub Yaz()
 
    Dim i As Long, sOnA As Range, sOnB As Range
 
    Range("A" & Cells(Rows.Count, "A").End(xlUp).Row).Select
 
    Do
        Set sOnA = ActiveCell.Offset(1, 0)
    Loop While ActiveCell.EntireRow.Hidden = True
    
    Range("B" & Cells(Rows.Count, "B").End(xlUp).Row).Select
    
    Do
        Set sOnB = ActiveCell.Offset(1, 0)
    Loop While ActiveCell.EntireRow.Hidden = True
 
    Range("D2:E" & Rows.Count).ClearContents
 
    For i = 2 To sOnA.Row - 1
        Cells(i, "D") = Cells(i, "A")
        If Cells(i, "A") = "" Then
            Cells(i, "D") = Cells(i - 1, "D")
        End If
    Next i
    
    For i = 2 To sOnB.Row - 1
        Cells(i, "E") = Cells(i, "B")
        Cells(i, "E") = Cells(i, "B")
        If Cells(i, "B") = "" Then
            Cells(i, "E") = Cells(i - 1, "E")
        End If
    Next i
End Sub
İstediğiniz bu mu?

.

Evet tam olarak budur.Teşekkürler.
 
Geri
Üst