• DİKKAT

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

Hücre değeri label da görünsün

Katılım
20 Eylül 2022
Mesajlar
75
Excel Vers. ve Dili
2021 TR
Selam ,
Başlıkta belirttiğim üzere , herhangi bir makro aktif edilme durumu olmadan,
sayfaya ekleyeceğimiz bir kod ile hücre değerini label üzerine atayabilir miyiz?

Site üzerinde bazı geçmiş örnekler denedim sonuç alamadım.
 
Sorunuz açık değil. Label, sayfa üzerinde mi yoksa userform üzerinde mi? Bu hücredeki veri, hangi durumda label içine aktarılacaktır?
 
Sayfanın kod sayfasına aşağıdaki kodu kopyalayarak deneyin.

Kod:
Private Sub Worksheet_Activate()
ActiveSheet.Shapes("Label1").OLEFormat.Object.Object = Range("A1").Value
End Sub
 
Levent bey sanırım ben bir noktada hata yapıyorum ,
birçok örnek denedim bir türlü hücreden veri getiremedim.
Bu örnekte de sonuç alamadım.
Bir noktayı eksik yapıyorum sanırım.
Doğrudan sayfanın kod bölümüne yapıştırıyorum.
A1'de değer giriyorum , veri gelmiyor.
Sayfanın kod sayfasına aşağıdaki kodu kopyalayarak deneyin.

Kod:
Private Sub Worksheet_Activate()
ActiveSheet.Shapes("Label1").OLEFormat.Object.Object = Range("A1").Value
End Sub
 
Levent bey sanırım ben bir noktada hata yapıyorum ,
birçok örnek denedim bir türlü hücreden veri getiremedim.
Bu örnekte de sonuç alamadım.
Bir noktayı eksik yapıyorum sanırım.
Doğrudan sayfanın kod bölümüne yapıştırıyorum.
A1'de değer giriyorum , veri gelmiyor.

Verdiğim event sayfayı aktif edince çalışır. Başka bir sayfayı seçip sonra tekrar aynı sayfaya geri dönün. Eğer A1'deki veriyi değiştirince çalışsın istiyorsanız change olayına yazın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
ActiveSheet.Shapes("Label1").OLEFormat.Object.Object = Range("A1").Value
End Sub
 
Teşekkür ederim Levent bey , hücre değişince değişsin istiyordum , bu defa oldu.
İyi çalışmalar dilerim.
Verdiğim event sayfayı aktif edince çalışır. Başka bir sayfayı seçip sonra tekrar aynı sayfaya geri dönün. Eğer A1'deki veriyi değiştirince çalışsın istiyorsanız change olayına yazın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
ActiveSheet.Shapes("Label1").OLEFormat.Object.Object = Range("A1").Value
End Sub
 
Levent bey tekrar selam ,

Denemek için yeni bir sayfada çalıştığımda kodlarınız çalışıyor.
Benim veri almamda şöyle bir sıkıntı var.

Label olanları textbox olarak değiştirdim.

Textbox3'ün veri aldığı hücrede formül var , formül olduğu için bu şekilde kod yürümüyor nedense.
Elle manuel deneyince çalışıyor.

Textbox4 ise günlük tarihi alıyor olması lazım .
onun için de gerekli kodu siteden bulup ekledim ama başarılı olmadı.

Bu her iki textbox da aynı sayfada.

Verdiğim event sayfayı aktif edince çalışır. Başka bir sayfayı seçip sonra tekrar aynı sayfaya geri dönün. Eğer A1'deki veriyi değiştirince çalışsın istiyorsanız change olayına yazın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
ActiveSheet.Shapes("Label1").OLEFormat.Object.Object = Range("A1").Value
End Sub
 
Formül sonucu değiştiğinde çalışması için calculate olayınada yazılabilir ancak aşağıdaki gibide çalışması lazım.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Shapes("TextBox3").OLEFormat.Object.Object = Range("A1").Value
ActiveSheet.Shapes("TextBox4").OLEFormat.Object.Object = Date
End Sub
 
Aslında bendeki sorun şu şekilde ;
A1 olarak tanımladığınız hücre formülle değişiyor dediğim gibi fakat o da bir onay kutusuna bağlı , raporlu gün sayısını düşüyor.
Onay kutusu tiklenince hücrede değişim olsa bile bunu algılamıyor.
Onay kutusuna makro olarak atamayı düşünüyorum.
Formül sonucu değiştiğinde çalışması için calculate olayınada yazılabilir ancak aşağıdaki gibide çalışması lazım.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Shapes("TextBox3").OLEFormat.Object.Object = Range("A1").Value
ActiveSheet.Shapes("TextBox4").OLEFormat.Object.Object = Date
End Sub
 
Levent bey,
textbox4 doğrudan tarih olduğu için format değiştirebiliyorum sorun yok ama
ActiveSheet.Shapes("TextBox3").OLEFormat.Object.Object = Range("A1").Value
Bu veri hücreye bağlı olduğu için 01.01.2000 olan değeri 01/01/2000 olarak alıyor .
Noktalı biçim vermek mümkün mü?
Formül sonucu değiştiğinde çalışması için calculate olayınada yazılabilir ancak aşağıdaki gibide çalışması lazım.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Shapes("TextBox3").OLEFormat.Object.Object = Range("A1").Value
ActiveSheet.Shapes("TextBox4").OLEFormat.Object.Object = Date
End Sub
 
Aşağıdaki gibi deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Shapes("TextBox3").OLEFormat.Object.Object = format()Range("A1").Value,"dd.mm.yyyy")
ActiveSheet.Shapes("TextBox4").OLEFormat.Object.Object = Date
End Sub
 
Geri
Üst