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
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,109
Excel Vers. ve Dili
Office 2013 İngilizce
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
 
Katılım
9 Ekim 2019
Mesajlar
109
Excel Vers. ve Dili
Standart 2016
@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.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,784
Excel Vers. ve Dili
Microsoft 365 Tr-64
Regular Expressions metoduyla yapabilirsiniz. Ekleme ve çıkarmalarınızı belli bir formata göre yaparsanız ve uygun bir Pattern belirlerseniz kolay olur kanaatindeyim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,489
Excel Vers. ve Dili
Ofis 365 Türkçe
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,737
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
19 Temmuz 2011
Mesajlar
13
Excel Vers. ve Dili
2007 eng
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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,737
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

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

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