Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 10-10-2017, 03:04   #1
ASLAN7410
Altın Üye
 
ASLAN7410 kullanıcısının avatarı
 
Giriş: 15/07/2012
Şehir: Aslan ERASLAN - ANKARA
Mesaj: 1,492
Excel Vers. ve Dili:
Ofis 2013 Türkçe
Varsayılan Mesaj kutusuna gelen yazıları ortalama

Merhaba hayırlı geceler.

Ekte gönderdiğim excel dosyamı açtığımda mesaj kutusu ekrana gelmektedir.

Benim yapmak istediğim ekrana gelen mesaj kutusu içerisindeki yazıların ortalayarak yazmasını istiyorum.

Yardımcı olur musunuz?
.
Eklenmiş Dosyalar
Dosya Türü: xlsm Örnek1.xlsm (48.6 KB, 16 Görüntülenme)
__________________
.
Her zaman yardımcı olmak güzel bir şeydir...
ASLAN7410 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 10-10-2017, 07:02   #2
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,457
Excel Vers. ve Dili:
2010-2016
Varsayılan

Msgbox ın bu şekilde bir özelliği yok diye biliyorum. Size 2 çözüm sunabilirim.
1. Çözüm: msgbox yerine userform ile yazı çıkartırsınız.
2. Çözüm: Yazının uzunluğuna göre farklı msgbox hazırlarsınız. Baş kısmına space ile boşluk eklersiniz. Yani manuel ortalarsınız.
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 11-10-2017, 17:36   #3
ASLAN7410
Altın Üye
 
ASLAN7410 kullanıcısının avatarı
 
Giriş: 15/07/2012
Şehir: Aslan ERASLAN - ANKARA
Mesaj: 1,492
Excel Vers. ve Dili:
Ofis 2013 Türkçe
Varsayılan

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

Vba çok geniş kodlara sahip böyle bir kod yok mu acaba?

Bilgisi olan arkadaşlar var mı?
__________________
.
Her zaman yardımcı olmak güzel bir şeydir...
ASLAN7410 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-10-2017, 20:40   #4
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,289
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Aşağıdaki şekilde deneyiniz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Option Explicit
Sub test_message()
    Dim a, merhaba, kullanici
    
    merhaba = String(10, " ") & "Merhaba"
    kullanici = String(10, " ") & "Osman Hamdi Bey"

    a = myMsg(vbYes, "Bilgi", merhaba, "", kullanici, "")
    
End Sub

Function myMsg(buttons As VbMsgBoxStyle, title As String, ParamArray PromptTxt())
'
' Centre prompt on Excel message box
'
' Written by Andy Pope @ Digitab    19-March-1998
'
'
    Dim tmpText As TextBox          ' temporary object used to get true Font sizing
    Dim RealTextWidth As Single     ' size of widest string
    Dim ChopTrailers As Integer     ' start of trailing spaces
    Dim PromptBuf As String         ' new msgbox prompt
    Dim i As Integer

' Create a textbox of worksheet in order to get true length of text

    Set tmpText = Worksheets(1).TextBoxes.Add(1, 1, 1, 1)
' set properties of textbox to mimic normal messagebox appearence

    With tmpText
        .Font.Name = "MS Sans Serif"
        .Font.Size = 8.5
        .VerticalAlignment = xlTop
        .HorizontalAlignment = xlLeft
        .Orientation = xlHorizontal
        .AutoSize = True
    End With
' determine the actual longest string

    For i = LBound(PromptTxt) To UBound(PromptTxt)
        tmpText.Text = CStr(PromptTxt(i))
        If tmpText.Width > RealTextWidth Then RealTextWidth = tmpText.Width
    Next i
' pad out lines
' the period is used to fool the textbox to take trailing spaces
' Chop keeps a record of where the trailing space start

    For i = LBound(PromptTxt) To UBound(PromptTxt)
        ChopTrailers = Len(PromptTxt(i))
        tmpText.Text = CStr(PromptTxt(i)) & "."
        Do While tmpText.Width < RealTextWidth
            tmpText.Text = " " & Left(tmpText.Text, Len(tmpText.Text) - 1) & " ."
            ChopTrailers = ChopTrailers + 1
        Loop
' Build new prompt and append linefeeds

        PromptBuf = PromptBuf & Left(tmpText.Text, ChopTrailers) & Chr(10)
    Next i

' remove trailing line feed from prompt

    PromptBuf = Left(PromptBuf, Len(PromptBuf) - 1)
    'MsgBox PromptBuf
    myMsg = MsgBox(PromptBuf, buttons, title)

' remove textbox from worksheet

    tmpText.Delete

End Function
__________________
www.asriakdeniz.com
asri Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-10-2017, 20:52   #5
ASLAN7410
Altın Üye
 
ASLAN7410 kullanıcısının avatarı
 
Giriş: 15/07/2012
Şehir: Aslan ERASLAN - ANKARA
Mesaj: 1,492
Excel Vers. ve Dili:
Ofis 2013 Türkçe
Varsayılan

Sayın Asri Bey, ellerinize sağlık tam istediğim gibi olmuş, çok teşekkür ediyorum.

Mesaj içerisine VbInformation'u eklemeye çalışıyorum ama bir türlü yapamadım
__________________
.
Her zaman yardımcı olmak güzel bir şeydir...
ASLAN7410 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-10-2017, 20:55   #6
asri
Altın Üye
 
Giriş: 24/04/2005
Şehir: Istanbul
Mesaj: 2,289
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Varsayılan

Alıntı:
ASLAN7410 tarafından gönderildi Mesajı Görüntüle
Sayın Asri Bey, ellerinize sağlık tam istediğim gibi olmuş, çok teşekkür ediyorum.

Mesaj içerisine VbInformation'u eklemeye çalışıyorum ama bir türlü yapamadım
Aşağıdaki şekilde deneyiniz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
myMsg = MsgBox(PromptBuf, vbInformation, title)
__________________
www.asriakdeniz.com
asri Çevrimdışı   Alıntı Yaparak Cevapla
Eski 11-10-2017, 21:00   #7
ASLAN7410
Altın Üye
 
ASLAN7410 kullanıcısının avatarı
 
Giriş: 15/07/2012
Şehir: Aslan ERASLAN - ANKARA
Mesaj: 1,492
Excel Vers. ve Dili:
Ofis 2013 Türkçe
Varsayılan

Sayın Asri Bey, çok teşekkür ediyorum, süper oldu. Allah razı olsun.

Hayırlı çalışmalar, hayırlı geceler diliyorum.
__________________
.
Her zaman yardımcı olmak güzel bir şeydir...
ASLAN7410 Ç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 14:12


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-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden