• DİKKAT

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

if döngüsü

Katılım
15 Kasım 2007
Mesajlar
336
Excel Vers. ve Dili
iş: 2010 İngilizce

ev:2010 Türkçe
Merhaba

aşağıdaki döngüye ek olarak; eğer K da 80060 görürsen L ye TGB
N de sutun içinde kıbrıs görürsen L ye TGB yaz eklemek ve döngünün hızlı olmasını istiyorum. Ekranımı donduruyor malesef...

Yardımlarınız için teşekkürler...



Columns("L:L").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("L2").Select
ActiveCell.FormulaR1C1 = "ACENTE KODU2"


Dim i As Long
On Error Resume Next
Application.ScreenUpdating = False
For i = 2 To Cells(Rows.Count, "F").End(3).Row
If Cells(i, "F") Like "*O*" Then Cells(i, "F") = "KASKO"
If Cells(i, "F") Like "*T*" Then Cells(i, "F") = "TRAFİK"
If Cells(i, "N") Like "*BANKA*" Then
Cells(i, "L") = "TGB"
ElseIf Cells(i, "N") Like "*BR*" Then
Cells(i, "L") = "BROKER"
Else
Cells(i, "L") = "ACENTE"
End If

Next i
Application.ScreenUpdating = False
MsgBox "İşlem Tamam..."
 
2 tane end if daha alta ekleyerek dener misiniz.

Dim i As Long
On Error Resume Next
Application.ScreenUpdating = False
For i = 2 To Cells(Rows.Count, "F").End(3).Row
If Cells(i, "F") Like "*O*" Then Cells(i, "F") = "KASKO"
If Cells(i, "F") Like "*T*" Then Cells(i, "F") = "TRAFİK"
If Cells(i, "N") Like "*BANKA*" Then
Cells(i, "L") = "TGB"
ElseIf Cells(i, "N") Like "*BR*" Then
Cells(i, "L") = "BROKER"
Else
Cells(i, "L") = "ACENTE"
Next i

End If
End If
End If

Application.ScreenUpdating = True
MsgBox "İşlem Tamam..."
end sub
 
Next without for hatası alıyorum. yukarıda istediğim şartları da ekleyerek çalıştırmak için nasıl bir yol izlemeliyim ? Teşekkürler
 
End if'leri Next i'den önce yazın...
 
bu sefer de endif without blockif hatası alıyorum. Bu döngüyü çalıştıramadım birtürlü ve

If Cells(i, "N") Like "*BANKA*" Then
Cells(i, "L") = "TGB"
ElseIf Cells(i, "N") Like "*BR*" Then
Cells(i, "L") = "BROKER"
Else
Cells(i, "L") = "ACENTE"


kısmına ek olarak; eğer K da 80060 görürsen L ye TGB
N de sutun içinde kıbrıs görürsen L ye TGB yaz eklemek istiyordum ama vazgeçeceğim herhalde
 
Neden örnek eklemiyorsunuz ?
 
Haklısınız örnek dosya göndermem şuanda mümkün değil bazı özel sebeplerden...

Aşağıda daha da açıkladım. İlginize teşekürler..


sizlerden öğrendiklerimle 3 şartı yapabildim ama 2 şartı yapamadım.


'eğer N de banka ibaresi görürse L ye tgb yazacak ok
'eğer N de br ibaresi görürse L ye broker yazacak ok
'eğer N de kıbrıs görürse L ye tgb yazacak OLMADI
'eğer k da 80060 görürse L ye tgb yazacak OLMADI
' bu şartları taşımıyorsa L ye acente ok




If Cells(i, "N") Like "*BANKA*" Then
Cells(i, "L") = "TGB"
If Cells(i, "N") Like "*BR*" Then
Cells(i, "L") = "BROKER"
If Cells(i, "N") Like "*KIBRIS*" Then
Cells(i, "L") = "TGB"

ElseIf Cells(i, "K") = 80060 Then
Cells(i, "L") = "TGB"


Else
Cells(i, "L") = "ACENTE"



End If
End If
End If



Next i








Application.ScreenUpdating = True
MsgBox "İşlem Tamam..."
End Sub
 
Haklısınız örnek dosya göndermem şuanda mümkün değil bazı özel sebeplerden...

Aşağıda daha da açıkladım. İlginize teşekürler..


sizlerden öğrendiklerimle 3 şartı yapabildim ama 2 şartı yapamadım.


'eğer N de banka ibaresi görürse L ye tgb yazacak ok
'eğer N de br ibaresi görürse L ye broker yazacak ok
'eğer N de kıbrıs görürse L ye tgb yazacak OLMADI
'eğer k da 80060 görürse L ye tgb yazacak OLMADI
' bu şartları taşımıyorsa L ye acente ok

Application.ScreenUpdating = True
MsgBox "İşlem Tamam..."
End Sub

Aşağıdaki gibi denermisiniz.
"K" sütununda "80060" varsa "N" sütununa bakmaz.
Kod:
If Cells(i, "K") = 80060 Then
Cells(i, "L") = "TGB"
Else
 Select Case True
Case Cells(i, "N") Like "*BANKA*", Cells(i, "N") Like "*KIBRIS*"
Cells(i, "L") = "TGB"
Case Cells(i, "N") Like "*BR*"
Cells(i, "L") = "BROKER"
Case Else
Cells(i, "L") = "ACENTE"
        End Select
        End If
Next
Application.ScreenUpdating = True
MsgBox "İşlem Tamam..."
End Sub
 
Aşağıdaki şekilde çözdüm hepinize teşekkür ederim..





Dim i As Long
On Error Resume Next
Application.ScreenUpdating = False
For i = 2 To Cells(Rows.Count, "F").End(3).Row
If Cells(i, "F") Like "*O*" Then Cells(i, "F") = "KASKO"
If Cells(i, "F") Like "*T*" Then Cells(i, "F") = "TRAFİK"
If Cells(i, "N") Like "*BANKA*" Then
Cells(i, "L") = "TGB"

ElseIf Cells(i, "N") Like "*BRO*" Then
Cells(i, "L") = "BROKER"


ElseIf Cells(i, "K") Like "*80060*" Then
Cells(i, "L") = "TGB"

ElseIf Cells(i, "N") Like "*KIBRIS*" Then
Cells(i, "L") = "TGB"

Else
Cells(i, "L") = "ACENTE"
 
Geri
Üst