A sütunundaki verileri B sütununda ters çevirmek

Katılım
22 Nisan 2018
Mesajlar
43
Excel Vers. ve Dili
2016 Türkçe
merhabalar
a sütunumda a1:a230 karışık verilerim var
bunları b sütununda ters çevrilmiş biçimde makroyla nasıl gösterebilirm?
yardımcı olurmusunuz

örneğin
a1 = a236889
a2 = a236890
a3 = a236891
a4 = a236892
a5 = a236893

olmasını istediğim
b1 = a236893
b2 = a236892
b3 = a236891
b4 = a236890
b5 = a236889
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,490
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

B1 :

Kod:
=DOLAYLI("A" & BAĞ_DEĞ_DOLU_SAY(A:A)+1-SATIR(A1))
ve B1 deki formülü A sütunundaki son veriye kadar kopyalayınız.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Değerleri Kopyala > Yapıştır > Veri, Z'den A'ya sırala
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Alternatif:

B1 hücresine;

Kod:
=INDEX($A$1:$A$5;ROWS(A1:$A$5))
Kod:
=İNDİS($A$1:$A$5;SATIRSAY(A1:$A$5))

yazıp, aşağıya doğru kopyalayın.

.
 
Katılım
22 Nisan 2018
Mesajlar
43
Excel Vers. ve Dili
2016 Türkçe
öncelikle cevap veren büyüklerimden özür dilerim
formülle verdiğiniz cevapları not alıyorum ihtiyacım olunca kullanıcam

ama verdiğim örnekle isteğimi net anlatamadım galiba
formülle değilde makroyla tuşa basarak olabilirmi?
birde ayrıca tuşa 1 kere bastığımda ters sıralasın 1 kere daha bastığımda eski haline gelsin
benden makroyla böyle bir liste hazırlamamı istiyorlar
uğraşıyorum ama makroyu anlamakta çok zorlanıyorum :(
yardımcı olmanız dileğiyle

örneğin
a1 = a236889
a2 = a236890
a3 = a236891
a4 = a236892
a5 = a236893
a6 = bmw317
a7 = bmw317.td
a8 = prsch2.18

olmasını istediğim
b1 = prsch2.18
b2 = bmw317.td
b3 = bmw317
b4 = a236893
b5 = a236892
b6 = a236891
b7 = a236890
b8 = a236889
 
Katılım
10 Ekim 2013
Mesajlar
424
Excel Vers. ve Dili
Excel 2013 (64bit) - Türkçe
Altın Üyelik Bitiş Tarihi
26/05/2022
Deneyebilirsiniz;

Kod:
Sub Makro1()
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "=INDIRECT(""A""&COUNTA(C[-1])+1-ROW(RC[-1]))"
    Range("B1").Select
    Selection.AutoFill Destination:=Range("B1:B8")
End Sub
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Bir modüle kopyalayarak deneyiniz.
Kod:
Sub terscevir()
Dim s1 As Worksheet
Dim i As Integer
Dim sat As Integer
Set s1 = Sheets("Sayfa1")
Application.ScreenUpdating = False
son = s1.Cells(65536, "A").End(3).Row
sat = 1
If s1.Range("A1") <> s1.Range("B1") And s1.Range("B1") <> "" Then GoTo 10
For i = son To 1 Step -1
s1.Range("B" & sat) = s1.Range("A" & i)
sat = sat + 1
Next i
GoTo çık
10:
For i = 1 To son
s1.Range("B" & sat) = s1.Range("A" & i)
sat = sat + 1
Next i
çık:
Application.ScreenUpdating = True
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,490
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları bir modüle ekleyip Butona bağlayabilirsiniz.

Kod:
Sub Sırala()

    Dim i As Long
    
    i = Cells(Rows.Count, "A").End(3).Row
    Range("B:B").ClearContents
    Range("A1:A" & i).Copy Range("B1")
    
    Range("B1:B" & i).Sort Key1:=[B1], Order1:=xlDescending
    
End Sub
 
Katılım
22 Nisan 2018
Mesajlar
43
Excel Vers. ve Dili
2016 Türkçe
gerçekten harikasınız :)
sn, anemis ve çıtır sizin makrolar terse çeviriyor
ama mesajımda yazdığım gibi olmuyor tekrar tıkladığımda eskisi gibi olmuyor

birde ayrıca tuşa 1 kere bastığımda ters sıralasın 1 kere daha bastığımda eski haline gelsin
Sn, necdet sizin kodlar sıralama yapıyor galiba
onun için altalta bmw317.bd bmw317.td olunca doğru sıralamıyor

1 kere tıkladığımda ters çevirip ikincide eski durumuna getirebilirmiyiz
 
Katılım
22 Nisan 2018
Mesajlar
43
Excel Vers. ve Dili
2016 Türkçe
evet Sn, çıtır söylediğiniz şekilde ters çeviriyor
3 kodu denerken karıştırdım galiba
çok teşekkür ederim
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
evet Sn, çıtır söylediğiniz şekilde ters çeviriyor
3 kodu denerken karıştırdım galiba
çok teşekkür ederim
Rica ederim.Dönüş yaptığınız için teşekkür ederim.Kolay gelsin.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,490
Excel Vers. ve Dili
Ofis 365 Türkçe
Sn, necdet sizin kodlar sıralama yapıyor galiba
onun için altalta bmw317.bd bmw317.td olunca doğru sıralamıyor

1 kere tıkladığımda ters çevirip ikincide eski durumuna getirebilirmiyiz
Excele sıralamıyor diyemezsiniz, sıralar :)

A sütununu neden B sütununda sıralatıyorsunuz, bunu doğrudan A sütununda yapılsa olmaz mı?
 
Katılım
22 Nisan 2018
Mesajlar
43
Excel Vers. ve Dili
2016 Türkçe
Rica ederim.Dönüş yaptığınız için teşekkür ederim.Kolay gelsin.
teşekkürler sizede kolay gelsin


Necdet bey sıralamıyor demedimki doğru sıralamıyor dedim :)
benden istenen öyle malesef
a sütunundakiler aynen kalsın b sütununa a sütunundakileri ters çevirerek yazın
birde 1 kere 2 kere tıklama durumununda yapılması isteniyor :(
inanın çok isteyerek yapmıyorum :)
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Merhabalar,

Konu çözüme kavuşmuş fakat ben de pek bilinmeyen ve kullanılmayan Stack Sınıfı ile ilgili örnek vermek istiyorum.
Çünkü bu Sınıf, hazırlanma amacı bakımından tam olarak sizin istediğiniz işlemi yapar.

Bu kodları kullanabilirsiniz..

Kod:
[SIZE="2"]Sub Emre()
    With CreateObject("System.Collections.Stack")
        For i = 1 To Cells(Rows.Count, "A").End(3).Row
            a = IIf([B1] = "", 1, 2)
            .Push Cells(i, a).Value
        Next i
        Range("B1").Resize(.Count) = Application.Transpose(.Toarray())
    End With
End Sub[/SIZE]
İyi günler.
 
Katılım
22 Nisan 2018
Mesajlar
43
Excel Vers. ve Dili
2016 Türkçe
merhaba Murat bey sizin gönderdiğiniz kodlada çok güzel çalışıyor
teşekkürler
 
Üst