• DİKKAT

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

Soru getopenfilename ile dış excel'den veri yapıştırmak

Katılım
9 Aralık 2018
Mesajlar
363
Excel Vers. ve Dili
Excel 2019 - 32 bit TR
Merhaba

PHP:
fName = Application.GetOpenFilename("Excel Files (*.xls), *.xls", , "*")
If fName = "False" Then Exit Sub
Workbooks.Open fName

bunun gibi bir kod ile dış bir exceli seçip

b2:b21 aralığındaki veriyi yatay hale getirip xldown +1 pozisyonundaki bir A2:T2 aralığına yapıştırmayı planlıyorum.

nasıl yapabilirim?
 

Ekli dosyalar

Merhaba,
Aşağıdaki kodu deneyiniz...
PHP:
Sub kod()
fName = Application.GetOpenFilename("Excel Files (*.xls*), *.xls", , "*")
If fName = "False" Then Exit Sub
Set hdf = Cells(Rows.Count, 1).End(3).Offset(1)
Set w2 = Workbooks.Open(fName)
Set s2 = w2.Sheets(1)
hdf.Resize(, 20).Value = Application.Transpose(s2.Range("B2:B21"))
w2.Close 0
End Sub
 
Merhaba,
Aşağıdaki kodu deneyiniz...
PHP:
Sub kod()
fName = Application.GetOpenFilename("Excel Files (*.xls*), *.xls", , "*")
If fName = "False" Then Exit Sub
Set hdf = Cells(Rows.Count, 1).End(3).Offset(1)
Set w2 = Workbooks.Open(fName)
Set s2 = w2.Sheets(1)
hdf.Resize(, 20).Value = Application.Transpose(s2.Range("B2:B21"))
w2.Close 0
End Sub

bilgiyi başka worksheet'e yapıştırdı.
bunu önlemek için yapıştırılacak worksheet adını "dozimetri" olarak belirleyemez miyiz?

mesela

Kod:
Sub dozimetri_al()
fName = Application.GetOpenFilename("Excel Files (*.xls*), *.xls", , "*")
If fName = "False" Then Exit Sub
Set hdf = Cells(Rows.count, 1).End(3).Offset(1)
Set s3 = ThisWorkbook.Sheets("dozimetri")
Set w2 = Workbooks.Open(fName)
Set s2 = w2.Sheets(1)
hdf.Resize(, 20).Value = Application.Transpose(s2.Range("B2:B21"))
w2.Close 0
End Sub
 
Buyurun.:cool:
Kod:
Set s2 = Worksheets("dozimetri")
 
deneyiniz.:cool:
Kod:
s3.Resize(, 20).Value = Application.Transpose(s2.Range("B2:B21"))
 
deneyiniz.:cool:
Kod:
s3.range("B" & hdf).Resize(, 20).Value = Application.Transpose(s2.Range("B2:B21"))
 
PHP:
Sub dozimetri_al()
fName = Application.GetOpenFilename("Excel Files (*.xls*), *.xls", , "*")
If fName = "False" Then Exit Sub
Set hdf = Cells(Rows.count, 1).End(3).Offset(1)
Set w2 = Workbooks.Open(fName)
Set s2 = w2.Sheets(1)
Set s3 = Worksheets("Dozimetri")
s3.Range("B" & hdf).Resize(, 20).Value = Application.Transpose(s2.Range("B2:B21"))
w2.Close 0
End Sub

Son hali bu olan kodumuz halen set s3 hanesinde hata veriyor.

dış excel b2:b21 'i
A2:T2 aralığına yapıştırmayı planlıyorum. Her yeni yapıştırma Xldown +1 pozisyonuna eklenecek şekilde.
 
Nereden kopyalanıp ,nereye yapıştırılacak.:cool:
 
seçerek açtığım excel dosyasının B2:B21 aralığını seçip
dikey veriyi yatay olarak

A2:T2 aralığına yapıştırması gerekiyor.

sanırım resize kodu bu işe yarıyor, çünkü dozimetri yerine farklı bir worksheet'e bu veriyi yatay olarak yapıştırdı.
 
A2:T2 aralığı hangi dosya ve sayfada?
 
İkinci mesajdaki koddaki ilgili alanı aşağıdaki şekilde değiştiriniz.
Kod:
Set hdf = Sheets("Dozimetri").Cells(Rows.Count, 1).End(3).Offset(1)
 
PHP:
Sub dozimetri_al()
fName = Application.GetOpenFilename("Excel Files (*.xls*), *.xls", , "*")
If fName = "False" Then Exit Sub
Worksheets("Dozimetri").Select
Set hdf = Cells(Rows.count, 1).End(3).Offset(1)
Set w2 = Workbooks.Open(fName)
Set s2 = w2.Sheets(1)
hdf.Resize(, 20).Value = Application.Transpose(s2.Range("B2:B21"))
w2.Close 0
End Sub

kod bu haliyle çalıştı.
yardımlarınız için çok teşekkürler
 
Geri
Üst