6 sayfadan 3. sayfa

Cevap: Excel'de toplu sorgulama

İletiTarih: 11 Tem 2018 19:34
feraz
Renksiz olsun derseniz kısa yola bakarız.

Yada Ado ile bir denerim sonra.

Cevap: Cevap: Excel'de toplu sorgulama

İletiTarih: 12 Tem 2018 10:18
melek53
feraz yazdı:Renksiz olsun derseniz kısa yola bakarız.

Yada Ado ile bir denerim sonra.


Renk olayı çok önemli.

Cevap: Excel'de toplu sorgulama

İletiTarih: 12 Tem 2018 10:32
feraz
Yaklaşık kaç satır var dosyada.
Ve kaç aranan sayfa var.

Ado ile yapıyorum bakalım.
Aslında kod mükemmel bence.
Belki dizi içinede alabilirim verileri.
Yavaş öalışan dosyayı yollarsanız daha iyi olur vatan ve millet için :)

Cevap: Cevap: Excel'de toplu sorgulama

İletiTarih: 12 Tem 2018 14:29
melek53
feraz yazdı:Yaklaşık kaç satır var dosyada.
Ve kaç aranan sayfa var.

Ado ile yapıyorum bakalım.
Aslında kod mükemmel bence.
Belki dizi içinede alabilirim verileri.
Yavaş öalışan dosyayı yollarsanız daha iyi olur vatan ve millet için :)

Cevap: Excel'de toplu sorgulama

İletiTarih: 12 Tem 2018 18:25
feraz
Dosyayı kasan kısımlar alttaki kırmızı olanlar.
Bunları en alttaki kod ile değiştirin.
Neden böyle kasıyor bende anlamadım.
Koddaki Z yerini değiştirip deneyebilirsiniz.Ben yeter diye düşündüğüm için Z yazdım.

.Range("G1").Resize(Rows.Count, 10000).ClearContents
.Range("G1").Resize(Rows.Count, 10000).Font.Color = vbBlack


Kod: Tümünü seç
    .Range("G1:Z" & Rows.Count).ClearContents
    .Range("G1:Z" & Rows.Count).Font.Color = vbBlack

Cevap: Excel'de toplu sorgulama

İletiTarih: 12 Tem 2018 18:35
feraz
Yada alttaki 10000 yerine 250 felan yazabilirsiniz.

Kod: Tümünü seç
.Range("G1").Resize(Rows.Count, 10000).ClearContents
.Range("G1").Resize(Rows.Count, 10000).Font.Color = vbBlack

Cevap: Excel'de toplu sorgulama

İletiTarih: 12 Tem 2018 21:23
feraz
ADO ilede yaptım tabii renk olayına girmedim.

Hızı test edebilirsiniz.Önceki mesajımdakileri uygulamayı unutmayın.

Kod: Tümünü seç
Private Sub CommandButton1_Click()

Dim rng As Range, arr
Dim con As Object
Dim rs As Object

Set con = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

  con.Open "Provider=Microsoft.Ace.Oledb.12.0;Data Source=" & ThisWorkbook.FullName & ";" & _
    "Extended Properties=""Excel 12.0;Hdr=no"""
   
     arr = Array("[Sayfa1$A2:B65536]", "[Sayfa2$A2:B65536]")

Application.ScreenUpdating = False

With Sheets("Sayfa1")
    .[G:XFD] = Empty

For ii = LBound(arr) To UBound(arr)

    For Each rng In .Range("F1:F" & .Cells(Rows.Count, "F").End(3).Row)
        Sql = "select f1 from " & arr(ii) & " where f2 =" & rng.Value & ""
    On Local Error Resume Next
        rs.Open Sql, con
        aa = rs.GetRows
        .Range(.Cells(rng.Row, .Cells(rng.Row, Columns.Count).End(xlToLeft).Column + 1).Address).Resize(1, UBound(Application.Transpose(aa))) = aa
        rs.Close
       Erase aa
       
    Next

Next

End With
Application.ScreenUpdating = True

Set rng = Nothing: adres = vbNullString: Sql = vbNullString: Erase arr

con.Close
Set rs = Nothing: Set con = Nothing

End Sub

Cevap: Excel'de toplu sorgulama

İletiTarih: 13 Tem 2018 02:29
gurbuzoglu
Arkadaşlar Ekteki dosyadaki veri sayfası müşteriden sipariş olarak gelmekte. Ekli dosyadaki plan sayfasını ise ben manuel olarak hazırlıyorum. Plan sayfasını veri sayfası malzeme koduna göre filtrelenip kalan bakiye miktarları güncel teslim tarihine göre nasıl hazırlanabilir.

Şimdiden teşekkürler.

Cevap: Excel'de toplu sorgulama

İletiTarih: 13 Tem 2018 02:32
gurbuzoglu
Arkadaşlar Ekteki dosyadaki veri sayfası müşteriden sipariş olarak gelmekte. Ekli dosyadaki plan sayfasını ise ben manuel olarak hazırlıyorum. Plan sayfasını veri sayfası malzeme koduna göre filtrelenip kalan bakiye miktarları güncel teslim tarihine göre nasıl hazırlanabilir.

Şimdiden teşekkürler.

Cevap: Excel'de toplu sorgulama

İletiTarih: 13 Tem 2018 07:22
feraz
Merhaba.
Forumda yeni olduğunuz için bilmiyorsunuz.
Konuyu yeni konu başlığında açınız.

Cevap: Cevap: Excel'de toplu sorgulama

İletiTarih: 13 Tem 2018 14:37
melek53
feraz yazdı:Yada alttaki 10000 yerine 250 felan yazabilirsiniz.

Kod: Tümünü seç
.Range("G1").Resize(Rows.Count, 10000).ClearContents
.Range("G1").Resize(Rows.Count, 10000).Font.Color = vbBlack

Eline sağlık tam istediğim gibi olmuş.
Arama butonunun yerini nasıl değiştireceğim? Yapamadım.

Birşey daha istesem ayıp olurmu?
f g h
415968 1 16127
415967 2


çıkan sonuçların içindeki verilerin(g1,g2,... h1,h2.....) üzerine tıklayınca bulunduğu sütuna gitsin

Cevap: Excel'de toplu sorgulama

İletiTarih: 13 Tem 2018 15:00
feraz
Rica ederim.
Butonun yerini değiltirmek için tasarım moduna geçmelisiniz.İnternette çıkar arayınca.Bulamazsanız resim atarım.

Tıklayınca istenilen yere gitme olayı için ise eğer birden fazla veri aynı olursa hangi sayfada olduğunu nasıl anlayacak kod bunu düşünmek gerek.Yinede uğraşırım.

Cevap: Excel'de toplu sorgulama

İletiTarih: 13 Tem 2018 15:03
feraz
https://support.office.com/tr-tr/articl ... d326e53918

Bunu okuyunuz.

Kodlar modül içinede alınabilir istiyorsanız.

Cevap: Excel'de toplu sorgulama

İletiTarih: 13 Tem 2018 20:46
feraz
F sütunu ve sağındaki sütunlara çizgileri eklettim.

Eğer birden fazla bulunursa, ekrana listbox gelir ve ordaki seçime göre veri aranan seçilir.Ve aranan satıra gider.

Bulunduğu satıra gitmek için hücreye çiftt tıklamanız yeterli.

Not: .Range("G1").Resize(Rows.Count, 10000).ClearContents bunda yavaşlama oluyordu.
sanırım bu dosya ile alakalı.Başka dosyada denedim anında işlem yapıyor.10000 demek G1 den 10000 sütun sağına kadarki alan demektir.Sizin dosyaya 250 yazmanız yeterli heralde bir satırda 250 tane veri bulunmaz.

Cevap: Excel'de toplu sorgulama

İletiTarih: 14 Tem 2018 00:23
feraz
Bu arada bu Sayfa1 de bir gariplik var çözemedim olayı.

Size tavsiyem Sayfa1 i silip tekrar sayfa1 adında sayfa açak yada başka sayfa adı veemek ve koddaki sayfa1 yerlerinide değiştirmek.

Yani daha önceki yavaşlamaya sebep olan koddaki 10000 olayı sadece bu Sayfa1 i yavaşlatıyor.
Onuda geçtik tüm sayfayı seçmek bile uzuyorda uzuyor.

Fakat kodşar muazzam çalışıyor.Sanırım artık forumda kendi kendime rakip olacağım kod yazmada :)

Cevap: Excel'de toplu sorgulama

İletiTarih: 20 Tem 2018 14:26
melek53
Emeğinize sağlık.Çok güzel olmuş
Sizden bir yardım daha istesem,
Ara dediğimizde sonuçları G1,H1.... gösteriyor.
G1,H1..... gösterdiği hücreye tıklayınca bulunduğu hücredeki değerin yazı tipi rengini kırmızı yapmasını sağlayabilirmiyiz.

Cevap: Excel'de toplu sorgulama

İletiTarih: 20 Tem 2018 14:48
feraz
Rica ederim,akşam denerim inşAllah.

Hangi kodları kullanıyotsunuz?
Ado mu yoksa diğeri mi?
Ado ise o iş zor diğeri ise kolay.Diğer kod ise sadece bir koda bir satır ekleme yapılabilir.

Cevap: Excel'de toplu sorgulama

İletiTarih: 20 Tem 2018 18:36
melek53
Hangisini kullandığımı bilmiyorum.
Kullandığımı ekledim.

Cevap: Excel'de toplu sorgulama

İletiTarih: 20 Tem 2018 20:43
feraz
Sub kess(kes1) kodundaki ActiveSheet.Range(kes(3)).Select satırının altına alttaki kodu ekleyiniz.

Kod: Tümünü seç
ActiveSheet.Range(kes(3)).Font.Color = vbRed

Cevap: Cevap: Excel'de toplu sorgulama

İletiTarih: 21 Tem 2018 12:57
feraz
feraz yazdı:Sub kess(kes1) kodundaki ActiveSheet.Range(kes(3)).Select satırının altına alttaki kodu ekleyiniz.

Kod: Tümünü seç
ActiveSheet.Range(kes(3)).Font.Color = vbRed


Koddaki If Target.Column >= 7 Then yerine If Target.Column >= 7 And Target.Value <> "" Then ekleyiniz.
Boş hücrelere çift tılayınca listboxtta gösterimesin ve kod gereksiz yere çalışmasın.

Kod Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) bunun içinde.