Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Beyin Fırtınası
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Beyin Fırtınası Bu başlıkta, ilginç olduğunu düşündüğünüz sorularınızı, bir problem şeklinde sorabilir, alternatif olduğunu düşündüğünüz çözümlerinizi paylaşabilirsiniz. (Bu başlıkta yeni konu açılması onaya bağlıdır.)
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 28-05-2011, 00:33   #1
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,633
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan Seçilen hücre adresindeki sütun bilgisini değiştirmek

Selamlar,

Arkadaşlar uzun zamandır bu bölüme soru soramıyordum. Kodlarla uğraşırken bir konuda takıldım ve bu konunun iyi bir beyin fırtınası konusu olabileceği aklıma geldi.

Sayfa üzerinde mouse ile bir ya da birkaç farklı alanı seçtikten sonra oluşan adres bilgisindeki sütun harflerini başka bir harfle hangi komutla değiştirebiliriz. Ya da bu işlem için en kısayol hangisidir?

Örnek;

Seçtiğimiz adres;

A$15:C$25,WZW$28:XAE$32,A$45:G$50

Bu adres bilgisini aşağıdaki şekle nasıl dönüştürebiliriz?

Z$15:Z$25,Z$28:Z$32,Z$45:Z$50

Not: Sayfada seçilen alanlar değişken olabilmektedir.
Yani seçtiğimiz alanda bir hücrede olabilir, birden fazla hücrede olabilir.
Vereceğiniz cevapların bu yönde olması uygun olacaktır.
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-05-2011, 01:02   #2
Levent Menteşoğlu
Administrator
 
Levent Menteşoğlu kullanıcısının avatarı
 
Giriş: 13/10/2004
Şehir: Çorlu
Mesaj: 15,896
Excel Vers. ve Dili:
Excel 2010-Türkçe
Varsayılan

Korhan bey gerçekten ilginç ve güzel bir soru. Çözüm için benim aklıma ilk olarak Regular Expressions (Düzenli İfadeler) nesnesi geldi. Aşağıdaki kod sanıyorum isteğinizi karşılayacaktır.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub adresdegistir()
adres = Selection.Address
Set nesne = CreateObject("VBScript.Regexp")
nesne.Pattern = "[^0-9\,\:\$]"
nesne.Global = True
MsgBox adres & Chr(10) & nesne.Replace(adres, "Z")
Set nesne = Nothing
End Sub
__________________
FORUM KURALLARI



"Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz. " Kaylan
Levent Menteşoğlu Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-05-2011, 01:13   #3
Levent Menteşoğlu
Administrator
 
Levent Menteşoğlu kullanıcısının avatarı
 
Giriş: 13/10/2004
Şehir: Çorlu
Mesaj: 15,896
Excel Vers. ve Dili:
Excel 2010-Türkçe
Varsayılan

Aşağıdada döngü ile tüm karakterleri tarayıp değiştiren bir mantık sunuyorum.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub adresdegistir()
adres = Selection.Address
For a = 1 To Len(adres)
harf = Mid(adres, a, 1)
If harf >= "A" Then
birlestir = birlestir & "Z"
Else
birlestir = birlestir & harf
End If
Next
MsgBox adres & Chr(10) & birlestir
End Sub
__________________
FORUM KURALLARI



"Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz. " Kaylan
Levent Menteşoğlu Çevrimdışı   Alıntı Yaparak Cevapla
Eski 28-05-2011, 09:19   #4
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,633
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Selamlar,

Evet Levent bey sizin sunduğunuz çözümler daha kısa ve kullanışlı.

Bende aşağıdaki döngü ile işlemi halletmiştim.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Option Explicit
 
Sub SEÇİLEN_ALANDAKİ_SÜTUN_HARFİNİ_DEĞİŞTİR()
    Dim ADRES As String, KARAKTER As Variant, X As Integer, SAY_A As Variant, SAY_B As Variant
    Dim Y As Byte, İLK As Integer, SON As Integer, YENİ_ADRES As String
    
    KARAKTER = Array("$", ":", ",", 1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
    ADRES = Selection.Address(1, 0)
    
    If Val(Application.Version) < 12 Then
        SAY_A = Selection.Cells.Count
        SAY_B = Cells.Count
    Else
        SAY_A = Selection.Cells.CountLarge
        SAY_B = Cells.CountLarge
    End If
    
    If SAY_A = SAY_B Then
        For X = 1 To Len(ADRES)
            If Mid(ADRES, X, 1) = "$" Then
                YENİ_ADRES = YENİ_ADRES & "Z" & "$"
            Else
                YENİ_ADRES = YENİ_ADRES & Mid(ADRES, X, 1)
            End If
        Next
        GoTo Çıkış
    End If
        
    YENİ_ADRES = ADRES
    İLK = 1
    
    For X = 1 To Len(ADRES)
        For Y = 0 To UBound(KARAKTER)
        If Mid(ADRES, X, 1) = KARAKTER(Y) Then
            If İLK = Empty Then
                İLK = X + 1
            Else
                SON = X - İLK
            End If
            If SON > 0 Then Exit For
        End If
        Next
        If SON <> Empty Then
            YENİ_ADRES = WorksheetFunction.Replace(YENİ_ADRES, İLK, SON, "Z")
            İLK = Empty: SON = Empty
        End If
    Next
 
Çıkış:
    MsgBox YENİ_ADRES
End Sub
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-03-2015, 13:49   #5
tahsinanarat
Altın Üye
 
Giriş: 14/03/2005
Şehir: İstanbul
Mesaj: 1,754
Excel Vers. ve Dili:
Ofis 2016 Türkçe
Varsayılan

Sn. Korhan hocam, Yukarıdaki kodların uygulanmış örnek dosyalarını görmemiz mümkün olabilir mi? uyguladığımda hep hata aldım.
__________________
Kolay Gelsin Tahsin.
tahsinanarat Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-03-2015, 20:05   #6
Korhan Ayhan
Moderatör
 
Korhan Ayhan kullanıcısının avatarı
 
Giriş: 15/03/2005
Şehir: ANTALYA
Mesaj: 22,633
Excel Vers. ve Dili:
OFFICE 2013-2016 PRO TR
Varsayılan

Uygulamalı örnek dosya ektedir.

Sayfada mouse ile farklı hücreler seçip butonlara tıklayın.
Eklenmiş Dosyalar
Dosya Türü: xlsm ÖRNEK.xlsm (19.4 KB, 23 Görüntülenme)
__________________
.
.
.

Soru sormadan önce forumumuzun aşağıdaki
bölümlerini incelediğinizde birçok sorunuza yanıt bulabilirsiniz.


Excel Dersanesi
Uygulamalı Excel Eğitimi
Excel İçin Örnek Uygulamalar
Video Dersane (***Altın Üyelere Özel***)

Lütfen sorularınızın çözümlendiğine dair geri dönüş mesajı yazınız...!
Lütfen yazım ve forum kurallarına uyalım...!
Lütfen sorularımızı açık ve net bir dille ifade edelim...!



FORUM KURALLARI
Korhan Ayhan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-03-2015, 22:29   #7
tahsinanarat
Altın Üye
 
Giriş: 14/03/2005
Şehir: İstanbul
Mesaj: 1,754
Excel Vers. ve Dili:
Ofis 2016 Türkçe
Varsayılan

Sn. Korhan hocam, dosyanızı indirip inceledim ancak buradaki konunun amacını anlayamadım, ben formül içindeki değerlerin değişeceğini zannetmiştim, ne işe yaradığını inanın çözemedim. İlginiz için çok teşekkür ederim. Saygılarımla.
__________________
Kolay Gelsin Tahsin.
tahsinanarat Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-03-2015, 23:26   #8
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,473
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

konu baya eskimiş benimde gözümden kaçmış bir kod da ben yazdım.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub adresdegistir3()
degistir = "Z"
adres = ActiveWindow.RangeSelection.Address

deg1 = Split(Replace(adres, "$", ""), ":")

    If UBound(deg1) > 0 Then
        If IsNumeric(Left(deg1(0), 1)) = True Then
        adres1 = "$" & deg1(0) & ":$" & deg1(1)
        Else
        
            If IsNumeric(Right(deg1(0), 1)) = True Then
            sat1 = Range(deg1(0)).Row
            sat2 = Range(deg1(1)).Row
            adres1 = Range(Cells(sat1, degistir), Cells(sat2, degistir)).Address
            Else
            adres1 = "$" & degistir & ":$" & degistir
            End If
        End If
    
    Else
    sat1 = Range(deg1(0)).Row
    adres1 = Cells(sat1, degistir).Address
    End If

MsgBox adres & Chr(10) & adres1
End Sub
__________________





Forum Kuralları
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-03-2015, 12:56   #9
Murat OSMA
Altın Üye
 
Murat OSMA kullanıcısının avatarı
 
Giriş: 23/05/2011
Şehir: İstanbul
Mesaj: 4,856
Excel Vers. ve Dili:
Excel 2016 - Türkçe
Varsayılan

Korhan Bey'in ve Halit Bey'in verdiği örneklerde Levent Bey'in kodlarına göre tüm satır veya tüm sütun seçimlerinde ve ilaveten çoklu satır-sütun seçimlerinde sanıyorum istenen sonucu vermemekte.
__________________
Excel'e dair her şey; excelarsivi.com 'da..
Murat OSMA Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-03-2015, 16:25   #10
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,473
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

Alıntı:
Murat OSMA tarafından gönderildi Mesajı Görüntüle
Korhan Bey'in ve Halit Bey'in verdiği örneklerde Levent Bey'in kodlarına göre tüm satır veya tüm sütun seçimlerinde ve ilaveten çoklu satır-sütun seçimlerinde sanıyorum istenen sonucu vermemekte.
Üsdeki mesajdaki kodu güncelledim.
__________________





Forum Kuralları
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 06:26


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden