TextBoxa tarih istediğim formatta gelmiyor

Katılım
10 Ağustos 2005
Mesajlar
64
Merhaba değerli forum üyeleri.
Bir UserForm üzerinde bir adet CommandButton yardımı ile TextBoxa bir excel sayfasındaki hücreden tarih alıyorum.

Exceldeki "VERİ" sayfasında BR2 hücresinde =Bugün() formülü ile tarih geliyor

CommandButon kodu:
Private Sub CommandButton19_Click()
Sheets("VERİ").Select
Range("BR2").Select
TextBox17.Value = ActiveCell.Offset(0, 0).Value
End Sub

TextBox Kodu:
Private Sub TextBox17_Change()

End Sub

Sorunum ise şu tarih ne yaparsam yapayım "gg/aa/yyyy" olarak değil de "aa/gg/yyyy" olarak geliyor. Webdeki araştırmalarım sonucu denetim masası bölge ve dil seçeneklerinden tarih formatını "gg/aa/yyyy" olarak düzenledim yine aynı. Excel sayfası üzerinde hücreleri biçimlendir sekmesinden de tarih formatını hangisine çevirirsem çevireyim değişmiyor TextBox taki tarih biçimi.

Ne yapabilirim ?
 

Korhan Ayhan

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

Bu şekilde deneyiniz...

C++:
Private Sub CommandButton19_Click()
    TextBox17.Value = Format(Sheets("VERİ").Range("BR2").Value, "dd.mm.yyyy")
End Sub
 
Katılım
10 Ağustos 2005
Mesajlar
64
Peki bir şey daha soracağım. Diyelim ki Textbox17 ye tarihi yazdırdık, yanına manuel bir şeyler ekledik. Örnek Textbox17 de " 10.10.2025, yağ değişti 2.000,00 TL, hava filtresi değişti 500,00 TL, işçilik 2.500,00 TL" yazıyor. Yan tarafına ayrı bir TextBoxa bu metin içindeki para miktarlarını toplayıp otomatik yazılabilir mi ? Para miktarları girilirken daha spesifik özel bir fotmatda girilebilir, olabilirliğine göre. Örneğin TextBox18 de " Toplam 5.000,00 TL" yazsa.

Çok şey mi istemiş olurum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,371
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İlgili veriyi yazdıktan sonra bir butona tıklayarak sonucu alabilirsiniz.

C++:
Option Explicit

Private Sub CommandButton1_Click()
    Dim txt As String
    Dim reg As Object, matches As Object, m As Object
    Dim toplam As Double
    
    txt = TextBox17.Text
    Set reg = CreateObject("VBScript.RegExp")
    reg.Pattern = "([\d\.]+,\d{2})" ' TL formatlı sayıları yakalar (2.000,00 gibi)
    reg.Global = True
    
    If reg.Test(txt) Then
        Set matches = reg.Execute(txt)
        For Each m In matches
            'Debug.Print CDbl(m)
            toplam = toplam + CDbl(m.Value)
        Next m
    End If
    
    TextBox18.Text = Format(toplam, "#,##0.00")
End Sub
 
Katılım
10 Ağustos 2005
Mesajlar
64
Valla ne diyeyim gerçekten muhteşemsiniz. Hızır gibi yetişiyorsunuz. Teşekkür ederim. Ama bizde soru bitmez, dosyayı benden talep edenim yeğenimden yeni talepler geldikçe bende burada cevap arayacağım galiba.

Şimdiki soru, araçların bakım periyotlarını takip ediyoruz, şimdi bir TextBoxu userform üzerine dikey olarak dikdörtgen şeklinde konumlandırdım. sütun gibi düşünün. Verileri yazdıkça veri sağa doğru uzayıp gidiyor, yani sonra kontrol etmek için baktığımızda tüm veriyi görmek için fare imlecini klavyedeki yön tuşları ile sürekli sağa doğru gidiyor. Excelde aynı hücre içinde alta geçmek için Alt+Enter yapıyoruz ya bana o lazım. Textboxun sınırı bitince veri alta geçecek.

Örnek: https://resmim.net/i/zulfikar.j1IgN6
 
Üst