• DİKKAT

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

isteğe bağlı biçimlendirme

Katılım
14 Ekim 2019
Mesajlar
7
Excel Vers. ve Dili
2013
Değerli hocalarım /arkadaşlarım;

Sorunum hakkında yardım rica ederim. Örnekleme yapacağım.

Excelde Sayfa1 ve Sayfa2 sekmelerim var.

Sayfa1 de A1 de Cam yazıyor. B1 de ise birim olarak m² yazıyor. A2 de Çerçeve yazıyor. B2 de de birim olarak mt. yazıyor.

Sayfa1
A B

Cam​

m²​

Çerçeve​

mt.​

Sorunum şurada başlıyor :)

Diyelim ki sayfa 2 de B1 hücresinde veri doğrulamayla Çerçeve ya da Camı seçiyorum.

Sayfa 2
A B

Ürün​

Cam​

Miktar​

2 m²​
Sayfa 2 de B2 ye sayısal bir değer yazdığımda değerin sonuna, Sayfa2!B1 deki değeri Sayfa1!A da arayarak karşısındaki birimi bularak yazsın.

Bu arada Sayfa1 de örneklediğim liste uzun bir liste..

Şimdiden teşekkürler, saygılar.
 
Hücre biçimini bu şekilde yapabileceğinizi sanmıyorum.
Bunun yerine Sayfa2 de C sütunu da kullanıp, B1 de içeriğe düşey ara vasıtasıyla C sütununa m2 ifadesini Sayfa1 de aratıp getirebilirsiniz.
 
Hücre biçimini bu şekilde yapabileceğinizi sanmıyorum.
Bunun yerine Sayfa2 de C sütunu da kullanıp, B1 de içeriğe düşey ara vasıtasıyla C sütununa m2 ifadesini Sayfa1 de aratıp getirebilirsiniz.
Mümkündür fakat Sayfa2 de Miktar bölümüne yazacağım sayısal değer ve yine Sayfa2 de Ürün bölümünde seçeceğim ürün sürekli değişebilir. Bunu ürün giriş formu olarak düşünün. Ürün kısmında seçeceğim her üründe Miktar bölümüne bir değer kaydetmeliyim ve bu değerin sonuna eklenecek birimde ürün adına göre sürekli değişiklik gösterecek. Sizin dediğinizi yaptığımda sayfa2 deki tablomda sayısal değeri istediğim gibi giremiyorum. Netice de Sayfa2 de Miktar bölümünün karşısında düşeyara formülü yazıyor olacak. Manuel değişken değerler girmeme izin vermeyecek.

Aslında Hücce biçimlendirme de isteğe bağlı uyarlanmış ta yazdığımız değerin sonuna bir birim değeri yazabiliyoruz. Ama buna "" tırnak içinde değer değilde düşeyara formülüyle bulunan değeri eklemek gibi bir şeye ihtiyacım var aslında ama nasıl yapılabilir bilmiyorum.

Yine de yardım çabanıza teşekkür ederim.
 
Mümkündür fakat Sayfa2 de Miktar bölümüne yazacağım sayısal değer ve yine Sayfa2 de Ürün bölümünde seçeceğim ürün sürekli değişebilir. Bunu ürün giriş formu olarak düşünün. Ürün kısmında seçeceğim her üründe Miktar bölümüne bir değer kaydetmeliyim ve bu değerin sonuna eklenecek birimde ürün adına göre sürekli değişiklik gösterecek. Sizin dediğinizi yaptığımda sayfa2 deki tablomda sayısal değeri istediğim gibi giremiyorum. Netice de Sayfa2 de Miktar bölümünün karşısında düşeyara formülü yazıyor olacak. Manuel değişken değerler girmeme izin vermeyecek.

Aslında Hücce biçimlendirme de isteğe bağlı uyarlanmış ta yazdığımız değerin sonuna bir birim değeri yazabiliyoruz. Ama buna "" tırnak içinde değer değilde düşeyara formülüyle bulunan değeri eklemek gibi bir şeye ihtiyacım var aslında ama nasıl yapılabilir bilmiyorum.

Yine de yardım çabanıza teşekkür ederim.
Siz derdinizi anlatamadınız, ama Excel yapay zekası olan bir araç değil, hücreye cam yazınca m2 yazsın su yazınca m3 yazsın hücre biçimlendirme kullanılarak yapılacak şey değil, bir çok yolu var hücreyi biçimlendirmek için @ÖmerFaruk hoca bir tanesinden bahsetti ama siz hücreye manuel müdahale etmek istiyorsunuz bu sefer.
Sonuç itibarıyla mümkün dediniz, yaparsanız bizimle lütfen paylaşın bizde öğrenmiş oluruz.
 
Aşağıdaki kodları Sayfa2'nin kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırıp deneyin. B1'de yer alan veri Sayfa1'in A sütununda varsa ve B2 hücresine sayısal bir değer girilirse istediğiniz dönüşümü yapar. Ancak bu işlem sayı biçimlendirmesi şeklinde olmaz, sayıyı metne dönüştürür:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Set s1 = Sheets("Sayfa1")
son = s1.Cells(Rows.Count, "A").End(3).Row
If Intersect(Target, [B2]) Is Nothing Then Exit Sub
If IsNumeric(Target) Then
    If [B1] = "" Then Exit Sub
    If WorksheetFunction.CountIf(s1.Range("A1:A" & son), [B1]) = 0 Then Exit Sub
    'Target.NumberFormat = "#,##0.000 " & WorksheetFunction.VLookup([B1], s1.Range("A1:B" & son), 2, 0) & ""
    Target = Format(Target, "#,##0 " & WorksheetFunction.VLookup([B1], s1.Range("A1:B" & son), 2, 0))
End If
End Sub

Koddaki pasiflenen satırda hücre sayı biçimini ayarlamaya çalıştım ama olmadı maalesef.
 
Anlattıklarınzıdan yola çıkarak
1. Sayfa1 A sütununda Malzemeler, B sütununda birimler var.
2. Sayfa2 B1'e Sayfa1deki malzemelerden birini yazdığınız ya da VeriDoğrulama ile seçtiğiniz anda B2 nin formatı uygun birime göre düzenlenecek.


Aşağıdaki adımları dediğim gibi yapın
Sayfa1 deki Malzeme-Birim aralığını tablo olarak düzenledim. Adına TabloMalzeme dedim.
Not: Siz liste içindeyken herhangi bir hücredeyken tablo ekle dediğinizde Excel otomatik olarak tablonuzu seçecektir.
237248

Çalışma kitabına yeni bir AD tanımladım.
İsim olara Birim dedim.
Formül kısmına da =EĞERHATA(DÜŞEYARA(Sayfa2!$B$1;TabloMalzeme;2;0);"") yazdım.

237246

Sayfa2 nin (formatını değiştireceğiniz B2 nin olduğu sayfa) kod sayfasına aşağıdaki kodu aynen yapıştırın.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
   Range("B2").NumberFormat = "#,##0.000 """ & Evaluate("Birim") & """"
End Sub

B1 hücresinde Malzemeyi değiştirdiğinizde, sayfa1 deki tabloda 1.sütunda o malzeme var ve yanında da birim yazıyorsa B2 nin formatı değişecektir.

Forumda benzer istekler vardı. Örnek dosyayı da paylaşıyorum.
 

Ekli dosyalar

Geri
Üst