Makro ile sayıyı metne çevir ve sırala

Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Altın Üyelik Bitiş Tarihi
30-01-2024
merhaba

ekteki dosyada B sütununda sayı ve metin içeren verilerim var. benim isteğim hepsini metin yaparak sıralamak.

B sütunu seçip hücre biçimlendirden herşeyi metin yaptım. F2+Enter ile tek tek uğraşmayayım diye kod yazdım. Ama kod verdiğim aralık dışında çalışıyor. Aşağıdaki kodda 5-20 satır arasındaki hücrelere F2+Enter yapacağına, farklı bir satırdan başlayıp 34. satıra kadar gidiyor. Nasıl yapabilirim
Kod:
Sub sırala()
Sheets("AAA").Range("B5:E20").Sort Sheets("AAA").Range("B5"), Order1:=xlAscending
End Sub
Sub donustur()
Dim i As Integer
For i = 5 To 20
    Sheets("AAA").Range("B" & i).Select
    Application.SendKeys "{F2}"
    Application.SendKeys "{ENTER}"
Next i
End Sub
 

Ekli dosyalar

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub donustur()
    For i = 5 To 20
        Sheets("AAA").Range("B" & i).Value = "'" & Sheets("AAA").Range("C" & i).Value
    Next i
End Sub
 
Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Altın Üyelik Bitiş Tarihi
30-01-2024
Tesadüfen C sütununda aynı verilerin olduğu bir örnek göndermişim. Bu sayede sizin yönteminizle çözülüyor. Fakat ben F2+Enter olaylı bir çözümü öğrenmek istiyorum, ileride de işime yarabilir düşüncesindeyim çünkü
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
Sub donustur()
For i = 5 To 20
Sheets("AAA").Range("B" & i).Value = "'" & Sheets("AAA").Range("B" & i).Value
Next i
End Sub
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Kod:
Sub donustur()
    For i = 5 To 20
        Sheets("AAA").Range("B" & i).Value = "'" & Sheets("AAA").Range("C" & i).Value
    Next i
End Sub
Hocam, emeğinize sağlık. Hocam peki B sütunundakileri C sütunundaki yani yanındaki hücrenin sadece aynı formatına dönüştürmek istesek (mesela C metin)
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Kopyalama ile yapabilirsiniz.
Kod:
Sub donustur()
    For i = 5 To 20
        Sheets("AAA").Range("C" & i).Copy Sheets("AAA").Range("B" & i)
    Next i
End Sub
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Merhaba,

Kopyalama ile yapabilirsiniz.
Kod:
Sub donustur()
    For i = 5 To 20
        Sheets("AAA").Range("C" & i).Copy Sheets("AAA").Range("B" & i)
    Next i
End Sub
Çok teşekkür ederim hocam.
 
Üst