tek hücrede farklı renkle yazmak

Katılım
19 Haziran 2014
Mesajlar
63
Excel Vers. ve Dili
Office365 ProPlus
merhaba arkadaşlar,
asagıdaki linkteki tablomda yardımınıza ihtiyacım var.
a ve b sutunlarında sayılarım var
ben C sütüna bu sayıları tek hücrede küçükten büyüğe sıralamak istiyorum ama sıra olurken ahmet kırmızı renk ali mor renk olmasını istiyorum

böyle bir işlem yapılabilir mi ?


 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
C sütununda görmek istediğiniz sonucu da ekleyip dosyanızı günceller misiniz?
 
Katılım
19 Haziran 2014
Mesajlar
63
Excel Vers. ve Dili
Office365 ProPlus
@Korhan Ayhan merhaba dosyayı güncelledim.
yardımınızı rica ederim
a ve b deki sayılar birleşecek kucukten buyuge sıralanacak. ahmet in rengi kırmızı ali mor olacak. manuel beni baya ugrastırıyor
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sayılarda tekrar etme durumu var mı?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Sub Sirala_Renklendir()
    Dim Son As Long, Metin As Variant, X As Long, Veri As Variant, Y As Long, Bul As Integer, Renk As Long
   
    Son = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
   
    Range("D:D").Clear
    Range("D:D").HorizontalAlignment = xlCenter
   
    With CreateObject("System.Collections.ArrayList")
        For X = 2 To Son
            If Cells(X, 1).Text <> "" And Cells(X, 2).Text <> "" Then
                Metin = Cells(X, 1).Text & " " & Cells(X, 2).Text
            ElseIf Cells(X, 1).Text <> "" Then
                Metin = Cells(X, 1).Text
            Else
                Metin = Cells(X, 2).Text
            End If
           
            Veri = Split(WorksheetFunction.Trim(Metin), " ")
           
            For Y = LBound(Veri) To UBound(Veri)
                .Add Veri(Y) * 1
            Next
           
            .Sort
            Cells(X, "D") = " " & Join(.ToArray, " ")
            .Clear
           
            Renk = 255
           
            For Each Metin In Range("A" & X & ":B" & X)
                If Metin <> "" Then
                    Veri = Split(Metin, " ")
                    For Y = LBound(Veri) To UBound(Veri)
                        Bul = InStr(1, Cells(X, "D"), " " & Veri(Y))
                        Cells(X, "D").Characters(Start:=Bul, Length:=Len(" " & Veri(Y))).Font.Color = Renk
                    Next
                End If
                Renk = -65383
            Next
        Next
    End With
   
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
19 Haziran 2014
Mesajlar
63
Excel Vers. ve Dili
Office365 ProPlus
@Korhan Ayhan hocam cok teşekkür ederim mükemmel olmuş. tam istedigim gibi
ancak tek haneli sayıları doğru sıralamıyor.
şöyle bir test yaptım
mesela 2 yerine 02 yazınca 3 yerine 03.....9kadar yazınca küçükten büyüğe sıralıyor. bunu düzeltme şansı var mıdır
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kodu revize ettim. Tekrar deneyiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Uyguladığınız dosyayı paylaşırsanız inceleme fırsatımız olur.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Rakamların arasında fazla boşluklardan dolayı sorun oluşmuş.

Koda küçük bir ekleme yaptım. Tekrar deneyiniz.
 
Katılım
19 Haziran 2014
Mesajlar
63
Excel Vers. ve Dili
Office365 ProPlus
@Korhan Ayhan hocam cok teşekkür ederim bu sefer oldu. elinize bilginize sağlık
 
Üst