• DİKKAT

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

Makro ile label içinde değişiklik yapabilir miyiz?

Katılım
22 Ekim 2012
Mesajlar
100
Excel Vers. ve Dili
2007 Türkçe
2016 Türkçe
Herkese merhaba;
Hazırladığım bir dosyayı iki farklı ülkede kullanacağız. İki dilde iki farklı dosya hazırlamak yerine tek dosyada iki dil seçeneği olsun istiyorum. Hücrelere değer atayarak istediğimiz dilde yazılmasını sağlayabiliyoruz. Ancak userform içinde bulunan açıklamaları nasıl yapabiliriz? böyle bir şey mümkün müdür?
 
Anladığım kadarıyla mümkün. Mesela Aşağıdaki kod ile userform1 üzerindeki labelin başlığını sayfa1'in A2 hücresinden alabilirsiniz.
Kod:
UserForm1.Label1.Caption = Sheets("Sayfa1").Range("A2").Text
 
Cevabınız için teşekkür ederim. Bu şekilde oluyor. Peki userform içinde ki msg box içinde yazan yazıyı değiştirme imkanımız var mı?
 
Sayın Mucit yol göstermiş. Aynı yoldan denedinizmi.
Kod:
msgbox( Sheets("Sayfa1").Range("A2").Text)
 
Sayın Vardar elbette denedim. Ancak sorunum şurada başlıyor. Çalışma kitabında bir çok makro ve userformlar var. Bazı userformlarda birden fazla msgbox bulunuyor. Bunu makro ile tanımlarken nasıl yapmalıyım.Örneğin bu kod gibi yazdığımda hata veriyor. Bu kodu nasıl düzenlemem gerekiyor. Daha önce başka biryerde ve sitede örneğine hiç rastlamadım. Belkide böyle bir tanımlama yapılamıyordur bilmiyorum.
Kod:
 Module1.makro1.msgbox.text = "deneme"
 
Bende görmedim. Sadece mantık yürütüyorum; Bütün msgbox içeriklerini sayfadaki verilere bağlayarak çözebilirsiniz. Şu anda aklıma başka bir çözüm gelmiyor. Belki uzman arkadaşlar bilgileri dahilinde çözüm üretebilirler.
 
Arkadaşlar Msgbox'ta yazan yazılar makro ile değiştirilebilir mi? Excel bize böyle bir imkan sunuyor mu?
 
Merhaba,

Tam olarak istediğinizi gösteren örnek dosya ekleyebilir misiniz?
Msgbox'taki yazıları değiştirmekten kastınız nedir?
Biçimlerini mi?İçeriğini mi?
 
Sayın Kuvari konuyu örnek dosya ile değilde kod ile sanırım dahi iyi anlatırım. Türkçe ve Rusça kullanacağımız bir program hazırlamak istiyorum.Bununla ilgili bir çok kod ve userform olan bir dosya var. Userform'u hazırlarken Türkçe dil kullandım.Doğal olarak msgbox uyarıları Türkçe yazıyor. Programı kullanacak kişi seçenekle istediği dilde kullanmasını isitiyorum. Bunun için şöyle bir koda ihtiyacım var. Ekte userformda bulunan bir kod var ve bu kod içinde msgbox bulunuyor. Bunu makro ile msgbox içeriğini "желаете сохранить?" şeklinde değiştirebilir miyiz? Excel bize böyle bir imkan sunuyor mu?

Kod:
Private Sub CommandButton2_Click()
a = MsgBox(" Kayıt etmek istiyormusunuz.?", vbYesNo + vbInformation, " Uyarı")
If a = vbNo Then
MsgBox "işlemi iptal edildi!"
Exit Sub
End If
If a = vbYes Then
    Dim K1 As Workbook, S1 As Worksheet, K2 As Workbook, S2 As Worksheet, Son As Long
    Application.ScreenUpdating = False
    Set K1 = ThisWorkbook
    Set S1 = K1.Sheets("MasrafGirişleri")
    Son = S1.Cells(S1.Rows.Count, "A").End(3).Row + 1
    Set K2 = Workbooks.Open(K1.Path & "\Data\HData.xlsm")
    Set S2 = K2.Sheets("data1")
    S1.Range("A9:F" & Son).Copy
    Son = S2.Cells(S2.Rows.Count, "B").End(3).Row + 1
    S2.Cells(Son, "B").PasteSpecial Paste:=xlPasteValues
    K2.Save
    K2.Close 0
    Set S2 = Nothing
    Set K2 = Nothing
    Set S1 = Nothing
    Set K1 = Nothing
    Application.ScreenUpdating = True
    Sheets("MasrafGirişleri").Select
    Range("A9:F50").Value = ""
    MsgBox "Verileriniz aktarılmıştır.", vbInformation
    End If

End Sub
 
Vba'da rusça kodlanabilir mi? Tam bilmiyorum. Biraz bakmak lazım. Latin harflerin karşılığını koyarsanız bakabiliriz.

Msgbox'la olmayabilir ama userformla yapılabilir. Hata mesajlarının excel'de yazılı olması şartıyla.
 
Son düzenleme:
Sanırım ben tam olarak anlatamadım. Ekte örnek dosya hazırladım. Butona bastığımızda msgbox açılıyor. "Verileriniz aktarılmıştır" yazıyor. Yapmak istediğim makro ile bu msgbox içeriğini a1 hücresinin içeriği ile değiştirmek. Eğer bu mümkünse bu konuda çalışmaya başlayacağım. Yardımlarınız için şimdiden teşekkürler.
 

Ekli dosyalar

Merhaba,

Formlarla olabilir msgbox'la olacağını sanmıyorum. Ama geliştirmek lazım.



Kod:
Private Sub UserForm_Initialize()
UserForm1.Label1.Caption = Range("a1")
End Sub

Modül'ün içine

Kod:
Sub makro1()
UserForm1.Show
End Sub
 
Geri
Üst