"Dış Veri Al" Özelliği

Katılım
10 Aralık 2005
Mesajlar
2
"Dış Veri Al" özelliği

Forumda ilk kez yazıyorum... :hey:

Bilgilendirici bir forum...


Başta Admin'ler olmak üzere emeği geçen tüm forumcuları tebrik ederek soruma geçiyorum...

Biliyorsunuz excelin "Dış Veri Al" özelliği mevcut...
Bu bir linkde olabilir...

şimdi:

İki çalışma sayfamız olduğunu varsayalım...
Birinci çalışma sayfamıza, bilgilerini alacağımız internet sitesini tanımlayarak, excelin bu vermiş olduğumuz linkden 1 dk. da bir güncelleyerek bilgi aldığını düşünün...
İkinci çalışma sayfamızda da, 1. sayfadan sadece belli bölümleri almak istiyoruz...

Yine diyelim ki:
1. çalışma sayfasının A1 hücresinde tarih, B1 hücresinde saat ve C1 hücresinde de bir haber metni var...

Birinci çalışma sayfamızdaki tüm veriler, dış veri al sayesinde 1 dk.da bir güncellendiğinden A1, B1 ve C1 hücrelerinin içeriği de 1 dk. da bir değişecektir haliyle...
(Excele vermiş olduğumuz sitenin linki daha uzun sürede güncelleniyorsa süre farklı olacaktır elbet)

2. çalışma sayfamıza ise bu 1. çalışma sayfasındaki değişen A1, B1 ve C1 hücrelerindeki bilgileri alt alta yazdırmak istiyoruz...Amacımız bu...

Nasıl bir yöntem izlemeliyiz ki;
1. çalışma sayfasındaki A1, B1 ve C1 içerikleri değişmesine rağmen; 2. çalışma sayfamızda alt alta döküman halinde bu haberleri alabilelim?

1. çalışma sayfamızdan örnek:
A1 = 10.12.2005 B1 = 12:00 C1 = 1. haber
Dış Veri Al özelliği güncellemesini yaptıktan sonraki hücre içeriği
A1 = 10.12.2005 B1 = 12:10 C1 = 2. haber
Yine Dış Veri Al özelliği güncellemesini yaptıktan sonraki hücre içeriği
A1 = 10.12.2005 B1 = 12:20 C1 = 3. haber
vs. vs.

2. çalışma sayfamızdan örnek:
A1 = 10.12.2005 B1 = 12:00 C1 = 1. haber
A2 = 10.12.2005 B2 = 12:10 C2 = 2. haber
A3 = 10.12.2005 B3 = 12:20 C3 = 3. haber
vs. vs.

Başlangıçta EĞER komutunu kullanarak tarih ve saat için bazı formüller yapmaya çalıştım ancak 1. çalışma sayfasındaki hücre değerleri değiştiği için, 2. çalışma sayfasındaki hücre değerlerini sabitleyemedim...

Konu hakkında bilgisi olan forumcuların yardımını rica ediyorum...

şimdiden teşekkürü bir borç bilirim...

Saygılarımla,
-KAYA.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Merhaba

Öncelikle uzun olmasına rağmen son derece açıklayıcı sorunuz nedeniyle sizi tebrik ediyorum. Sorunuzun cevabına gelince bu istediğinizi formüllerle yapamazsınız, bu sebeple vba kullanmak gerekir. Aşağıdaki kodu sayfa1 in kod sayfasına kopyalayın. Sayfa1 deki veri değiştiğinde Sayfa2'ye veriler altalta aktarılacaktır. Sayfa1'in kod sayfasına gitmek için sayfa adı üzreinde sağ-klik sonrada kod görüntüleyi tıklayın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Set s1 = Sheets("sayfa2")
say = WorksheetFunction.CountA(s1.[a1:a65536]) + 1
s1.Cells(say, "a") = [a1]
s1.Cells(say, "b") = [b1]
s1.Cells(say, "c") = [c1]
End Sub
 
Katılım
10 Aralık 2005
Mesajlar
2
Teşekkür ederim Leventm...

Bu işin bu kadar basit olacağı aklıma gelmemişti inanın... :bravo:

VBA bilimin zayıflığını daha iyi anlatamam sanırım... :oops:



s1.Cells(say, "c") = [c1]



satırının altına, ilave sütun değerleri ekleyip biraz daha geliştirerek kendi amacıma uygun hale getirdim...

s1.Cells(say, "d") = [d1]
s1.Cells(say, "e") = [e1]
s1.Cells(say, "f") = [f1]
....
....
vs. vs. gibi...

Her şey için tekrar teşekkürü bir borç bilirim... :hey:
 
Üst