Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 18-01-2018, 21:35   #1
ikikan
Altın Üye
 
Giriş: 03/03/2009
Şehir: ankara
Mesaj: 424
Excel Vers. ve Dili:
excel 2003 tr
Varsayılan Veri doğrulama daha kısa bir kod

Arkadaşlar kolay gelsin, bu kodun daha kısa olanı veya hızlı çalışanı varmıdır çok fazla veri olunca çok kasıyor, şimdiden teşekkürler..
Alıntı:
For i = 11 To SonSatir
Set VeriD = Kitap.Cells(i, 7)

If VeriD = "SATIŞ" Then
With Kitap.Cells(i, 8)
.Validation.Delete
.Validation.Add _
Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="UYG,PRJ,TOB,CE,DGR"
End With
ElseIf VeriD = "TAHSİLAT" Or VeriD = "ALIŞ" Or VeriD = "ÖDEME" Then
With Kitap.Cells(i, 8)
.Validation.Delete
.Validation.Add _
Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="NKT,ÇEK,SNT,FFF,DGR"
End With
End If

If VeriD = "" Then
With Kitap.Cells(i, 8)
.Validation.Delete
.Value = ""
End With
End If
Next i
ikikan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 18-01-2018, 21:45   #2
yanginci34
Altın Üye
 
Giriş: 06/07/2010
Şehir: istanbul
Mesaj: 428
Excel Vers. ve Dili:
excel2013
Varsayılan

Merhaba; Örnek dosya eklerseniz iyi olacak. Dosyanın orjinali veye orjinaliyle uyumlu bir dosyayı eklerseniz daha kolay yardım edilecektir.
yanginci34 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 18-01-2018, 21:54   #3
ikikan
Altın Üye
 
Giriş: 03/03/2009
Şehir: ankara
Mesaj: 424
Excel Vers. ve Dili:
excel 2003 tr
Varsayılan

İyi akşamlar Dosya ektedir
Eklenmiş Dosyalar
Dosya Türü: xlsm PCari3-4V.xlsm (105.7 KB, 4 Görüntülenme)
ikikan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 09:19   #4
ikikan
Altın Üye
 
Giriş: 03/03/2009
Şehir: ankara
Mesaj: 424
Excel Vers. ve Dili:
excel 2003 tr
Varsayılan

İyi akşamlar Dosya ektedir
ikikan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 11:37   #5
ikikan
Altın Üye
 
Giriş: 03/03/2009
Şehir: ankara
Mesaj: 424
Excel Vers. ve Dili:
excel 2003 tr
Varsayılan

Arkadaşlar acaba şu formüldeki liste1 ve liste2 deki bilgileri sayfadan değilde direk vba kod alanına MAKRO olurmu?

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
=EĞER(A:A="SATIŞ";Liste1;Liste2)
ikikan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 15:28   #6
ikikan
Altın Üye
 
Giriş: 03/03/2009
Şehir: ankara
Mesaj: 424
Excel Vers. ve Dili:
excel 2003 tr
Varsayılan

hızlı olan kod başka arkadaşlara yarar belki
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
If Not Intersect(Target, Range("G11:H" & SonDoluS + 10)) Is Nothing Then
Set VeriD = Cells(Target.Row, 7)
    If VeriD = "SATIŞ" Then
        MyList(0) = "UYG,PRJ,TOB,CE,DGR"
    ElseIf VeriD = "TAHSİLAT" Or VeriD = "ALIŞ" Or VeriD = "ÖDEME" Then
        MyList(0) = "NKT,ÇEK,SNT,FFF,DGR"
    ElseIf VeriD = "" Then
        For i = 11 To SonSatir
            With Cells(i, 8)
                .Validation.Delete
                .Value = ""
            End With
        Next i
    End If
        With Cells(Target.Row, 8).Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
            Operator:=xlBetween, Formula1:=Join(MyList, ",")
        End With
        Else
End If
ikikan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 15:29   #7
ikikan
Altın Üye
 
Giriş: 03/03/2009
Şehir: ankara
Mesaj: 424
Excel Vers. ve Dili:
excel 2003 tr
Varsayılan

Diger sitelerden bulduğum örnek kodlar
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Dim MyList(5) As String
MyList(0) = 1
MyList(1) = 2
MyList(2) = 3
MyList(3) = 4
MyList(4) = 5
MyList(5) = 6

With Range("A1").Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
         Operator:=xlBetween, Formula1:=Join(MyList, ",")
End With

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub DV_Test()
    Dim ValidationList(5) As Variant, i As Integer

    For i = 0 To UBound(ValidationList)
        ValidationList(i) = i + 1
    Next

    With Range("A1").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
            Operator:=xlEqual, Formula1:=Join(ValidationList, ",")
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub
ikikan Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 05:27


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Dil Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Rampa- Rotary- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Çorlu Sürücü Kursu- Şişli Avukat- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kağıt Bardak- Kaplan Tekstil- Çorlu Perde- Çorlu Perde- Çorlu Havuz- Çorlu Havuz- Makina- Danışmazlar- Çorlu Perde Yıkama- Çorlu Perde Yıkama- Okul Danışmanlık- Çorlu Ayakkabı- İzmit Sigorta-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden