"Pano üstündeki bilgi miktarı çok büyük" mesajı.

Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Merhaba arkadaşlar,
Aşağıdaki kod ile kapalı dosyayı açarak belirtilen alanı başka bir dosyaya kopyalayıp kapatıyorum. Kapatma sırasında " Panodaki bilgi çok büyük" le başlayan uyarı mesajını alıyorum.Bu uyarı mesajında "Hayır" ı tıklarsam kopyalama işlemi hızlı oluyor.Bu mesajı almamak için kırmızı renkli satırı ekledim. Fakat bu seferde ( sanırım ) varsayılan buton olan "Evet" butonu tıklanmış gibi kopyalama işlemi biraz uzun sürüyor. Bütün bu işlemler bir form üzerinden ve Application.Visible=false iken yapıldığı için 8-9 sn. kadar beklemek gerekiyor. Bu uyarı mesajına kod ile "Hayır" diyebilir miyiz ya da başka bir çözüm var mıdır? ilgilenen arkadaşlara teşekkür ederim.

Application.DisplayAlerts = False
ds = ActiveWorkbook.Name
Workbooks.Open "d:\MTM_ARSIV\GLR.xls"
Range("giderler!a1:s" & [giderler!a65536].End(3).Row).Copy
Workbooks(ds & "").Activate
[giderler!a1].PasteSpecial
Workbooks("GLR.xls").Close
Application.DisplayAlerts = True
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
şöyle bir şey de düşünülebilir:

Kod:
Sub xl_dis_veri()

    Dim twb As Workbook, rng As Range
    Dim sonsat As Long, sonsut As Long
    
    Set twb = ThisWorkbook 'kodların bulunduğu dosyayı gösterir. aynı zamanda veriler de bu dosyaya kopyalanıyor.
    
    Workbooks.Open "d:\MTM_ARSIV\GLR.xls"
    
    With ActiveWorkbook.Worksheets("giderler")
        sonsat = .Cells(.Rows.Count, 1).End(xlUp).Row
        sonsut = .Cells(1, .Columns.Count).End(xlToLeft).Column
        Set rng = .Range(.Cells(1, 1), .Cells(sonsat, sonsut))
    End With
    
    With twb.Worksheets("giderler")
        .Range("A1").Resize(sonsat, sonsut).Value = rng.Value
    End With
    
    Workbooks("GLR.xls").Close False

End Sub
 
Son düzenleme:
Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Merhaba sayın mancubus,
Ado ile denedim ancak sayısal değerleri metin olarak aktardı. Epeyce uğraştım ama beceremedim bir türlü. 3 nolu mesajda önerdiğiniz kod işimi görüyor ve benim kullandğım koddan çok daha hızlı. ilginize ve yardımlarınıza çok teşekkür ederim. Esenkalın..
Koddan yararlanacak arkdaşlara küçük bir not;
.Range("A1").Resize(sonsat, sonsut).Value = Rnd.Value
satırındaki Rnd ifadesi yerine Rng İfadesi kullanılacak.
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
ben de düzeltme için teşekkür ederim. 1 no.lu mesajda da düzelttim. yazarken g harfi yerine 2 soldaki d harfine basmışım. :)
 
Üst