• DİKKAT

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

Sütunları butonla büyük harfe çevirme

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba hayırlı geceler.

Ekte gönderdiğim excel dosyamda B2 ile B1000, C2 ile C1000 ve F2 ile F1000
(B,C ve F sütunu) sütunlarındaki verileri butona bastığımda büyük harfe çevirmesini istiyorum.

Forum'da ve internette araştırdım böyle bir çalışma bulamadım.

Yardımcı olur musunuz?
.
 

Ekli dosyalar

Sayın komutan63, ilginiz için çok teşekkür ediyorum.

Yazmış olduğunuz kod tam benim istediğim gibi gayet güzel çalışıyor.
Küçük bir şey sormak istiyorum, işlem for döngüsü ile olmasa da sütun aralığını seçerek yapsa olur mu?
Bu şekilde işlem biraz uzun sürüyor.
 
Merhaba.

Alternatif olsun. (Kuvvetle muhtemel Sayın komutan63 ile benzer işlem önermişimdir ama hazırlamışken göndereyim dedim)
Belki başka yöntemi vardır ama mecburen hücre hücre işlem yapılması gerekiyor.

NOT:
-- Gerek makro adlarında (Çevir gibi) ve makro içerisindeki değişken tanımlamalarında malesef TÜRKÇE karakter kulanmamakta yarar var.
-- Mavi renklendirdiğim satırlar, sütunlardaki son dolu satır numaralarının birbirinden farklı olabileceği düşünülerek eklendi.


Bu arada Sayın komutan63'ün kullandığı İMZA blokundaki ibareler biryerlerden tanıdık geliyor. :)
.
Kod:
[B]Sub BUYUKHARF()[/B]
[COLOR="Blue"][B]makbsat[/B] = Cells(Rows.Count, "B").End(3).Row
[B]makcsat[/B] = Cells(Rows.Count, "C").End(3).Row
[B]makfsat[/B] = Cells(Rows.Count, "F").End(3).Row
    [B]sonsat[/B] = WorksheetFunction.Max(makbsat, makcsat, makfsat)[/COLOR]
For sat = 1 To [B][COLOR="blue"]sonsat[/COLOR][/B]
    Cells(sat, "B") = UCase(Replace(Replace(Cells(sat, "B"), "ı", "I"), "i", "İ"))
    Cells(sat, "C") = UCase(Replace(Replace(Cells(sat, "C"), "ı", "I"), "i", "İ"))
    Cells(sat, "F") = UCase(Replace(Replace(Cells(sat, "F"), "ı", "I"), "i", "İ"))
Next
[B]End Sub[/B]
 
Sayın Ömer Bey, ilginiz için çok teşekkür ediyorum.

Bu kod tam benim istediğim gibi hızlı çalışıyor.

Hayırlı çalışmalar hayırlı geceler diliyorum.
 
Merhaba.

Alternatif olsun. (Kuvvetle muhtemel Sayın komutan63 ile benzer işlem önermişimdir ama hazırlamışken göndereyim dedim)
Belki başka yöntemi vardır ama mecburen hücre hücre işlem yapılması gerekiyor.

NOT:
-- Gerek makro adlarında (Çevir gibi) ve makro içerisindeki değişken tanımlamalarında malesef TÜRKÇE karakter kulanmamakta yarar var.
-- Mavi renklendirdiğim satırlar, sütunlardaki son dolu satır numaralarının birbirinden farklı olabileceği düşünülerek eklendi.


Bu arada Sayın komutan63'ün kullandığı İMZA blokundaki ibareler biryerlerden tanıdık geliyor. :)
.
Kod:
[B]Sub BUYUKHARF()[/B]
[COLOR="Blue"][B]makbsat[/B] = Cells(Rows.Count, "B").End(3).Row
[B]makcsat[/B] = Cells(Rows.Count, "C").End(3).Row
[B]makfsat[/B] = Cells(Rows.Count, "F").End(3).Row
    [B]sonsat[/B] = WorksheetFunction.Max(makbsat, makcsat, makfsat)[/COLOR]
For sat = 1 To [B][COLOR="blue"]sonsat[/COLOR][/B]
    Cells(sat, "B") = UCase(Replace(Replace(Cells(sat, "B"), "ı", "I"), "i", "İ"))
    Cells(sat, "C") = UCase(Replace(Replace(Cells(sat, "C"), "ı", "I"), "i", "İ"))
    Cells(sat, "F") = UCase(Replace(Replace(Cells(sat, "F"), "ı", "I"), "i", "İ"))
Next
[B]End Sub[/B]

Selamlar
Ömer Hocam doğru söylüyorsunuz. Ben bu imza yı sizin imzanızdan aldım.
Eğer sakıncası varsa silebilirim.
Saygılar
 
Küçük bir şey sormak istiyorum, işlem for döngüsü ile olmasa da sütun aralığını seçerek yapsa olur mu?
Bu şekilde işlem biraz uzun sürüyor.

Aşağıdaki ufak kod; For-Next döngüsü kullanılmadan gayet hızlı bir şekilde, Türkçe karakter problemi de olmadan, söz konusu B2:F10 hücre aralığındaki metinleri büyük harfe çevirir.

Kod:
Sub Test()
    Range("B2:F10").Value = [IF(ISTEXT(B2:F10),UPPER(B2:F10),REPT(B2:F10,1))]
End Sub
 
Tekrara merhaba.

Sayın komutan63, biçim dahil birebir aynısı olunca şaşırdım sadece.
Esas olarak bir sorun yok elbette ama birebir aynı olmasaydı keşke. Tercih sizin.

Önceki cevabımda yazdığım "Belki başka yöntemi vardır..." ibaresi doğrulanmış oldu.
Daha evvel böyle bir uygulama görmüş gibiydim ancak tam hatırlayamadığımdan o ibareyi kullanmıştım zaten.

Sağ olsun Sayın Haluk olayı sonuca erdirdi.
.
 
Selamlar

Hocam sorun yok.

Saygılar
 
Geri
Üst