• DİKKAT

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

Formlardan veri çekmek..

Katılım
12 Aralık 2011
Mesajlar
84
Excel Vers. ve Dili
2007 / Türkçe
Merhaba,

Ekte yer alan veride X ve Y formlarından makro ile verileri çekmek , bundan 1-2 ay önce buna benzer bir soru daha sormuştum. Korhan Ayhan saolsun cevaplamıştı. Fakat ekte olan gerçekten zor ötesi ciddi bir soru olduğunu düşünüyorum. en azından bence hakikaten zor.

Soru olarak farklı bir boyut olduğu için farklı bir isim altında sormak istedim. Bir çok arkadaşımında yararlanacağını düşünüyorum.

Şimdiden altın beyinler için çok teşekkür ederim.
 

Ekli dosyalar

Merhaba,

Tablonuzu inceledim. Çok düzensiz bir veri yapısı var. Bu sebeple makro ile çözümler üretilebilir. Fakat tablodaki en ufak bir değişiklik makronun yeniden derlenmesi anlamına gelmektedir. Bu da oldukça zahmetli bir iş anlamına gelmektedir. Bu sebeple verilerinizi sorgulanabilecek bir yapıda oluşturup daha sonra sorgulamanızı tavsiye ederim.
 
Korhan Hocam, aynen dediğin gibi belkide her satırına teker teker gidilmesi gerekecek. Fakat yıllardır format aynı sanırım bundan sonrada uzunca değişemeyecek.

1-2 ay önce senden öğrendiğim veri çekmeği ben yaklaşık 4-5 formda oyguladım daha uzun ve oda düzensiz di çalıştı. Bunuda aynı şekilde yapıp mantığını iyice anladıktan sonra şayet değişiklik olduğunda yapabilecek konuma geleceğim.

Yardımlarınızı ciddi anlamda talep ediyorum.

Ayhan Hocam yazmayı unutmuştum. Kırmızı çizgiler 1. 2. sayfa anlamına gelmekte aslına bakarsanız sayfa sayfa yapmak daha mantıklı geliyor. Şayet ileride yapılacak değişiklik daha kolay düzeltilebilir konuma gelebilir diye düşünüyorum.

Saygılarımla emeğiniz için şimdiden çok teşekkür ederim.
 
Üstadlar hakikaten uğraştırıcı bir soru ve karışık olduğunu kesinlikle kabul ediyorum. Bu formun oluşturulması ve bu şekilde işlemesi en büyük handikabım.

O yüzden yardımlarınızı bekliyorum.

Saygılarımla , emeğiniz için Teşekkür ederim.
 
...Günceldir, Arkadaşlar...

Teşekkürler
 
Günaydın Arkadaşlar

23 Görüntülenme var fakat Korhan Hocamdan başka yorum yapan yok. Önem arz ettiği için devamlı yardımlarınızı talep ediyorum.

Farklı çözümlere de açığım, yardımlarınızı bekliyorum.

Teşekkür ederim emeğiniz için.
 
Merhaba,

Önceki mesajımda belirttiğim gibi tablo yapınız çok düzensiz. Bu sebeple kimsecikler bulaşmak istemiyor. Bugün işlerim yoğun. Akşama doğru belki vakit bulabilirsem en azından tablonuzun ilk bloğunu aktaracak kodları yazabilirim.
 
Hocam çok teşekkür ederim. Kesinlikle size katılıyorum, fakat bu form yaklaşık olarak 10-15 yıldır aynı form birden değiştirmek demek sıkıntı yaşatabilir.

Sayfa sayfa kodlama yapılması daha doğru olacak gibi görünüyor. Dediğiniz gibi yarın olabilecek değişiklik kod kısmında da kolayca halledilir durumda olabilir.

Tekrar emeğiniz için Teşekkür ederim.
 
ben boyle bır sablon calısması gormedım bılmedım duymadım..
 
Merhaba,

Korhan Hocam, Formun hepsinin bitmesi için aciliyet önemli değildir, 1 hafta içinde tamamlayabilirseniz, minnettar kalırım.

Bende formüllü çözüm arayışındayım. Gün boyunca sitedeyim. Takibinizdeyim :)

Saygılarımla,Tekrar teşekkür ederim.
 
Merhaba,

12. satırda aşağıdaki ifade neye göre oluşacak...

Kırmızı renkli değer bir yerde görünmüyor. Formül içinde kullanmışsınız. Bu değer neye göre hücreye eklenecek.

Ayrıca bazı satırlarda bu kırmızı değerler hiç geçmiyor. Sebebi nedir?

DIŞARIDAKİLER / DURUM / ŞAMPİYON / 5000 mm / FB / SENCE
 
Şimdilik aşağıdaki kodu kullanabilirsiniz. Henüz tüm aralıkları bitirmedim. Bu kodu deneyin. Olmayan yerlerini düzeltiriz.

Kod:
Option Explicit
Sub AKTAR()
    Dim X, Y, Satir, Veri
    
    Satir = 12
    
    For X = 12 To 40
        If Cells(X, "M") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            Cells(Satir, "W") = Range("F10") & " / " & Cells(X, "G") & " / " & Range("G10") & " / " & Range("K10") & " / " & Range("L10") & " / " & Range("N9")
            Cells(Satir, "X") = Cells(X, "M")
            Satir = Satir + 1
        End If
    Next
    For X = 44 To 62
        If Cells(X, "M") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            Cells(Satir, "W") = Range("F42") & " / " & Cells(X, "G") & " / " & Range("M64") & " / " & Range("O64")
            Cells(Satir, "X") = Cells(X, "M")
            Satir = Satir + 1
        End If
    Next
    For X = 65 To 70
        If Cells(X, "M") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            For Y = 15 To 19
                If Cells(X, Y) = "X" Then
                    Veri = IIf(Veri = "", Cells(64, Y), Veri & " / " & Cells(64, Y))
                End If
            Next
            Cells(Satir, "W") = Range("F65") & " / " & Cells(X, "G") & " / " & Range("M64") & " / " & Veri
            Cells(Satir, "X") = Cells(X, "M")
            Satir = Satir + 1
        End If
    
        Veri = ""
    
        If Cells(X, "N") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            For Y = 15 To 19
                If Cells(X, Y) = "X" Then
                    Veri = IIf(Veri = "", Cells(64, Y), Veri & " / " & Cells(64, Y))
                End If
            Next
            Cells(Satir, "W") = Range("F65") & " / " & Cells(X, "G") & " / " & Range("N64") & " / " & Veri
            Cells(Satir, "X") = Cells(X, "N")
            Satir = Satir + 1
        End If
    Next
    For X = 71 To 76
        If Cells(X, "M") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            For Y = 15 To 19
                If Cells(X, Y) = "X" Then
                    Veri = IIf(Veri = "", Cells(64, Y), Veri & " / " & Cells(64, Y))
                End If
            Next
            Cells(Satir, "W") = Range("F71") & " / " & Cells(X, "G") & " / " & Range("M64") & " / " & Veri
            Cells(Satir, "X") = Cells(X, "M")
            Satir = Satir + 1
        End If
    
        Veri = ""
    
        If Cells(X, "N") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            For Y = 15 To 19
                If Cells(X, Y) = "X" Then
                    Veri = IIf(Veri = "", Cells(64, Y), Veri & " / " & Cells(64, Y))
                End If
            Next
            Cells(Satir, "W") = Range("F71") & " / " & Cells(X, "G") & " / " & Range("N64") & " / " & Veri
            Cells(Satir, "X") = Cells(X, "N")
            Satir = Satir + 1
        End If
    Next
    
    For X = 78 To 83
        If Cells(X, "M") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            Cells(Satir, "W") = Cells(X, "F") & " / " & Cells(X, "K") & " / " & Cells(X, "L") & " / " & Range("M77")
            Cells(Satir, "X") = Cells(X, "M")
            Satir = Satir + 1
        End If
    
        If Cells(X, "N") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            Cells(Satir, "W") = Cells(X, "F") & " / " & Cells(X, "K") & " / " & Cells(X, "L") & " / " & Range("N77")
            Cells(Satir, "X") = Cells(X, "N")
            Satir = Satir + 1
        End If
    Next
    
    For X = 85 To 86
        If Cells(X, "L") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            Cells(Satir, "W") = Range("F85") & " / " & Cells(X, "G") & " / " & Cells(X, "J")
            Cells(Satir, "X") = Cells(X, "L")
            Satir = Satir + 1
        End If
    
        If Cells(X, "M") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            Cells(Satir, "W") = Range("F85") & " / " & Cells(X, "G") & " / " & Range("M84")
            Cells(Satir, "X") = Cells(X, "M")
            Satir = Satir + 1
        End If
    Next
    
    For X = 87 To 88
        If Cells(X, "L") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            Cells(Satir, "W") = Range("F87") & " / " & Cells(X, "G") & " / " & Cells(X, "J")
            Cells(Satir, "X") = Cells(X, "L")
            Satir = Satir + 1
        End If
    
        If Cells(X, "M") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            Cells(Satir, "W") = Range("F87") & " / " & Cells(X, "G") & " / " & Range("M84")
            Cells(Satir, "X") = Cells(X, "M")
            Satir = Satir + 1
        End If
    Next
    
    For X = 89 To 90
        If Cells(X, "L") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            Cells(Satir, "W") = Range("F89") & " / " & Cells(X, "G") & " / " & Cells(X, "J")
            Cells(Satir, "X") = Cells(X, "L")
            Satir = Satir + 1
        End If
    
        If Cells(X, "M") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            Cells(Satir, "W") = Range("F89") & " / " & Cells(X, "G") & " / " & Range("M84")
            Cells(Satir, "X") = Cells(X, "M")
            Satir = Satir + 1
        End If
    Next
    
    For X = 91 To 97
        If Cells(X, "M") > 0 Then
            Cells(Satir, "V") = Cells(X, "B")
            If X = 94 Then
                Cells(Satir, "W") = Cells(X, "F") & " / " & Cells(X, "K") & " / " & Cells(X, "N")
            Else
                Cells(Satir, "W") = Cells(X, "F") & " / " & Cells(X, "K")
            End If
            Cells(Satir, "X") = Cells(X, "M")
            Satir = Satir + 1
        End If
    Next
    MsgBox "İşleminizin bir bölümü tamamlanmıştır.", vbInformation
End Sub
 
Günaydın,

Korhan Hocam veri sayfasından b3 satırında X veya Y seçeneği seçildiğinde oradki özel durumlar "" FB / SENCE "" ortaya çıkıyor.

Hocam bunlar malzemenin özelliklerini ortaya koyuyor, o yüzden onlarında yazması gerekmekte,
İlk sayfayı ben şuan deneyeceğim, Korhan Hocam, aciliyeti yok 1 hafta içinde tamamlayabilirsek çok güzel olacak.

Hocam emeğin için gerçektençok teşekkür ederim.

Saygılarımla
 
Korhan Hocam,

Şimdi inceledim, sanırım tam çalışmıyor.

K20:L28 ve J32:L39 - İÇİNDEKİLER kısmında S1 yazısını her zaman alıyor. Diğer taraflarda birsey görmedim.

Saygılarımla.
 
Merhaba,

Eklemiş olduğunuz örnek dosyada "X" seçili olmasına rağmen "FB" değeri tablonuzda gözükmüyor. Ve siz yandaki (sarı alan) alanda "X" değeri için bu şekilde tablo çıkmalı demişsiniz. Bu tabloda da "FB" değerini göstermişsiniz. Bir çelişki yok mu?
 
Merhaba,

Aynen hocam, çelişki mevcuttur, hata yapmışım. X olduğunda olmaması gerekiyordu.

Saygılarımla,
 
Merhaba,

Korhan Hocam, bende formülle çözüm arayışındayım.Formülde & simgesi kullanıldığından sayı 0 olsa dahi onlarıda alıyor. Formül olarak bunu nasıl engelleyebiliriz.

Makro çalışmanızı da hergün girerek kontrol ediyorum.

Tarafımca önemli bir durumdur, sizede bu konuda tarafıma yardımcı olduğunuz içinde çok teşekkür ederim.

Emeğiniz için ayrı Teşekkür ederim.

Saygılarımla
 

Ekli dosyalar

Ayhan Hocam,

Saygılarıımı sunarak formun diğer kalan yarısınıda devam etmenizi en içten duygularımla rica ediyorum.

GÜNCEL...

Teşekkür ederim.
 
Gündeme getirmek için yazıyorum.

Korhan Hocam Yardımlarını bekliyorum.

Saygılarımla, Günceldir.
 
Geri
Üst