Gönderen Konu: Web'ten veri alma hakkında  (Okunma sayısı 16031 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı kky11

  • Excelce Onbaşı
  • **
  • İleti: 23
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ibrahim yılmaz
  • İl / İlçe: yalova
  • Mesleğiniz: elektrik
  • Office Versiyonunuz: 2007,2010
Web'ten veri alma hakkında
« : 03 Mayıs 2011, 11:08:48 »
Web'ten veri alma ayarlarından otomatik olarak belirli zaman aralıklarında veri alınması istenildiğinde alınan veriler excel sayfasında hangi hücre seçili ise hep o hücre üzerine alınıyor.
Benim istediğim ise;
Diyelim ki değişken bir web sayfasından 60 dakikada bir veri alma komutu verildiğinde alınan verilerin daha önce alınmış olan verilerin üzerine değil de, mesela alınan verilerin bittiği satırın altından itibaren kaydetmesi.Yani bir önceki aldığı veriyi bozmadan yada saklayarak yeni veriyi de aynı sayfada kaydetmesi.
Konu hakkında yardımcı olabilirseniz sevinirim.
şimdiden teşekkürler..

Çevrimdışı kky11

  • Excelce Onbaşı
  • **
  • İleti: 23
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ibrahim yılmaz
  • İl / İlçe: yalova
  • Mesleğiniz: elektrik
  • Office Versiyonunuz: 2007,2010
Ynt: Web'ten veri alma hakkında
« Yanıtla #1 : 05 Mayıs 2011, 22:05:38 »
Arkadaşlar yukarıya yazdığım sorunumun biraz acil olarak çözmem gerekiyor.Ancak ne denesem de başaramadım.Konu hakkında bilgisi olan arkadaşlar lütfen yardımcı olsun.
kolay gelsin.

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1319
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: Office2013/2016
Ynt: Web'ten veri alma hakkında
« Yanıtla #2 : 05 Mayıs 2011, 23:44:02 »
İbrahim bey, şu şekildeki web'ten veri alma kodları ile dediğiniz şekilde sonuç alabilirsiniz.

Kod: [Seç]
Sub ExcelceVeriAl()
konum = ActiveSheet.Range("A65536").End(3).Row + 2
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.excelce.net/forum/index.php", Destination:=Range("A" & konum))
        .Name = "index"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertEntireRows
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 60
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "3"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    Application.OnTime Now + TimeValue("01:00:00"), "ExcelceVeriAl"
End Sub
=EĞER(EYOKSA("Google Arama");"Belki_Cevap_Burada";"")

Çevrimdışı kky11

  • Excelce Onbaşı
  • **
  • İleti: 23
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ibrahim yılmaz
  • İl / İlçe: yalova
  • Mesleğiniz: elektrik
  • Office Versiyonunuz: 2007,2010
Ynt: Web'ten veri alma hakkında
« Yanıtla #3 : 06 Mayıs 2011, 02:04:14 »
İbrahim bey, şu şekildeki web'ten veri alma kodları ile dediğiniz şekilde sonuç alabilirsiniz.

Kod: [Seç]
Sub ExcelceVeriAl()
konum = ActiveSheet.Range("A65536").End(3).Row + 2
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.excelce.net/forum/index.php", Destination:=Range("A" & konum))
        .Name = "index"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertEntireRows
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 60
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "3"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    Application.OnTime Now + TimeValue("01:00:00"), "ExcelceVeriAl"
End Sub

Bülent bey,
Çok teşekkürler.. İlgilenip makroları yollamışsınız.Ancak ben makroları kullanmayı formül kullanmak kadar kolay olacağını sanmıştım.Malesef öyle değilmiş.
Eğer müsait olabilir iseniz sizden ricam ekte gönderdiğim dosyaya bana yolladığınız makroları yerleştirip tekrar bana göndermeniz.Dosyada biraz açıklama yapmak gereği duydum.Dosyaya 4 ayrı sayfa bulunmakta ve 4 ayrı adresten veri alınacaktır.Her sayfada veri alınacak adresleri belirttim.Sayfa0’ da resim ile de anlatmaya çalıştım.Umarım işinize yarar.
Tüm emekleriniz için çok çok teşekkür ederim.
Kolay gelsin...


[Forum yazılım güncelleme esnasında sorun oluştuğundan eklendi silinmiştir.]

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1319
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: Office2013/2016
Ynt: Web'ten veri alma hakkında
« Yanıtla #4 : 06 Mayıs 2011, 08:42:30 »
İbrahim bey, her link kendi sayfasında alt alta mı devam edecek, yoksa linklerden sırayla veri alınıp tek bir sayfada alt alta mı devam edecek?
Bir de sayfa satır sayısı dolduğunda ne olacak?
=EĞER(EYOKSA("Google Arama");"Belki_Cevap_Burada";"")

Çevrimdışı kky11

  • Excelce Onbaşı
  • **
  • İleti: 23
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ibrahim yılmaz
  • İl / İlçe: yalova
  • Mesleğiniz: elektrik
  • Office Versiyonunuz: 2007,2010
Ynt: Web'ten veri alma hakkında
« Yanıtla #5 : 06 Mayıs 2011, 11:09:58 »
İbrahim bey, her link kendi sayfasında alt alta mı devam edecek, yoksa linklerden sırayla veri alınıp tek bir sayfada alt alta mı devam edecek?
Bir de sayfa satır sayısı dolduğunda ne olacak?
Bülent bey,tekrar teşekkürler...
Her link kendi sayfasında devam edecek ve ben mesela akşam saat 18:00'de makroyu çalıştırırsam o saatte başlayarak makroyu durdur diyene kadar devam edecek(Bunu bir buton ile de yapabiliriz). Sayfa satır sayısı konusunda ise sanırım her saat başı veri alacağından,1 gün boyunca her sayfada en fazla 1000-1500 satır veri birikmesi olacaktır.Ben başka sayfaya koplayıp işlem yaptıktan sonra veri'yi aldığım sayfadaki satırları silersem sorun olur mu? Onu bilemiyorum.Böyle bir sorun oluşmayacak ise benim için sorun olmaz.
kolay gelsin

Çevrimdışı kky11

  • Excelce Onbaşı
  • **
  • İleti: 23
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ibrahim yılmaz
  • İl / İlçe: yalova
  • Mesleğiniz: elektrik
  • Office Versiyonunuz: 2007,2010
Ynt: Web'ten veri alma hakkında
« Yanıtla #6 : 07 Mayıs 2011, 01:18:25 »
Bülent bey,
Şuan' a kadar zahmet verdiğimi biliyorum ancak ben hala ilk gönderdiğiniz makroları kullanamıyorum.Size en son gönderim de anlattığım herhangibir şey olmuyorsa lütfen olduğu kadarını bana yollayın.Yani aldığı verileri alt alta sıralasa dahi bana yetecek.
Bilgilerinize,
Saygılarla

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1319
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: Office2013/2016
Ynt: Web'ten veri alma hakkında
« Yanıtla #7 : 07 Mayıs 2011, 08:45:57 »
İbrahim bey, dosyanızın düzenlenmiş hali ektedir.
Sağlıklı çalışması için internete bağlı olmanız ve dosyanın da açık olması gereklidir.


[Forum yazılım güncelleme esnasında sorun oluştuğundan eklendi silinmiştir.]
=EĞER(EYOKSA("Google Arama");"Belki_Cevap_Burada";"")

Çevrimdışı kky11

  • Excelce Onbaşı
  • **
  • İleti: 23
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ibrahim yılmaz
  • İl / İlçe: yalova
  • Mesleğiniz: elektrik
  • Office Versiyonunuz: 2007,2010
Ynt: Web'ten veri alma hakkında
« Yanıtla #8 : 07 Mayıs 2011, 11:38:26 »
Bülent bey,
Çok çok teşekkürler sanırım dosya tamamen uyumlu çalışacak.ancak bir iki sorum olacak.emin olmak babın da:
diyelim ki: 1-Gelen verilerle işlerim bitti ,eski verileri sildiğimde bu makrolar için sorun olurmu?
2-veriler ne kadar zamanda bir alınıyor(makroya baktığımda reflesh periyot:0 olarak yazıyor)
Benim şuanlık kafama takılanlar bunlar bülent bey.Emekleriniz için ne kadar teşekkür etsem azdır.Umarım bunları ödeyebileceğim bir fırsatım olur.kolay gelsin

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1319
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: Office2013/2016
Ynt: Web'ten veri alma hakkında
« Yanıtla #9 : 07 Mayıs 2011, 13:14:42 »
1-Hepsini sildiğinizde hata verirse A1 hücresine herhangi bir şey yazın, boş bırakmayın.

2-Kendi "refresh" yapmayacak, OnTime komutu ile makro 1 saat aralıklarla çalışıp yeni verileri alacak ve alta yazacak.

Alıntı
Benim şuanlık kafama takılanlar bunlar bülent bey.Emekleriniz için ne kadar teşekkür etsem azdır.Umarım bunları ödeyebileceğim bir fırsatım olur.kolay gelsin
Türkçemize özen göstermeniz yeterlidir benim için.

İyi çalışmalar.
=EĞER(EYOKSA("Google Arama");"Belki_Cevap_Burada";"")

Çevrimdışı kky11

  • Excelce Onbaşı
  • **
  • İleti: 23
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ibrahim yılmaz
  • İl / İlçe: yalova
  • Mesleğiniz: elektrik
  • Office Versiyonunuz: 2007,2010
Ynt: Web'ten veri alma hakkında
« Yanıtla #10 : 07 Mayıs 2011, 21:01:24 »
Bülent bey,
Şuan programı sorunsuz çalıştırabiliyorum.Çok teşekkür ederim.Sağlıcakla kalın..
Saygılarımla.
Kolay gelsin..

Çevrimdışı kky11

  • Excelce Onbaşı
  • **
  • İleti: 23
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ibrahim yılmaz
  • İl / İlçe: yalova
  • Mesleğiniz: elektrik
  • Office Versiyonunuz: 2007,2010
Ynt: Web'ten veri alma hakkında
« Yanıtla #11 : 12 Mayıs 2011, 22:15:28 »
Bülent bey,
Programı kullanırken bir ihtiyaç oluştu.Eğer veri alma zamanımızı(Tarih-saat bilgisi) alınan her verinin satır başına yerleştirebilirsek çok daha kullanışlı olacak.Mesela 13.02.2011 tarihin de saat başı veri alması için programı ayarladık ve dosyayı açık bıraktık.Saat:01:00 de aldığı verilerin başına ya da sonuna 13.02.2011 01:00 bilgisini yerleştirebilir miyiz?
Not:Hazırladığınız dosya ekte'dir.
kolay gelsin...

[Forum yazılım güncelleme esnasında sorun oluştuğundan eklendi silinmiştir.]

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1319
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: Office2013/2016
Ynt: Web'ten veri alma hakkında
« Yanıtla #12 : 15 Mayıs 2011, 05:37:13 »
Kodu şu şekilde değiştirin;

Kod: [Seç]
Sub ExcelceVeriAl()
Dim AktifSayfa As Worksheet
For i = 0 To 3
    sayfam = ("Sayfa" & i)
    Set AktifSayfa = ThisWorkbook.Worksheets(sayfam)
    Sheets(sayfam).Select
    konum = AktifSayfa.Range("A65536").End(3).Row + 2
    With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;http://www.bahisanaliz.com/banaliz_iddaavalue.php?git=od2&bh=" & i, Destination:=AktifSayfa.Range("A" & konum))
    .Name = "banaliz_iddaavalue.php?git=od2&bh=" & i
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "2"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    AktifSayfa.Range("B" & konum).Value = "Veri alış tarihi ve saati: " & FormatDateTime(VBA.Now, vbGeneralDate)
Next i
Application.OnTime Now + TimeValue("01:00:00"), "ExcelceVeriAl"
End Sub

Alıntı
AktifSayfa.Range("B" & konum).Value = "Veri alış tarihi ve saati: " & FormatDateTime(VBA.Now, vbGeneralDate)
Yukarıdaki komut satırını eklemiş olduk. Siz istediğiniz gibi düzenleyebilirsiniz.
=EĞER(EYOKSA("Google Arama");"Belki_Cevap_Burada";"")

Çevrimdışı kky11

  • Excelce Onbaşı
  • **
  • İleti: 23
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ibrahim yılmaz
  • İl / İlçe: yalova
  • Mesleğiniz: elektrik
  • Office Versiyonunuz: 2007,2010
Ynt: Web'ten veri alma hakkında
« Yanıtla #13 : 15 Mayıs 2011, 13:43:07 »
Bülent bey,
Gayet iyi çalışıyor çok teşekkürler.
Kolay gelsin

Çevrimdışı kky11

  • Excelce Onbaşı
  • **
  • İleti: 23
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: ibrahim yılmaz
  • İl / İlçe: yalova
  • Mesleğiniz: elektrik
  • Office Versiyonunuz: 2007,2010
Ynt: Web'ten veri alma hakkında
« Yanıtla #14 : 20 Eylül 2011, 18:33:38 »
Bülent bey,
Uzun zamandır yazdığınız makroları kullanıyorum.Ancak web sayfasında yapılan bir değişiklik nedeniyle makrolardan sonuç alamamaktayım.Değişiklik şöyle:
daha önce 3 veya 4 sayfadan alınan veriler şuan tek sayfada toplanıyor ve sanırım link değişimi nedeniyle verileri alamıyorum.Makrolarda linki değiştirsem de sonuç alamadım.Göz atarsanız sevinirim.Daha önce yazdığınız makro şöyleydi:

Sub ExcelceVeriAl()
Dim AktifSayfa As Worksheet
For i = 0 To 3
    sayfam = ("Sayfa" & i)
    Set AktifSayfa = ThisWorkbook.Worksheets(sayfam)
    Sheets(sayfam).Select
    konum = AktifSayfa.Range("A65536").End(3).Row + 2
    With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;http://www.bahisanaliz.com/banaliz_iddaavalue.php?git=od2&bh=" & i, Destination:=AktifSayfa.Range("A" & konum))
    .Name = "banaliz_iddaavalue.php?git=od2&bh=" & i
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "2"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
    AktifSayfa.Range("B" & konum).Value = "Veri alış tarihi ve saati: " & FormatDateTime(VBA.Now, vbGeneralDate)
Next i
Application.OnTime Now + TimeValue("00:05:00"), "ExcelceVeriAl"
End Sub

Linkin değişmiş hali şudur:
http://www.bahisanaliz.com/banaliz_iddaavalue.php?git=od2
Kolay gelsin.