Eski Excel Dosyasını "Gözat" Bölümü İle Seçip Verileri Yeni Dosyaya Aktarma

Katılım
6 Aralık 2007
Mesajlar
135
Excel Vers. ve Dili
Office 2003
imalat bölümü.xls dosyasının thisworkbook modülünde bulunan kodların tümünü silin.
Üstad kusura bakma kafanı karıştırdım sanırım ama Türkiye'nin muhtelif yerlerinde 20 den fazla şubeden gelecek dosyaların veri aktarımını yapacağım. Bazı dosyalarda şifre yok kaldırırım ama bazıları şifreli. Bu nedenle o kodları silemiyorum. Olmayacaksa şansımıda fazla zorlamak istemem. Bu şekilde bile beni büyük bir yükten kurtardınız. Allah Razı Olsun...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Açılan bir dosyadaki kodun çalışmasını engellemek bana pek olası gelmedi, hele birde şifreli ise mümkün değil. Bence siz bu şekilde çalıştırın.
 
Katılım
30 Aralık 2007
Mesajlar
1
Excel Vers. ve Dili
excel 2003
vba
Merhaba,

Benimde benzer bir problemim var. Kullanıcıya GetOpenFileName ile bir workbook seçmesini sağlıyorum. Seçilen workbookta bir tane sheet var. O sheeti aynen şuanda kullanılan workbook'a eklemek istiyorum. Aşağıdaki kodda sonsat ve adrs kelimelerinin nasıl kullanıldıklarını anlayamadım.

Yardımcı olursanız sevinirim.

Alternatif olarak aşağıdaki kodu deneyin.

Kod:
Sub verial()
ad = ThisWorkbook.Name
Range("A2:F65536").ClearContents
Application.ScreenUpdating = False
dosya = Application.GetOpenFilename("Excel Dosyası (*.xls),*.xls", , "Hedef Dosyayı Seçin")
If dosya = False Then Exit Sub
Workbooks.Open Filename:=dosya
sonsat = ActiveWorkbook.ActiveSheet.Cells(65536, "A").End(xlUp).Row
If sonsat < 2 Then Exit Sub
adrs = Range(Cells(2, "A"), Cells(sonsat, "F")).Address
Workbooks(ad).Sheets(1).Range(adrs).Value = ActiveWorkbook.ActiveSheet.Range(adrs).Value
ActiveWorkbook.Close False
Application.ScreenUpdating = True
MsgBox "Aktarma gerçekleşti..!!", vbOKOnly + vbInformation, "AKTARMA"
Range("A1").Select
End Sub
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
A&#351;a&#287;&#305;daki kodu deneyin. Kodda kopyalanacak sayfa ad&#305;n&#305;n "liste" oldu&#287;u kabul edilmi&#351;tir. Bu ad&#305; kendinize g&#246;re de&#287;i&#351;tirebilirsiniz.

Kod:
Sub verial()
ad = ThisWorkbook.Name
say = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
dosya = Application.GetOpenFilename("Excel Dosyas&#305; (*.xls),*.xls", , "Hedef Dosyay&#305; Se&#231;in")
If dosya = False Then Exit Sub
Workbooks.Open Filename:=dosya
ad2 = ActiveWorkbook.Name
Workbooks(ad2).Sheets("liste").Copy After:=Workbooks(ad).Sheets(say)
Workbooks(ad2).Close False
Application.ScreenUpdating = True
MsgBox "Aktarma ger&#231;ekle&#351;ti..!!", vbOKOnly + vbInformation, "AKTARMA"
End Sub
 
Üst