• DİKKAT

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

Buton ile veri çekme

Katılım
11 Eylül 2017
Mesajlar
5
Excel Vers. ve Dili
Excel 2016
Merhabalar öncelikle,

Bir excel dökümanında bir buton yaparak örneğin "Veri çek", o butona tıkladığımda seçtiğim başka bir excel dökümanındaki(taslak bir doküman) bilgileri çekip, tabloya yazmasını istiyorum. Nasıl yapacağım konusunda yardım ederseniz sevinirim.
 
Konu ile ilgili site içerisinde çok fazla örnek mevcut. Dilerseniz örnek dosya eklerseniz yardımcı olalım.
 
Maalesef formları paylaşamıyorum. İzlemem gereken adımları yazabilirseniz, öğrenmiş olabileceğimi de düşünüyorum. Bu konuda paylaşacağınız linkler varsa çok iyi olur.
 
Tekrar merhaba,

Ekte eklediğim dosyalar için kod yazabilmeniz mümkün mü örnek olması açısından, biraz uğraştım ama yapamadım.

Örneğin A worksheetindeki rakamları herhangi bir B worksheetine bir buton ile yazmam gerekiyor. Bir çok dosya olacağı için her yeni yazım işleminde bi alt satıra geçmesi gerekiyor.

Worksheet ekleyemedim, A sheetinde bir satıra 10 tane veri olacak şekilde bir excel dosyası düşündüğümüzde, B sheetinde gerekli yerlere yazılacak.

Teşekkür ederim..
 
Dilerseniz dosyanızı buradan paylaşmak istemiyorsanız mail atabilirsiniz. Örnek dosya olmadan afaki yardım ilgili linkde mevcut zaten. askmadige34@hotmail.com
 
Tekrar merhaba,

Private Sub CommandButton1_Click()

Dim wbTarget As Workbook
Dim wbThis As Workbook
Dim vals As Variant

Application.ScreenUpdating = False

FileToOpen = Application.GetOpenFilename(Title:="Mekanik Çalışmayı Seçiniz", FileFilter:="Excel Files *.xlsx (*.xlsx),")
If FileToOpen = False Then
''MsgBox "Çalışmayı seçmedin :(", vbExclamation, "Doküman Seçmedin"
Exit Sub
Else


Set wbThis = ActiveWorkbook

Set wbTarget = Workbooks.Open(Filename:=FileToOpen, ReadOnly:=True)

wbTarget.Sheets("Verioku").Range("A1") = wbThis.Sheets("DB").Range("A1")

ActiveWindow.Close 0
'wbTarget.Close


End If

Set wbTarget = Nothing ''Hafızayı temizler
Set wbThis = Nothing ''Hafızayı temizler


Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub

Bu kodu yazdım fakat bir yerde yanlışlık var sanırım. Butona bastığımda Verioku dosyasında A1'de bulunan veriyi, DB dosyasının A1'ine yazmaya çalıştım. Acaba nerede yanlış yapıyorum?
 
Benim kullandığım bir kod var. Belki işinizi görebilir.

Dosyalar aynı klasörde olacak
Kırmızı yazı ile yazılmış bölüm veriyi çekeceğiniz dosya adı
Mavi yazı ile yazılmış bölüm veriyi alacağınız dosya adı
Veriyi çekeceğiniz dosya kapalı olması lazım
Kodları veriyi alacağınız makro destekli bir dosyaya ekleyip, buton oluşturdukdan sonra butona makroyu atamanız gerekiyor

Kod:
Sub Makro1()

Application.ScreenUpdating = False

    Workbooks.Open Filename:=ActiveWorkbook.Path & "\[COLOR="Red"]Kaynak Dosya adı.xlsx[/COLOR]"
    Sheets("[COLOR="Red"]kaynak çalışma sayfasının adı[/COLOR]").Copy After:=Workbooks("[COLOR="Blue"]Hedef dosya adı.xlsm[/COLOR]").Sheets(1)
    Workbooks("[COLOR="Red"]Kaynak dosya adı.xlsx[/COLOR]").Close SaveChanges:=False
    
Application.ScreenUpdating = True


End Sub
 
Son düzenleme:
Başka bir alternatif.

Kod:
Sub Makro2()

Dim wb As Workbook
Set wb = ThisWorkbook
wb.Sheets.Add Type:=ThisWorkbook.Path & "\Kaynak Dosya adı.xlsx"
ActiveSheet.Move After:=wb.Sheets(1)
wb.Sheets(1).Name = "Çalışma sayfasına vermek istediğiniz ad"
ActiveSheet.Cells(1).Select

End Sub
Kod:
 
Geri
Üst