İki Hücre Değerinin Yer Değiştirmesi

Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Merhaba, belki değişik gelebilir ama şöyle bir şey yapmak istiyorum. Aktif hücre ve aynı satırda yer alan kırmızı dolgulu ilk hücrenin içeriğinin birbirleri arasında yer değiştirmesi mümkün müdür?

Örnek: Aktif hücre "Y25" olsun ve aynı satırdaki ilk kırmızı dolgulu hücre de "U25" olsun (renkli hücre aynı satırda değişkendir) bu iki hücrenin değerlerini bir makro kodu ile yer değiştirebilir miyiz?
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
.

Kod:
Sub kod()


    sat = Selection.Row
    sut = Selection.Column
    Y = Cells(sat, sut)

    For i = sut - 1 To 1 Step -1
        If Cells(sat, i).Interior.Color = 255 Then
            Cells(sat, sut) = Cells(sat, i)
            Cells(sat, i) = Y
            Exit For
        End If
    Next i

End Sub
.
 
Son düzenleme:
Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
.

Kod:
Sub kod()


    sat = Selection.Row
    Y = Cells(sat, "Y")

    For i = 24 To 1 Step -1
        If Cells(sat, i).Interior.Color = 255 Then
            Cells(sat, "Y") = Cells(sat, i)
            Cells(sat, i) = Y
            Exit For
        End If
    Next i

End Sub
.
Hocam teşekkür ederim. "Y" hücresini örnek olarak vermiştim. Aktif hücre her zaman değişken olacaktı. Yani o anda hangi hücre seçili ise o hücrenin bulunduğu satırdaki ilk kırmızı hücre ile seçili hücre içeriği yer değişecek.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
.

Garip bir çalışma oluyor.
Önce hangi yöne bakmalı?

.
 
Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
.

Garip bir çalışma oluyor.
Önce hangi yöne bakmalı?

.
Doğru haklısınız:)) ama şöyle olamaz mı biz satırı esas alıyoruz yani aktif hücrenin hangi sütunda olduğunun önemine bakılmadan aktif satırdaki ilk kırmızı dolgulu hücreyi esas alırsak zaten içerik değişikliği sonunda o hücreyi dolgu renksiz yapacağım için aynı satırdaki 2. kırmızı dolgulu hücre ilk kırmızı dolgulu hücre olacaktır. Yani satırdaki tüm kırmızı dolgulu hücreler için bu işlemi yapacağım için aktif hücre kırmızı dolgulu hücrenin sağında veya solunda olabiliyor.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
.

Kod:
Sub kod()


    sat = Selection.Row
    sut = Selection.Column
    Y = Cells(sat, sut)

    For i = 1 To Columns.Count

        If i <> sut Then
            If Cells(sat, i).Interior.Color = 255 Then
                Cells(sat, sut) = Cells(sat, i)
                Cells(sat, i) = Y
                Exit For
            End If
        End If

    Next i

End Sub
.
 
Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
.

Kod:
Sub kod()


    sat = Selection.Row
    sut = Selection.Column
    Y = Cells(sat, sut)

    For i = 1 To Columns.Count

        If i <> sut Then
            If Cells(sat, i).Interior.Color = 255 Then
                Cells(sat, sut) = Cells(sat, i)
                Cells(sat, i) = Y
                Exit For
            End If
        End If

    Next i

End Sub
.
Çok teşekkür ederim hocam sorunsuz çalıştı. Sizden son bir şey daha rica etsem yapabilir misiniz? Aşağıdaki kod aktif hücrenin bulunduğu sütunun 3. satırına 5 yazdırıyor. Peki aynı satırdaki ilk kırmızı dolgulu hücrenin bulunduğu sütunun 3. satırına 5 yazdırabilir miyiz?

Cells(3, Selection.Column).Value = 5
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
.

Kod:
Sub kod()

    sat = Selection.Row
    sut = Selection.Column
    Y = Cells(sat, sut)

    For i = 1 To Columns.Count

        If i <> sut Then
            If Cells(sat, i).Interior.Color = 255 Then
                Cells(sat, sut) = Cells(sat, i)
                Cells(sat, i) = Y
                Cells(3, i) = 5
                Exit For
            End If
        End If

    Next i

End Sub
.
 
Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Emeğiniz için çok teşekkür ederim hocam tam istediğim sonucu veriyor.
 
Üst