• DİKKAT

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

VBASimge kümeleri kullanarak hücrelere VBA ile uygun ok ekleme..

  • Konbuyu başlatan Konbuyu başlatan peacer
  • Başlangıç tarihi Başlangıç tarihi
Katılım
5 Nisan 2018
Mesajlar
4
Excel Vers. ve Dili
VBA
Merhaba arkadaşlar..

Koşullu biçimlemede kullandığımız hücre içi icon set (simge kümeleri) kısmında yer alan ok simgelerini farklı hücreleri birbiri ile karşılaştırmak için nasıl kullanırız?

Sorumu detaylandırmak üzere şöyle anlatayım.

ee738f347d.png


Resimdeki gibi hücrelerimiz olsun. burada koşullu biçimlendirme menüsünden simge kümesi olarak okları seçtim ve alakasız oklar koydu hücrelere.

Oysa benim istediğim mesela

b1 hücresindeki deki değer 3 , a1 ise 2. b1 > a1 olduğu için b1 hücresindeki ok yukarı ok olmalı.
g1 ve f1 hücresindeki değerler eşit. bu nedenle g1 de seçilen ikon yana doğru ok olmalı.

bununla ilgili nette araştırmalarımda çok az ilerleme yaptım ama öteye gidemedim. şöyle ki ;
Kod:
For n = 2 To 10
Cells(1, n).FormatConditions.Delete
If Cells(1, n) > Cells(1, n - 1) Then
Cells(1, n).Select
Selection.FormatConditions.AddIconSetCondition
Selection.FormatConditions(1).IconSet = ActiveWorkbook.IconSets(xl4Arrows)
End If
Next


Yukardaki vba kodunu çalıştırdığımda sadece artan değerlere ok koydurmayı başardım.

b68acb995d.png


Ama ıf cells(1, n) < cells(1, n - 1) gibi kriterler uyguladığımda o hücrelere nasıl aşağı ok yana ok koyduracağımı bir türlü bulamadım.

Yardımcı olursanız çok sevinirim, Teşekkürler.

Aslında VBA şart değil ama koşullu biçimleme ile de nasıl yapıalcağını bulamadım.

Aşağıda youtube üzeirnde tam da dediğim işi yapmış arkadaş ama nasıl yapmış anlamadım. Amacımı anlatmak açısından onu da vereyim.

[YOUTUBE]54TSwSfiEzQ[/YOUTUBE]
 
Son düzenleme:
Merhaba,
Aşağıdaki kodu deneyiniz...
Kod:
Sub kod()
For n = 2 To 10

    Cells(1, n).FormatConditions.Delete
    Cells(1, n).FormatConditions.AddIconSetCondition
    Cells(1, n).FormatConditions(1).IconSet = ActiveWorkbook.IconSets(xl3Arrows)

    With Cells(1, n).FormatConditions(1).IconCriteria(2)
        .Type = xlConditionValueNumber
        .Value = "=" & Cells(1, n - 1).Address
        .Operator = 7
    End With

    With Cells(1, n).FormatConditions(1).IconCriteria(3)
        .Type = xlConditionValueNumber
        .Value = "=" & Cells(1, n - 1).Address
        .Operator = 5
    End With

Next
End Sub
 
Çok teşekkür ederim gayet güzel çalıştı sağolun :)

Peki bunu makro butonuna basıp yenilemek yerine youtube videosundaki gibi, hücredeki verileri değiştiridğimde otomatik olarak güncellenecek şekilde nasıl yapabilirim?


Edit : 1 kez makroyu çalıştırınca devamında değiştirinnce otomatik oluyor çok sağolun tekrar. Peki belge açılınca bu makronun otomatik çalışmasını sağlayabilir miyiz? Ben bir komut butonu ekleyip ona tıklayarak çözdüm şimdilik.
 
Son düzenleme:
Aşağıda youtube üzeirnde tam da dediğim işi yapmış arkadaş ama nasıl yapmış anlamadım. Amacımı anlatmak açısından onu da vereyim.
Not: O videoyu hazırlayan kişiyim. :)

Sn. mucit77 size yardımcı oluyor, o yüzden konuya müdâhil olmak istemedim.

Saygılar
 
:) Siz de anlatabilirsiniz sıkıntı yok :)

Private Sub Workbook_Open()
call kod()
End Sub

diyerek hallettim sanırım. Yöntem bu mudur?
 
Sn. peacer, doğrudur, yöntem budur. Ya da ilgili kodu doğrudan workbook_open olayının içerisine de yazabilirsiniz.
Sn. Murat OSMA, her ne kadar ben yardımcı olsam da bir profesyonel olarak sunacağınız alternatif çözümlerin bize de bir şeyler katacağına inanıyorum.
İyi çalışmalar...
 
İlginiz için çok teşekkür ederim tekrar. Sağolun varolun :) Sayenizde çok faydalandım yeni şeyler öğrendim. Uzman hekimim, tamamen hobi olarak uğraşıyorum ve öğrendiğim her bilgi çok kıymetli

İyi günler dilerim.
 
1546258600012.png
Burada , eğer D2 hücresi C2 hücresinden % 20 büyükse yukarı yeşil ok - %20 ile 0 arasında ise yukarı sarı ok -- eğer D2 C2 den küçük ise aşağıya kırmızı ok yapmam nasıl mümkün olur.
 
Geri
Üst