"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. :)
 
Katılım
29 Ocak 2014
Mesajlar
130
Excel Vers. ve Dili
OpenOffice,
Office 365,
Google Sheets,
Excel Vba
Altın Üyelik Bitiş Tarihi
24.12.2022
Merhabalar Workbooks("GLR.xls").Close den once şu kodu ekleyin bende kesin çözüme ulaştım bu yolla :)
teşekkürler bu kod işimi çözdü
 
Üst