Sayfadaki Tüm içeriği Temizleyip Üzerine Yazdırma

Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
Arkadaşlar merhaba.

Aşağıdaki kod ile Sql üzerinden sorgu yapan bir makro kaydettim. Ancak makroyu her çalıştırdığımda excelde yeni bir sayfa açılıyor ve verileri o yeni sayfaya alıyor. yani; ilk sorgu yaptığımda veriler Sayfa2'ye geliyor, 2.nci sorguda Sayfa3'e 3.sorguda Sayfa4'e.... Ancak ben bunun olmasını istemiyorum, benim istediğim; sorgulanan verileri her zaman aynı sayfaya yollaması ve ardından yapılan sorguda bir önceki sorgunun verilerini temizleyip, yeni sorgunun verilerini üzerine yazması. yani sorguyu yaptığımda sorgu verileri Sayfa3'ün A1:Z20000 aralığına yazdırılsın, ardından yapılan sorguda Sayfa3 A1:Z20000 içeriği silinip üzerine yeni sorgunun verileri yazılsın.

Kod aşağıdaki gibidir.
Saygılar.


Kod:
Sub SORGU()
'
' SORGU Makro
' Makro MURAT tarafından 08.01.2011 tarihinde kaydedildi.
'
 
'
 
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DSN=OTOSRV;Description=OTOSRV;UID=sa;;APP=Microsoft Office 2003;WSID=MURAT-PC;DATABASE=TRIGONDATAMERKEZ;Network=DBMSSOCN" _
        , Destination:=Range("A1"))
        .CommandText = Array( _
        "SELECT Cari.Miktari, Cari.Satis, Cari.ay, Cari.yil, Cari.BolgeId" & Chr(13) & "" & Chr(10) & "FROM TRIGONDATAMERKEZ.dbo.Cari Cari" & Chr(13) & "" & Chr(10) & "WHERE (Cari.ay=" & Sheets("Sayfa1").Range("M2").Value & ") AND (Cari.yil=" & Sheets("Sayfa1").Range("L2").Value & ") AND (Cari.BolgeId=" & Sheets("Sayfa1").Range("n2").Value & " )" _
        )
        .Name = "OTOSRV kaynağından sorgula"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
        MsgBox "Tamamdır", vbInformation, "M U R A T H."
    End With
End Sub
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,845
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Katılım
13 Mart 2006
Mesajlar
142
Excel Vers. ve Dili
2007 ve sonrası (TR)
merhaba;
makronuzdaki ilk satırı silip, yerine aşağıdaki satırları ekleyiniz.

Dim alan As Range
Set alan = ActiveWorkbook.Sheets("Sayfa3").Range("a1:z20000")
Sheets("Sayfa3").Select
alan.ClearContents
 
Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
Sayın Halit3 ve Excel03 ...

Teşekkürler
 

ahmethuseyin

Altın Üye
Katılım
9 Ocak 2011
Mesajlar
48
Excel Vers. ve Dili
Excel2007
Altın Üyelik Bitiş Tarihi
17-06-2028
merhabalar guesh arkadasim banada sendeki gibi birseylazim ama tum sayfayi degil excelde bilgi gelen kolonu yani ornek a1 veya a2 bendeki post cihazi excele bilgi gonderiyor bende istiyorum gelen bilgi baska bir yere gitsin yerien gelen yeni bilgi daha baska bir musteri dosyasina gitsin sendkei boyle birsey benim icin sendekini buraya eklersen sevirim
veya yazimi okuyan diger hocalarim bu konuda beni bilgilendirilerse sevinrim

saygilarimla
 
Katılım
25 Mart 2010
Mesajlar
340
Excel Vers. ve Dili
2007,2010
,Sayın ahmethuseyin yeni bir konu açıp örnek bir dosyayla açıklamanızı pekiştirirseniz eminim ki daha fazla kişişnin yardınmcı olma şansı olacakır.

merhabalar guesh arkadasim banada sendeki gibi birseylazim ama tum sayfayi degil excelde bilgi gelen kolonu yani ornek a1 veya a2 bendeki post cihazi excele bilgi gonderiyor bende istiyorum gelen bilgi baska bir yere gitsin yerien gelen yeni bilgi daha baska bir musteri dosyasina gitsin sendkei boyle birsey benim icin sendekini buraya eklersen sevirim
veya yazimi okuyan diger hocalarim bu konuda beni bilgilendirilerse sevinrim

saygilarimla
 
Üst