• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makronun Başlangıç Hücresini Belirleme

Katılım
7 Eylül 2021
Mesajlar
44
Excel Vers. ve Dili
2019 excel
makro

döviz kuru çekmek için kullandığım makro direk a2 hücresinde başlıyor ben bunu başka bir hücrede başlamasını a42 hücresinde başlamasını istiyorum. Bunun için makroda değiştrimem gereken kısım neresi yardımcı olabilir misiniz ?
 
Merhaba.
Ekteki dosyanızda kod yok. Kodları buraya eklerseniz cevap verebiliriz.
 
Kod:
Sub PEAKUP_TCMB_TUM_KURLAR()

Dim xml As Object, adres As String, tablom As Object, sat As Byte

Range("A2:G100") = ""

Set xml = CreateObject("MSXML2.DOMDocument")

xml.async = False

xml.validateOnParse = False

adres = "https://www.tcmb.gov.tr/kurlar/today.xml"

xml.Load adres

Set tablom = xml.SelectNodes("//Currency[CurrencyName='EURO' or CurrencyName='US DOLLAR']")

If tablom.Length = 0 Then GoTo cik:

sat = tablom.Length - 1

For i = 0 To sat

Cells(i + 2, 1) = tablom(i).ChildNodes(1).Text

Cells(i + 2, 2) = tablom(i).ChildNodes(3).Text

Cells(i + 2, 3) = tablom(i).ChildNodes(4).Text

Cells(i + 2, 4) = tablom(i).ChildNodes(5).Text

Cells(i + 2, 5) = tablom(i).ChildNodes(6).Text

Next i

cik:

Set tablom = Nothing: Set xml = Nothing: adres = vbNullString: sat = Empty

End Sub
 
excele kodu makro olarak eklediğim halde giriş çıkış yaptığımda kodu siliyor. kaydetmiyor bu problemi nasıl çözebilirim ?
 
A42 den başlaması için aşağıdaki kısmı gösterdiğim gibi yapın
C++:
For i = 40 To 40+sat 'sadece bu satırda düzeltme yapacaksınız
    Cells(i + 2, 1) = tablom(i).ChildNodes(1).Text
    Cells(i + 2, 2) = tablom(i).ChildNodes(3).Text
    Cells(i + 2, 3) = tablom(i).ChildNodes(4).Text
    Cells(i + 2, 4) = tablom(i).ChildNodes(5).Text
    Cells(i + 2, 5) = tablom(i).ChildNodes(6).Text
Next i
 
excele kodu makro olarak eklediğim halde giriş çıkış yaptığımda kodu siliyor. kaydetmiyor bu problemi nasıl çözebilirim ?
İçinde Makro-Kod olan dosyalar "Makro içerebilen excel çalışma kitabı" olarak kaydetmelisiniz. Uzantısı xlsm olmalı. Aksi halde Exxcel kodlar olmadan kaydedilir.
 
A42 den başlaması için aşağıdaki kısmı gösterdiğim gibi yapın
C++:
For i = 40 To 40+sat 'sadece bu satırda düzeltme yapacaksınız
    Cells(i + 2, 1) = tablom(i).ChildNodes(1).Text
    Cells(i + 2, 2) = tablom(i).ChildNodes(3).Text
    Cells(i + 2, 3) = tablom(i).ChildNodes(4).Text
    Cells(i + 2, 4) = tablom(i).ChildNodes(5).Text
    Cells(i + 2, 5) = tablom(i).ChildNodes(6).Text
Next i
çok teşekkür ederim kodu nereye yazacağımı çözemedim . Yeni yeni makro yazmaya başaldım desteğiniz için tekrardan teşekkürler
 
çok teşekkür ederim kodu nereye yazacağımı çözemedim . Yeni yeni makro yazmaya başaldım desteğiniz için tekrardan teşekkürler
Verdiğiniz kodlardaki aşağıdaki ilk satıryerine bir alt satırda verdiğim halini yazarsanzı A42 hücresinden başlarsınız
C++:
For i = 0 To sat
For i = 40 To 40+sat 
Next i
 
For i=0 to sat DEBUG hatası vermiyorsa
For i=40 to 40+sat ifadesi de DEBUG hatası vermez
 
Pardon.
Aşağıdaki gibi ilgili satırlarda tablom(i) yazan kısımlardan 40 çıkartınız.
Cells(i + 2, 1) = tablom(i - 40).ChildNodes(1).Text
 
hata

şu anda şöyle bir srounum var 42. satırdan başlıyor fakat üstündeki bölmelerdeki verileri de siliyor. range kısmından kaynaklı bir sorun olduğunu düşündüm düzelttim fakat çözüm olmadı
 
Kodlarınız baş tarafında
Range("A2:G100") = ""
ifadesi var. Silen yer burası. Silmek istediğiniz alan A42 :G100 aralığı ise buna göre düzeltebilirsiniz.
 
Makroları çalıştırdıktan sonra kaydet dediyseniz ve dosyanızın yedeğini almadıysanız geri gelmezler.
 
Makroları çalıştırdıktan sonra kaydet dediyseniz ve dosyanızın yedeğini almadıysanız geri gelmezler.
bu makroyu ben bütün sayfalarda aynı anda nasıl çalıştırabiliriz. yeni açacağım sayfalarda otomatik oalrak nasıl çalışmaya başlanabilir buton la birlikte ??
 
Geri
Üst