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 06-11-2017, 15:40   #1
Lecay
Altın Üye
 
Giriş: 03/10/2011
Mesaj: 14
Excel Vers. ve Dili:
Excel 2013 ENG
Varsayılan ..:: Makro ile Veri Alma ::..

Arkadaşlar merhaba,

Sheet1'deki nakliye numalarının yanına Sheet2'deki öncelikleri sıralamalarına göre makro ile çekmek istiyorum. Eğer bir nakliyede çok acil önceliği mevcut ise Çok acil yaz. 1 öncelik yoksa 2. öncelik varsa Acil yaz. 1 ve 2 yoksa 3 varsa Öncelikli yaz. Bu 3'ü yoksa Normal yaz demek istiyorum. Yardım edebilirmisiniz ?
Öncelik:
1. Çok Acil
2. Acil
3. Öncelikli
4. Normal
Eklenmiş Dosyalar
Dosya Türü: xlsx Book.xlsx (9.5 KB, 15 Görüntülenme)
Lecay Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-11-2017, 16:11   #2
Emir Hüseyin Çoban
Destek Ekibi
 
Emir Hüseyin Çoban kullanıcısının avatarı
 
Giriş: 11/08/2008
Şehir: Denizli
Mesaj: 5,675
Excel Vers. ve Dili:
Office 2013 Tr - Win8 x64
Varsayılan

.

Sheet2' de aynı nakliye numarası için farklı tanımlamalar var. Hangisini getirmesi gerekiyor.
Sheet1' e isim mi yazacak, rakam mı.

.
__________________
.
Cüzzi Ücretlerle Sorularınıza Özel Destek Almak İçin Özel Mesaj Yazabilirsiniz...

e-mail: huseyincobann@gmail.com
Tel: 0531-285-06-15

http://www.excel.web.tr/private.php?do=newpm&u=101759

Örnek Dosya Hazırlarken Dikkat Edilmesi Gerekenler için link:
https://goo.gl/ckn2NC
_

İyi Günler...

Türkçe konuşup, Excel'ce yazıyoruz!..
...:::: Diren #Excel.Web.Tr :::....


Emir Hüseyin Çoban Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-11-2017, 16:12   #3
Lecay
Altın Üye
 
Giriş: 03/10/2011
Mesaj: 14
Excel Vers. ve Dili:
Excel 2013 ENG
Varsayılan

Evet evet doğru. Bir nakliye içerisinde belirttiğim gibi 4 öncelikte olabilir fakat sırasına göre yazdırmak istiyorum
Lecay Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-11-2017, 17:58   #4
Emir Hüseyin Çoban
Destek Ekibi
 
Emir Hüseyin Çoban kullanıcısının avatarı
 
Giriş: 11/08/2008
Şehir: Denizli
Mesaj: 5,675
Excel Vers. ve Dili:
Office 2013 Tr - Win8 x64
Varsayılan

.

Sayfa1' i örneğinize göre doldurabilir misiniz.

.
__________________
.
Cüzzi Ücretlerle Sorularınıza Özel Destek Almak İçin Özel Mesaj Yazabilirsiniz...

e-mail: huseyincobann@gmail.com
Tel: 0531-285-06-15

http://www.excel.web.tr/private.php?do=newpm&u=101759

Örnek Dosya Hazırlarken Dikkat Edilmesi Gerekenler için link:
https://goo.gl/ckn2NC
_

İyi Günler...

Türkçe konuşup, Excel'ce yazıyoruz!..
...:::: Diren #Excel.Web.Tr :::....


Emir Hüseyin Çoban Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-11-2017, 21:39   #5
Lecay
Altın Üye
 
Giriş: 03/10/2011
Mesaj: 14
Excel Vers. ve Dili:
Excel 2013 ENG
Varsayılan

Buyrunnnnn
Eklenmiş Dosyalar
Dosya Türü: xlsx Book.xlsx (9.6 KB, 12 Görüntülenme)
Lecay Çevrimdışı   Alıntı Yaparak Cevapla
Eski 06-11-2017, 22:45   #6
Ziynettin
Altın Üye
 
Giriş: 17/04/2008
Şehir: istanbul
Mesaj: 399
Excel Vers. ve Dili:
office2010
Varsayılan

Deneyiniz.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Option Explicit
Sub kosullu_ara()
Dim s1 As Worksheet, S2 As Worksheet
Dim a(), b(), c(), d As Object, deg, tbl()
Dim i As Long, x As Long, Say As Long
Set s1 = Sheets("Sheet1")
Set S2 = Sheets("Sheet2")
Set d = CreateObject("scripting.dictionary")
a = s1.Range("C3:C" & s1.Cells(Rows.Count, "C").End(3).Row)
b = s1.Range("J2:J" & s1.Cells(Rows.Count, "J").End(3).Row)
c = S2.Range("B3:C" & S2.Cells(Rows.Count, "B").End(3).Row)
ReDim k(1 To UBound(c), 1 To 2)
    For i = 1 To UBound(b)
        For x = 1 To UBound(c)
            If Trim(c(x, 2)) = Trim(b(i, 1)) Then
                deg = c(x, 1) & c(x, 2)
                If Not d.exists(deg) Then
                    Say = Say + 1
                    d(deg) = Say
                    k(Say, 1) = c(x, 1)
                    k(Say, 2) = c(x, 2)
                End If
            End If
        Next x
    Next i
tbl = Array(k)
ReDim m(1 To UBound(a), 1 To 1)
    For i = 1 To UBound(a)
        For x = d.Count To 1 Step -1
            If a(i, 1) = tbl(0)(x, 1) Then
                m(i, 1) = tbl(0)(x, 2)
            End If
        Next x
    Next i
s1.Range("D3").Resize(UBound(a)) = m
MsgBox "İşlem bitti...", vbInformation
End Sub
Ziynettin Çevrimdışı   Alıntı Yaparak Cevapla
Eski 07-11-2017, 08:38   #7
Lecay
Altın Üye
 
Giriş: 03/10/2011
Mesaj: 14
Excel Vers. ve Dili:
Excel 2013 ENG
Varsayılan

Hocam kod çalışıyor, ellerinize sağlık.
Bu kodu kendi çalışmama uyarlayamadım yanlız yardım edebilirmisiniz ? YUSD_SHP004 sayfasındaki önceliği sıralamasına göre FTL_Plan sayfasındaki "C" sütununa yazdırmak istiyorum
Eklenmiş Dosyalar
Dosya Türü: xlsm Planned Shipments.xlsm (55.9 KB, 10 Görüntülenme)
Lecay Çevrimdışı   Alıntı Yaparak Cevapla
Eski 07-11-2017, 10:07   #8
Ziynettin
Altın Üye
 
Giriş: 17/04/2008
Şehir: istanbul
Mesaj: 399
Excel Vers. ve Dili:
office2010
Varsayılan

#7. mesajdaki ekli dosyanız için,

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Sartli_ara()
Dim s1 As Worksheet, S2 As Worksheet, s3 As Worksheet
Dim a(), b(), c(), d As Object, deg, tbl()
Dim i As Long, x As Long, Say As Long

Set s1 = Sheets("FTL_Plan")
Set S2 = Sheets("YUSD_SHP004")
Set s3 = Sheets("MASTER")

Set d = CreateObject("scripting.dictionary")
a = s1.Range("D3:D" & s1.Cells(Rows.Count, "D").End(3).Row)
b = s3.[Q8:Q11].Value
c = S2.Range("B2:L" & S2.Cells(Rows.Count, "B").End(3).Row)

ReDim k(1 To UBound(c), 1 To 2)
    For i = 1 To UBound(b)
        For x = 1 To UBound(c)
            If Trim(c(x, 11)) = Trim(b(i, 1)) Then
                deg = c(x, 1) & c(x, 11)
                If Not d.exists(deg) Then
                    Say = Say + 1
                    d(deg) = Say
                    k(Say, 1) = c(x, 1)
                    k(Say, 2) = c(x, 11)
                End If
            End If
        Next x
    Next i
tbl = Array(k)
ReDim m(1 To UBound(a), 1 To 1)
    For i = 1 To UBound(a)
        For x = d.Count To 1 Step -1
            If a(i, 1) = tbl(0)(x, 1) Then
                m(i, 1) = tbl(0)(x, 2)
            End If
        Next x
    Next i
s1.Range("C3").Resize(UBound(a)) = m
MsgBox "İşlem bitti...", vbInformation
End Sub
Ziynettin Çevrimdışı   Alıntı Yaparak Cevapla
Eski 07-11-2017, 10:58   #9
Lecay
Altın Üye
 
Giriş: 03/10/2011
Mesaj: 14
Excel Vers. ve Dili:
Excel 2013 ENG
Varsayılan

Ziynettin hocam harikasın, çok teşekkür ederim
Lecay Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-11-2017, 08:08   #10
Lecay
Altın Üye
 
Giriş: 03/10/2011
Mesaj: 14
Excel Vers. ve Dili:
Excel 2013 ENG
Varsayılan

Ziynettin hocam, 1'den fazla nakliye için makro çalışıyor fakat 1 nakliyede makro çalışmıyor. Neden olabilir sizce ?
Eklenmiş Dosyalar
Dosya Türü: xlsm Book.xlsm (23.4 KB, 7 Görüntülenme)
Lecay Ç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 01:54


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

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden