• Merhaba Ziyaretçi,
    Microsoft 365 Uygulamaları ile ilgili yeni haberler, dikkat çekici konular, ilgi ile takip edeceğiniz yazılar için.

    Abone Olun
  • ESTE - Microsoft Office Eğitimleri

    Yeni yıl Microsoft Office Eğitim planlarınız için bütçenizi oluşturmadan önce ESTE eğitim kalitesi ile tanışın. 🙌
    Kullanıcıların ihtiyacı olan yazılı materyal, dosya ve video kaynağı desteğimiz ile tüm ofis çalışanlarının iş süreçlerini rahatlatacak eğitimler planlayın. 🎯
    Microsoft Office eğitimlerimiz hakkında detaylı bilgi için bize ulaşın.

    👉 Microsoft Office Eğitim Talebi

Yardım GÜNCELLENEN CANLI VERİLERİN LİSTE OLARAK SAKLANMASI

han demir

Yeni Üye
Katılım
10 Kas 2020
Mesajlar
7
En iyi yanıt
0
Puanları
1
Yaş
44
Konum
istanbul
Ad Soyad
han cem demir
Office Vers.
Office 2016 TR
Değerli ARKADAŞLAR;
E4 K4 arası hücrelere, netden, "Sorgu Gönderme" ve "api kodu" ile canlı veri çekiyorum.
Sorgu yenilenme aralığı, 1 yada 5 dakika.
Doğal olarak, E4 K4 arası hücrelerdeki veriler, her güncellenmede yenisi ile değişiyor.
Fakat benim Excel üzerinde analiz ve emir geliştirebilmem için verilerin listeli bir şekilde saklamam lazım.
Yani, E4 K4 arası her güncellemeyi, bir nevi alt alta "kopyala yapıştır" yapmam gerekli.
Tabiki bunu manuel olarak yapmak mümkün ama mantıksız.
C VE D sütunlarını, güncellemeyi başlatmadan önce manuel olarak dolduruyorum, çünkü hangi gün yada saat de işlem yapacağım belli olmayacak.
Sonuç olarak,
1.Uygun olduğum bir gün ve saat aralığı belirleyip, C ve D sütunlarını doldurdan sonra,
2.İlgili Excel dosyamı açıp, önce güncellemeyi etkinleştirmeli,
3.Daha sonra, E4 K4 aralığındaki veriler her güncellendiğinde E7 K1000 arasına "kopyala yapıştır" şeklinde saklamayı etkinleştirmeliyim.
NOT: Büyük ihtimal ile bu soru MAKRO ile çözülecektir. Eğer MAKRO yu çalıştırmam için B4 deki değer değiştiriyi kullanırsanız çok iyi olur.
Şimdiden EMEK VE İLGİNİZ için teşekkürlerimi sunarım.
Han Cem DEMİR.
 

Ekli dosyalar

  • listeleme.xlsx
    22.1 KB · Görüntüleme: 3

omer1957

Yeni Üye
Katılım
14 Nis 2023
Mesajlar
7
En iyi yanıt
0
Puanları
3
Yaş
66
Konum
Muğla
Ad Soyad
Ömer Kırmızı
Office Vers.
2007-2013
Listenin bulunduğu sayfanın, kod sayfasına yapıştırın. her güncellemede kayıt listeye eklenecektir
Kod:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
son = Range("B" & Rows.Count).End(3).Row
sıra = Range("B" & son)
Range("B" & son + 1).Value = sıra + 1
Range("C" & son + 1).Value = Date
Range("D" & son + 1).Value = Time
Range("E4:K4").Copy Range("E" & son + 1)
End Sub
 

omer1957

Yeni Üye
Katılım
14 Nis 2023
Mesajlar
7
En iyi yanıt
0
Puanları
3
Yaş
66
Konum
Muğla
Ad Soyad
Ömer Kırmızı
Office Vers.
2007-2013
Yada "E4:K4" aralığı devamlı seçili olsun
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$4:$K$4" Then
son = Range("B" & Rows.Count).End(3).Row
sıra = Range("B" & son)
Range("B" & son + 1).Value = sıra + 1
Range("C" & son + 1).Value = Date
Range("D" & son + 1).Value = Time
Range("E4:K4").Copy Range("E" & son + 1)
End If
End Sub
 

omer1957

Yeni Üye
Katılım
14 Nis 2023
Mesajlar
7
En iyi yanıt
0
Puanları
3
Yaş
66
Konum
Muğla
Ad Soyad
Ömer Kırmızı
Office Vers.
2007-2013
Denemeden cevaplamıştım. Yukarıdaki kodları, otomatik güncellenmesi için önermiştim ama tetikleyiciler sorunlu.
Aşağıdaki kodu bir düğmeye filan bağlayın.
Kod:
Sub Makro1()
  Range("E4").ListObject.QueryTable.Refresh BackgroundQuery:=False
son = Range("B" & Rows.Count).End(3).Row
sıra = Range("B" & son)
Range("B" & son + 1).Value = sıra + 1
Range("C" & son + 1).Value = Date
Range("D" & son + 1).Value = Format(Time, "hh:mm")
Range("E4:K4").Copy
Range("E" & son + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("E4").Select
End Sub
 

han demir

Yeni Üye
Katılım
10 Kas 2020
Mesajlar
7
En iyi yanıt
0
Puanları
1
Yaş
44
Konum
istanbul
Ad Soyad
han cem demir
Office Vers.
Office 2016 TR
İlginiz için teşekkür ederim,
Size geç dönebildim kusuruma bakmayın,
Saygılarım ile.
Han Cem DEMİR
 

han demir

Yeni Üye
Katılım
10 Kas 2020
Mesajlar
7
En iyi yanıt
0
Puanları
1
Yaş
44
Konum
istanbul
Ad Soyad
han cem demir
Office Vers.
Office 2016 TR
Denemeden cevaplamıştım. Yukarıdaki kodları, otomatik güncellenmesi için önermiştim ama tetikleyiciler sorunlu.
Aşağıdaki kodu bir düğmeye filan bağlayın.
Kod:
Sub Makro1()
  Range("E4").ListObject.QueryTable.Refresh BackgroundQuery:=False
son = Range("B" & Rows.Count).End(3).Row
sıra = Range("B" & son)
Range("B" & son + 1).Value = sıra + 1
Range("C" & son + 1).Value = Date
Range("D" & son + 1).Value = Format(Time, "hh:mm")
Range("E4:K4").Copy
Range("E" & son + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("E4").Select
End Sub
İlginiz için teşekkür ederim,
Size geç dönebildim kusuruma bakmayın,
Saygılarım ile.
Han Cem DEMİR
 

omer1957

Yeni Üye
Katılım
14 Nis 2023
Mesajlar
7
En iyi yanıt
0
Puanları
3
Yaş
66
Konum
Muğla
Ad Soyad
Ömer Kırmızı
Office Vers.
2007-2013
Otomatik güncelleme ve verilerin sıralanması konusuna takıldım, başka bir Excel dosyadan veri çekerek denedim.
Kodlardaki verileri güncelleme makronuzu kendinize göre ayarlayın.
Veriler 1 dakikada bir güncelleniyor bu beş dakiayarlana bilinir. Kodların arasına açıklama yaptım.
Örnek dosyada Userformu açtıktan sonra bir bitiş saati belirleyin belirleyip, Başlat tıklayın.
 

Ekli dosyalar

  • listeleme.xlsm
    23.7 KB · Görüntüleme: 3

han demir

Yeni Üye
Katılım
10 Kas 2020
Mesajlar
7
En iyi yanıt
0
Puanları
1
Yaş
44
Konum
istanbul
Ad Soyad
han cem demir
Office Vers.
Office 2016 TR
Son yazdığınız kod gerçekten nefis çalışıyor.
Bir kaç sorum var; hiç makro bilmediğim için sormam gerekiyor.
1.bu kodu nasıl kopyalayacağım? kendi dosyamda Userform mu açmam gerek? + modul bölümündeki kod sayfasında kopyalamalı mıyım?
2.1 e 5 dakikalık iki dosya yapacağım her birine ayrı bir makro adımı atamalıyım?
3.5 dakika için kodda geçen 60 ibarelerinin tümünü 300 yapmam yeterlimi yoksa değiştirmem gereken başka veri varmı?
Saygılar
 

omer1957

Yeni Üye
Katılım
14 Nis 2023
Mesajlar
7
En iyi yanıt
0
Puanları
3
Yaş
66
Konum
Muğla
Ad Soyad
Ömer Kırmızı
Office Vers.
2007-2013
1. Evet Bir userform ve userform üzerinede bir TextBox ve Buton oluşturmanız gerekiyor. Bu Buton üzerinde çift tıklayın. Açılan Modüldeki kodları silin ve Benim örneğimdeki kodları yapıştırın.
2. İki dosya yapacaksanız aynı işlemleri her iki dosya içinde yapmanız gerekiyor.
3.[Aşağıdaki satırlardaki 60'ı 300 yapın.
CODE]For i = 1 To (Minute(CDate(TextBox1.Value) - CDate(Label2.Caption)) + Hour(CDate(TextBox1.Value) - CDate(Label2.Caption)) * 300) + 1[/CODE]
Kod:
 PauseTime = 300
4. Boş bir Modül açın aşğıdaki kodu yapıştırn. Bu makroyu Sayfa üstünde bir butona atayın.
Kod:
Sub Makro1()
UserForm1.Show
End Sub
 

han demir

Yeni Üye
Katılım
10 Kas 2020
Mesajlar
7
En iyi yanıt
0
Puanları
1
Yaş
44
Konum
istanbul
Ad Soyad
han cem demir
Office Vers.
Office 2016 TR
Ellerinize sağlık.
Bodrumdan selamlar.
Han Cem DEMİR
 

han demir

Yeni Üye
Katılım
10 Kas 2020
Mesajlar
7
En iyi yanıt
0
Puanları
1
Yaş
44
Konum
istanbul
Ad Soyad
han cem demir
Office Vers.
Office 2016 TR
Ömer BEY
Merhabalar
Yazdığınız kod dediğim gibi çok güzel çalışıyor, fakat bir sorun oluştu:
Kodu orijinal yerine aktarmadan önce bir deneme yapmak istedim. Çalıştır butonuna son saati girip başlat dedikten sonra, makronun olduğu
dosyada aynı yada farklı bir sayfada, son saat bitmeden her hangi bir işlem yapamıyorsunuz. Api / sorgu yöntemiyle getirdiğim canlı verileri
kodun olduğu sayfaya ekleyip çalıştırdığımda, aynı duruma bir başka sorun ekleniyor: canlı verilerin geldiği dosyanın veri güncellemesi çalışmıyor. Acaba canlı veri dosyası da güncelleme yaptığından bir çakışmamı oluyor deyip her hangi bir dosya(xls) açıp, kodu çalıştırdığınızda diğer dosyada da herhangi bir işlem yapamıyorsunuz. sonra koda baktığımda her hangi bir dosya açtığım zaman açılan dosyayı yeni proje olarak eklediğini fark ettim.
Tabi makro ile ilgili hiç bir şey bilmediğim için meseleyi çözmem de mümkün olamadı.
 

Ekli dosyalar

  • 1 dk veri.JPG
    1 dk veri.JPG
    182.1 KB · Görüntüleme: 3
  • listeleme 1 dk.xlsm
    27.6 KB · Görüntüleme: 2
Üst Alt