• DİKKAT

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

Soru If Koşuluna Kural Koymak

Katılım
9 Ekim 2019
Mesajlar
109
Excel Vers. ve Dili
Standart 2016
Merhaba,

If koşuluna aşağıdaki sayılardan biri değilse çalışsın diye bir kural koymak istiyorum ama bir türlü yapamadım. Tek tek yazınca oluyor fakat toplu halde yazınca koşulu görmüyor. Nasıl yapabilirim*

1200
1300
1400
1500
1600

Bunlardan birisi ise sonraki satıra geçsin istiyorum.

Kod:
subeler = "1200" And "1300" And "1400" And "1500" And "1600"
If S1.Cells(sayac, sut6).Value <> subeler And xxxx diğer koşullar
 
Merhaba,

If koşuluna aşağıdaki sayılardan biri değilse çalışsın diye bir kural koymak istiyorum ama bir türlü yapamadım. Tek tek yazınca oluyor fakat toplu halde yazınca koşulu görmüyor. Nasıl yapabilirim*

1200
1300
1400
1500
1600

Bunlardan birisi ise sonraki satıra geçsin istiyorum.
Kod:
if subeler = "1200" And subeler = "1300" And subeler = "1400" And subeler = "1500" And subeler = "1600" then
else
.......................
.....................................

end if

bu şekilde dener misiniz
 
@tamer42 Bey bu şekilde oluyor ama benim istediğim if'e değil de değişkenlere bunu yazmak. Her if yazdığım yere bu kadar uzunlukta yazmak istemiyorum. Sonradan ekleme çıkartma yaparsam tek tek bulup silmek zorunda kalmayım. Tek bir yerde olmasını istiyorum değişkenlerin.
 
Regular Expressions metoduyla yapabilirsiniz. Ekleme ve çıkarmalarınızı belli bir formata göre yaparsanız ve uygun bir Pattern belirlerseniz kolay olur kanaatindeyim.
 
Merhaba,
Aşağıdaki kodları kendinize uyarlayınız.
Kod:
Sub Deneme()

    Dim Sube    As Integer
    Dim c       As Range
    
    Sube = 1300
    
    Set c = Range("A:A").Find(Sube, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
        MsgBox Sube & " Nolu Şube Var ......"
    Else
        MsgBox Sube & " Yokkkkk, Bulamadım...."
    End If
    
End Sub
 
Select-Case ile olabilir.

Bir de Array tanımlayıp kullanabilirsiniz.

İkisi için örnekler;

C++:
Option Explicit

Sub Test_Select_Case()
    Select Case Range("A1")
        Case 1200, 1300, 1400, 1500, 1600
            MsgBox "Aranan değer bulundu...", vbInformation
        Case Else
            MsgBox "Aranan veri bulunamadı!", vbCritical
    End Select
End Sub

Sub Test_Array()
    Dim Subeler
    
    Subeler = Array(1200, 1300, 1400, 1500, 1600)
        
    If Not IsError(Application.Match(1400, Subeler, 0)) Then
        MsgBox "Aranan değer bulundu...", vbInformation
    Else
        MsgBox "Aranan değer bulunamadı!", vbCritical
    End If
End Sub
 
Merhaba,
Aşağıdaki kodları kendinize uyarlayınız.
Kod:
Sub Deneme()

    Dim Sube    As Integer
    Dim c       As Range
   
    Sube = 1300
   
    Set c = Range("A:A").Find(Sube, LookIn:=xlValues, LookAt:=xlWhole)
    If Not c Is Nothing Then
        MsgBox Sube & " Nolu Şube Var ......"
    Else
        MsgBox Sube & " Yokkkkk, Bulamadım...."
    End If
   
End Sub

Merhaba, bu kod ile ilgili olarak bir yardım ihtiyacım var.
Macroda, find komutunu alt program olarak kullanıyorum.
excel içinde özel kelimeleri arıyorum, bu özel kelimelerin bulunduğu hücrenin yanında olan hücrenin içeriğini kopyalayıp, istediğim yere taşıyorum.
Buraya kadar sıkıntı yok.
Eğer aradığım özel kelime yoksa önceki işlemden hafızada kalan hücre bilgisini kopyalayıp aktarıyor.
Aradığım özel kelime yoksa, taşıyacağım hücreye "yok" gibi bir kelime yapıştırsın istiyorum. Bunu nasıl yapabilirim?

End If öncesinde, Else ekleyeceğim sanırım. Burada olması gereken kodu yapamadım. Mesajbox istemiyorum.

Dim FindAddress As String
With ActiveSheet.Range(Start & ":" & Finish)
Set c = .Find(Word, LookIn:=xlFormulas)
If Not c Is Nothing Then
FindAddress = c.Address
Range(FindAddress).Select
PosRow = ActiveCell.Row
PosCol = ActiveCell.Column
End If
End With

Teşekkürler.
 
Deneyiniz.

Z1 hücresini kendinize göre uyarlarsınız.

Kod:
.......
......
Else
Range("Z1").value = "Yok"
End If
 
Geri
Üst