[Yardım]  Dış veri alma ve derleme hk.

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Dış veri alma ve derleme hk.

İleti#1)  talebeyim » 06 Arl 2022 00:14

Arkadaşlar Dış veri alma yöntemiyle bir çalışma yapıyorum.
Makroyu çalıştırdığımda;
1. Table2 sayfasındaki dış veri bağlantısını güncelleyecek.
2. Data sayfasında C sütunun altta kalan kısmına kopyalayacak.
3. A Sütununa sıra numarası B sütununa ise O günü tarihini yazacak.

Bu şekilde bir çalışma hakkında yardımcı olabilir misiniz?
Teşekkür ederim.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
talebeyim
Siteye Alışmış
 
Adı Soyadı:mustafa sen
Kayıt: 24 Haz 2008 22:25
Meslek: Özel Sektör
Yaş: 46
İleti: 127
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: konya

Yıllık Maaş Bordrosu Hesaplama 2022

Cevap: Dış veri alma ve derleme hk.

İleti#2)  Tarkan VURAL » 07 Arl 2022 02:50

Merhaba,
Şu kodları hazırladım, deneyebilirsiniz.

Kod: Tümünü seç
Sub Guncelle()
With Sheets("Table 2")
son = Sheets("Data").Range("a65536").End(3).Row
    .Range("a1").ListObject.QueryTable.Refresh
    .Range("a2:f" & .Range("F65536").End(3).Row).Copy
    With Sheets("Data")
        .Range("c65536").End(3)(2, 1).PasteSpecial xlPasteValues
        .Select
        .Range("a" & son - 1 & ":a" & son).Select
        son2 = .Range("c65536").End(3).Row
        Selection.AutoFill Destination:=.Range("a" & son - 1 & ":a" & son2)
        .Range("b" & son + 1 & ":b" & son + 2).Value = Date
        .Range("b" & son + 1 & ":b" & son + 2).Select
        Selection.AutoFill Destination:=.Range("b" & son + 1 & ":b" & son2)
    End With
End With
End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ?
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 49
İleti: 27674
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Cevap: Dış veri alma ve derleme hk.

İleti#3)  talebeyim » 08 Arl 2022 17:39

Tarkan VURAL yazdı:Merhaba,
Şu kodları hazırladım, deneyebilirsiniz.

Kod: Tümünü seç
Sub Guncelle()
With Sheets("Table 2")
son = Sheets("Data").Range("a65536").End(3).Row
    .Range("a1").ListObject.QueryTable.Refresh
    .Range("a2:f" & .Range("F65536").End(3).Row).Copy
    With Sheets("Data")
        .Range("c65536").End(3)(2, 1).PasteSpecial xlPasteValues
        .Select
        .Range("a" & son - 1 & ":a" & son).Select
        son2 = .Range("c65536").End(3).Row
        Selection.AutoFill Destination:=.Range("a" & son - 1 & ":a" & son2)
        .Range("b" & son + 1 & ":b" & son + 2).Value = Date
        .Range("b" & son + 1 & ":b" & son + 2).Select
        Selection.AutoFill Destination:=.Range("b" & son + 1 & ":b" & son2)
    End With
End With
End Sub


Tarkan bey Çok çok teşekkür ederim Yine sizden nokta atışı.
Kullanıcı avatarı
talebeyim
Siteye Alışmış
 
Adı Soyadı:mustafa sen
Kayıt: 24 Haz 2008 22:25
Meslek: Özel Sektör
Yaş: 46
İleti: 127
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: konya

Cevap: Cevap: Cevap: Dış veri alma ve derleme hk.

İleti#4)  talebeyim » 08 Arl 2022 17:53

talebeyim yazdı:
Tarkan VURAL yazdı:Merhaba,
Şu kodları hazırladım, deneyebilirsiniz.

Kod: Tümünü seç
Sub Guncelle()
With Sheets("Table 2")
son = Sheets("Data").Range("a65536").End(3).Row
    .Range("a1").ListObject.QueryTable.Refresh
    .Range("a2:f" & .Range("F65536").End(3).Row).Copy
    With Sheets("Data")
        .Range("c65536").End(3)(2, 1).PasteSpecial xlPasteValues
        .Select
        .Range("a" & son - 1 & ":a" & son).Select
        son2 = .Range("c65536").End(3).Row
        Selection.AutoFill Destination:=.Range("a" & son - 1 & ":a" & son2)
        .Range("b" & son + 1 & ":b" & son + 2).Value = Date
        .Range("b" & son + 1 & ":b" & son + 2).Select
        Selection.AutoFill Destination:=.Range("b" & son + 1 & ":b" & son2)
    End With
End With
End Sub


Tarkan bey Çok çok teşekkür ederim Yine sizden nokta atışı.


Tarkan bey bir yeri atlamışım. Oda şu eğer dataya aktaracağımız tarih orada var ise,
dış veri ile aldığımız bilgilerin üzerine yazmalı.

Örnek veriyorum.

Hisse senetlerinin fiyatlarını iki kere çekersek "Bu veriler daha önce çekildi, Üzerine yazmak istediğine emin misin gibi diyerek" en son yazdığını üzerine yazmalı.
[TESEKKÜR]
Kullanıcı avatarı
talebeyim
Siteye Alışmış
 
Adı Soyadı:mustafa sen
Kayıt: 24 Haz 2008 22:25
Meslek: Özel Sektör
Yaş: 46
İleti: 127
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: konya

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Dış veri alma ve derleme hk.

İleti#5)  Tarkan VURAL » 08 Arl 2022 22:52

Merhaba,
CalculateUntilAsyncQueriesDone özelliği ile Dış Veri Al yöntemiyle alınan tablo verileri güncellemesi bittikten sonra diğer kodlar devam edecek. Bazen tablo tamamlanmadan önce kopyalamaya geçiliyordu.

Kod: Tümünü seç
Sub Guncelle()
With Sheets("Table 2")
son = Sheets("Data").Range("a65536").End(3).Row
    .Rows("4:" & .Range("F65536").End(3).Row).Delete
    .Range("a1").ListObject.QueryTable.Refresh
    Application.CalculateUntilAsyncQueriesDone
        Set bul = Sheets("Data").Range("b2:B" & son).Find(What:=Date, lookat:=xlWhole)
        If Not bul Is Nothing Then
        cevap = MsgBox(Date & " tarihinde veriler daha önce çekilmiş." & vbNewLine & _
        "Üzerine yazılsın mı ? ", vbYesNo + vbQuestion, "EVN")
            If cevap = vbYes Then
            sil = Sheets("Data").Range("b65536").End(3).Row
                For x = sil To bul.Row Step -1
                    DoEvents
                    Sheets("Data").Rows(x).Delete
                Next x
            Else
                Exit Sub
            End If
        End If
        .Range("a2:f" & .Range("F65536").End(3).Row).Copy
        With Sheets("Data")
            .Select
            .Range("c65536").End(3)(2, 1).PasteSpecial xlPasteValues
            son = Sheets("Data").Range("a65536").End(3).Row
            .Range("a" & son - 1 & ":a" & son).Select
            son2 = .Range("c65536").End(3).Row
            Selection.AutoFill Destination:=.Range("a" & son - 1 & ":a" & son2)
            .Range("b" & son + 1 & ":b" & son2).Value = Date
        End With

End With
End Sub


Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ?
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 49
İleti: 27674
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Bing[Bot] ve 0 misafir

Bumerang - Yazarkafe