İki farklı Koşulda İçerdiği Metine Göre Değer Yazdırma

Katılım
5 Mayıs 2023
Mesajlar
12
Excel Vers. ve Dili
Microsof Excel 365
Herkese merhaba,

Daha önceden paylaştığım ve desteğini aldığım bir konunun biraz daha gelişmiş hali ile ilgili bir soru yöneltmek istiyorum. Esasında "Hücre içindeki içeridiği Metine Göre Değer Atama - Makro" konu başlığı altında @excelokyanus500 hocam bana yardımcı olmuştu. Benim buradaki sorum şu;

A sütununda belli hizmet kodlarım var. Örneğin; GRAUR123, GRAUR124 vb. İçerisinde "*GRAUR*" geçiyorsa B sütununa karşılık olarak "AMELİYAT" yazıyor. İstediğim GRAUR içeriyorsa, B sütununda ki değer de "AMELİYAT" ise karşılığında "Göğüs Cerrahisi" yazsın. Bu kodu excelokyanus500 hocam aşağıdaki şekilde iletti:

Sub Bariatrik()

Dim rng As Range

For Each rng In Range("A2:A111231")


If rng.Value Like "*GRAUR*" And rng.Offset(0, 1).Value = "AMELİYAT" Then
rng.Offset(0, 2).Value = "Göğüs Cerrahisi"

End If
Next

End Sub

Ben birden fazla daha koşul ekleyerek bu kurguyu çoğaltmak istiyorum. Eğer GRAUR içeriyorsa ve karşılığı Ameliyat ise Göğüs Cerrahisi, ayrı bir koşulda GRAPL içeriyor karşılığı Pediatrik ise Çocuk Patoloji yazsın şeklinde. Bu şekilde çok fazla koşulum mevcut.

İş yerinde dosya ekleme yapamıyorum şu an için eğer çalışma dosyası gerekirse lütfen bildirin.

Değerli destekleriniz için şimdiden herkese teşekkür ediyorum.

Saygılar..
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,862
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
Aşağıdaki şekilde deneyiniz.

ElseIf rng.Value Like "*GRAPL*" And rng.Offset(0, 1).Value = "Pediatrik" Then
rng.Offset(0, 2).Value = "Çocuk Patoloji"


kırmızı kısımları değiştirerek istediğiniz kadar koşullar ekleyebilirsiniz.

Kod:
Sub Bariatrik()
Dim rng As Range
      For Each rng In Range("A2:A111231")
            If rng.Value Like "*GRAUR*" And rng.Offset(0, 1).Value = "AMELİYAT" Then
                  rng.Offset(0, 2).Value = "Göğüs Cerrahisi"
            ElseIf rng.Value Like "*GRAPL*" And rng.Offset(0, 1).Value = "Pediatrik" Then
                  rng.Offset(0, 2).Value = "Çocuk Patoloji"
            End If
      Next rng
End Sub
 
Son düzenleme:
Katılım
5 Mayıs 2023
Mesajlar
12
Excel Vers. ve Dili
Microsof Excel 365
Selamlar
Aşağıdaki şekilde deneyiniz.

ElseIf rng.Value Like "*GRAPL*" And rng.Offset(0, 1).Value = "Pediatrik" Then
rng.Offset(0, 2).Value = "Çocuk Patoloji"


kırmızı kısımları değiştirerek istediğiniz kadar koşullar ekleyebilirsiniz.

Kod:
Sub Bariatrik()
Dim rng As Range
      For Each rng In Range("A2:A111231")
            If rng.Value Like "*GRAUR*" And rng.Offset(0, 1).Value = "AMELİYAT" Then
                  rng.Offset(0, 2).Value = "Göğüs Cerrahisi"
            ElseIf rng.Value Like "*GRAPL*" And rng.Offset(0, 1).Value = "Pediatrik" Then
                  rng.Offset(0, 2).Value = "Çocuk Patoloji"
            End If
      Next rng
End Sub
Desteğiniz için teşekkür ediyorum.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,862
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Rica ederim.
İyi çalışmalar
 
Üst