• DİKKAT

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

Kapalı Dosyadan Veri Alma

Katılım
28 Ekim 2013
Mesajlar
29
Excel Vers. ve Dili
2010 Türkçe
Arkadaşlar merhaba. Kapalı excel dosyasından Açık excel dosyasının sayfa2'sindeki tabloya veri almaya çalışıyorum. Kapalı excel dosyasının formatı ekteki gibi. Renkli olarak belirttiğim sütunları kopyalamanın bir yolu var mı acaba? Bu arada Kapalı dosyasında ki bu veriler bazen 30 satır bazen 1 satır olabilir. Son olarakta bu aktarma işlemi bittikten sonra Kapalı dosyası silinebilir mi ve eğer dosya yoksa uyarı verebilir mi? Teşekkürler şimdiden. Son halinin aşağıdaki gibi olmasını istiyorum mümkünse.
 

Ekli dosyalar

  • Veri Alma.rar
    Veri Alma.rar
    18.1 KB · Görüntüleme: 81
  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    45.4 KB · Görüntüleme: 33
. . .

Kod:
Sub KOD()
Dim Con As Object, Rs As Object, Sorgu As String, i As Integer
Set Con = CreateObject("Adodb.Connection")
Set Rs = CreateObject("Adodb.RecordSet")

If Dir(ThisWorkbook.Path & "\Kapalı.xlsx") = "" Then
MsgBox "Kapalı Tablosu Yok", vbCritical
Exit Sub
Else

Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.Path & "\Kapalı.xlsx" & ";extended properties=""excel 12.0;hdr=yes"""

Sorgu = "Select * from [Kapalı$]"
Rs.Open Sorgu, Con, 3, 1
Range("B1").CopyFromRecordset Rs

Con.Close
Set Con = Nothing: Set Rs = Nothing: Sorgu = "": i = Empty

Kill ThisWorkbook.Path & "\Kapalı.xlsx"

End If
End Sub

. . .
 
Hocam teşekkürler. Veriyi tam istediğim gibi alıyor. Fakat şöyle bir sıkıntıyla karşılaştım. Acaba sorun nedir? Tabloyu genişletmiyor. Bir de kodları .xlsx ile olduğu gibi .xls ile de uyumlu hale getirebilir miyiz?
 

Ekli dosyalar

  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    42.1 KB · Görüntüleme: 10
Son düzenleme:
. . .

Kill satırından önce şu kodları ekleyin.
Kod:
son = [B65536].End(3).Row + 1
ActiveSheet.ListObjects("Tablo1").Resize Range("$A$1:$M$" & son)

. . .
 
Hocam uzantı ile ilgili sorumu sanırım siz baktıktan sonra ekledim. Kodları .xlsx ile olduğu gibi .xls ile de uyumlu hale getirebilir miyiz?
 
Hocam başınızı ağrıttım ama son verdiğiniz kodu denedim şöyle bir şey çıktı bu seferde. Satırın birini toplam satırına atıyor.
 

Ekli dosyalar

  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    46.5 KB · Görüntüleme: 14
Sayfadaki tabloyu silerseniz sorun kalmaz.
 
Murat Bey denedim. Malesef olmuyor. Ya da yanlış yaptığım birşeyler var. Satırın biri kayboluyor bu seferde. Şöyle bir şey denedim;
Sonuç Ekran Alıntısında.

Kod:
Sub KOD()

sonsatır = [A65536].End(3).Row + 1
Range("A2:M" & sonsatır).EntireRow.Delete

Dim Con As Object, Rs As Object, Sorgu As String, i As Integer
Set Con = CreateObject("Adodb.Connection")
Set Rs = CreateObject("Adodb.RecordSet")

If Dir(ThisWorkbook.Path & "\Kapalı.xlsx") = "" Then
MsgBox "Kapalı Tablosu Yok", vbCritical
Exit Sub
Else

Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.Path & "\Kapalı.xlsx" & ";extended properties=""excel 12.0;hdr=yes"""

Sorgu = "Select * from [Kapalı$]"
Rs.Open Sorgu, Con, 3, 1
Range("B1").CopyFromRecordset Rs

Con.Close
Set Con = Nothing: Set Rs = Nothing: Sorgu = "": i = Empty

son = [B65536].End(3).Row + 1
ActiveSheet.ListObjects("Tablo1").Resize Range("$A$1:$M$" & son)

Kill ThisWorkbook.Path & "\Kapalı.xlsx"

End If
End Sub
 

Ekli dosyalar

  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    43.2 KB · Görüntüleme: 16
Tabloyu silin demiştim silmemişsiniz. Söylediğim yapılmadığı zaman ilgilenmek içimden gelmiyor.
 
... Ya da yanlış yaptığım birşeyler var. ...

Bu cümleden ne anlıyorsunuz? Ben satırları sil anlamışım. Ayrıca tabloyu tamamen silmek istediğim şeyle örtüşmüyor. Bilginize, emeğinize yaptıklarınıza son derece saygım var. Hitap ederken ve düşünürken buna özen göstermeye çalışıyorum. Ama tavrınız hoş değildi. Neyse. Bu da eksik olsun. Bu sitenin ve sizlerin hakkı çok. Saygı duyuyorum. Kolay gelsin.
 
Ben o cümleden önceki cümleye bakarım.
Sayfadaki tabloyu silin sorun kalmaz dedim. Bunda anlaşılmayacak ya da yanlış anlayacak ne var ? :dusun: Ayrıca anlaşılmayacak uzun bir cümle de kurmadım, bu kısacık cümleyi nasıl yanlış anlıyorsunuz hayret !? :dusun:
Söylediğimi yaptıktan sonra olmadı deseydiniz, ben size olana kadar yardımcı olurdum. Ama böyle olunca, dediğim gibi canım sıkılıyor ve ilgilenmek içimden gelmiyor...



Bu tavrım hoş değil demek... :dusun:
Tabloyu silin demiştim silmemişsiniz. Söylediğim yapılmadığı zaman ilgilenmek içimden gelmiyor.

Hislerimi, düşüncelerimi dile getirmek bile hoş karşılanmıyor oldu artık. Nereye doğru gidiyoruz bilmiyorum, Allah sonumuzu hayır etsin ne diyeyim.


İyi akşamlar.
 
. . .

Açık kitabında Tablo tasarımını kullanmanız gerekli mi?

. . .
 
. . .

Kod:
Sub KOD()
Dim Con As Object, Rs As Object, Sorgu As String, i As Integer
Set Con = CreateObject("Adodb.Connection")
Set Rs = CreateObject("Adodb.RecordSet")

If Dir(ThisWorkbook.Path & "\Kapalı.xlsx") = "" Then
MsgBox "Kapalı Tablosu Yok", vbCritical
Exit Sub
Else

Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.Path & "\Kapalı.xlsx" & ";extended properties=""excel 12.0;hdr=yes"""

Sorgu = "Select * from [Kapalı$]"
Rs.Open Sorgu, Con, 3, 1
Range("B1").CopyFromRecordset Rs

Con.Close
Set Con = Nothing: Set Rs = Nothing: Sorgu = "": i = Empty

Kill ThisWorkbook.Path & "\Kapalı.xlsx"

End If
End Sub

. . .

Gayet güzel olmuş Hüseyin bey,

Peki tam tersini düşünürsek, sayfada ki tüm verileri olduğu gibiaçık dosyadan kapalıya göndermek istersek kodlarda ki değişiklik ne gibi olmalı?

Teşekkürler.
 
Geri
Üst