• DİKKAT

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

Veri Kopyalama.

  • Konbuyu başlatan Konbuyu başlatan smh44
  • Başlangıç tarihi Başlangıç tarihi
Katılım
25 Nisan 2011
Mesajlar
7
Excel Vers. ve Dili
2007-ingilizce
Merhaba arkadaşlar ben bir excel dosyasındaki verileri açık olan excel dosyasının 2. sayfasına kaydetmek istiyorum bunun için forumda kod araştırması yaptım, bi kaç örnek buldum uygulamaya calıstım ama ; sorunla karışlatım bir bakarmısınız nasil bir hata var kodumda teşekkürler.
Dosya ismini ; textboxa girecek kullanıcı ve o girdiği dosyanın içindeki
A9 dan M100 e kadar olan verileri alıp açık olan exceldeki sheet2 de A9 ile M100 e aktarıcak combo boxa basınca.

Şimdiden yardımlar için teşekkür ederim.


Kod:
Private Sub CommandButton1_Click()
If OptionButton1 = True Then
Call VERİ_AL
End If
End Sub

Sub VERİ_AL()
Dim Filename As String
Filename = TextBox1.Value

    Dim Dosya_Yolu As String, Satır As Integer, Sütun As Byte
 
    Dosya_Yolu = ThisWorkbook.Path & "\[Filename.xls]"
 
    Application.ScreenUpdating = False
 
    Range("A9:M100").ClearContents
 
    For Satır = 9 To 100
        For Sütun = 1 To 13
            Cells(Satır, Sütun) = Application.ExecuteExcel4Macro("'" & Dosya_Yolu & "Sheet2'!R" & Satır & "C" & Sütun)
        Next
    Next
 
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Selamlar,

Dosya yolu tanımlamanız yanlış olmuş. aşağıdaki şekilde düzeltip denermisiniz.

Kod:
Dosya_Yolu = ThisWorkbook.Path & "\[" & Filename & "[COLOR=red].xls[/COLOR]]"

Not : Eğer TextBox1 nesnesine dosya adınızı ".xls" uzantısı ile beraber yazıyorsanız koddaki kırmızı bölümü siliniz.
 
tek bir dosyadan veri alınacaksa basit bir veri okuma makrosu kullanabilirsiniz.
kırmızı Sheet2'yi veri alınacak dosyadaki sayfa ismi ile değiştiriniz.

Kod:
Sub VERİ_AL()

Dim wb As Workbook
Dim Filename As String, yol As String, dosya As String

Filename = TextBox1.Value
yol = ThisWorkbook.Path
dosya = yol & "\" & Filename
If Right(dosya, 4) <> ".xls" Then dosya = dosya & ".xls"

Application.ScreenUpdating = False

Set wb = Workbooks.Open(dosya, True, True)

With ThisWorkbook.Worksheets("Sheet2")
    .Range("A9:M100").Formula = wb.Worksheets("[COLOR="Red"]Sheet2[/COLOR]").Range("A9:M100").Formula
End With

wb.Close False
Set wb = Nothing

Application.ScreenUpdating = True

End Sub
 
Öncelikle teşekkürler iki kod da hatalar meydana geldi ;

@Korhan Ayhan

Dosyanın ismini yazıp Common Buttona bastıgım zaman; dosya seçmem için bir pencere açılıyor; ve dosya seçsemde sürekli aynı pencere açılıyor ; ancak görev yöneticisi ile exceli kapatabiliyorum...

@Mancubus

Anlamadım ama kodu yazınca;
Su satırda hata verdi.

Kod:
Set wb = Workbooks.Open(dosya, True, True)

Sebebi nedir?

Pazar pazar rahatsızlık verdiğimden dolayı özür dilerim.
Yardımlarınız için tekrar teşekkür ederim.
 
Selamlar,

Kullanığınız kodları ve örnek dosyalarınızı eklerseniz daha net cevaplar verebiliriz.
 
@Korhan Ayhan

Kod çalısıyor teşekkür ederim hatamı buldum yanlıslıkla Texbox2 yazacağıma Textbox1 yazmısım ondan dolayı göremeyince o pencereyi açıyormuş;

Son bir sorum daha var; şimdi bu yaptıgımız işlem 100. satıra kadar gidip alıyor ordaki değerleri peki ben sadece değer olan satıra ve sutuna kadar gitmesini istersem nasil bir ek yapmam gerekir?
 
@Mancubus

Anlamadım ama kodu yazınca;
Su satırda hata verdi.

Kod:
Set wb = Workbooks.Open(dosya, True, True)

Sebebi nedir?

ihtiyacınız görülmüş gerçi...
yine de farklı çalışmalarda kullanılabilir veya başkaları da bakabilir. eksik bırakmayalım.

yazmamışsınız hatayı ancak muhtemelen RTE 1004 döndürüyor. dosyayı bulamıyor. yol ve dosya isminin kontrol edilmesi ve düzeltilmesi sorunu çözer.
 
Son düzenleme:
Geri
Üst