Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 17-02-2017, 08:21   #1
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,332
Excel Vers. ve Dili:
2010-2016
Varsayılan Ado İle Farklı Sütunlara Veri Çekme

Kolay gelsin.
Aşağıdaki kod ile Ado ile kapalı dosyadan verileri getiriyorum. Yalnız veriler yan yana sütunlarda geliyor.Range("a5").CopyFromRecordset rs kısmını nasıl değiştirmem gerekli ki verinin f1 kısmını a5 den itibaren, f2 kısmını (2. sutundakileri) c5 den itibaren şeklinde benim istediğim sütunlara getireyim. Range("a5").CopyFromRecordset rs(0) şeklinde yaptım olmadı.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CommandButton11_Click()
Range("A5:I65000").ClearContents

    Set Con = CreateObject("Adodb.Connection"):  Set rs = CreateObject("Adodb.RecordSet")
        Con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
        ThisWorkbook.Path & "\kapalı.xlsx" & ";extended properties=""excel 12.0;hdr=no;imex=1"""
        
        sorgu = "Select f1,f3,f4,f6,f8,f12 from [FaturaListesi$]" ' where f3 = '" & Range("N2").Value & "'"
        rs.Open sorgu, Con, 1, 1
        
        Range("a5").CopyFromRecordset rs

         rs.Close: Con.Close
         Set Con = Nothing: Set rs = Nothing: sorgu = Empty
         
    
End Sub
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 17-02-2017, 08:41   #2
kuvari
Destek Ekibi
 
kuvari kullanıcısının avatarı
 
Giriş: 04/05/2007
Şehir: İstanbul
Mesaj: 2,608
Excel Vers. ve Dili:
OFİS 2013 TÜRKÇE-İNG. 64 BİT
Varsayılan

Atlamak istediğiniz sütun kadar '' (iki tane tek tırnak) ekleyin.
__________________
Bilgi kadar zenginlik, cehalet kadar yoksulluk yoktur.
(Hz. Ali)

Bu mesaj en son " 17-02-2017 " tarihinde saat 08:47 itibariyle kuvari tarafından düzenlenmiştir....
kuvari Çevrimdışı   Alıntı Yaparak Cevapla
Eski 17-02-2017, 08:42   #3
Necdet Yeşertener
Moderatör
 
Giriş: 04/06/2005
Şehir: Ankara
Mesaj: 11,842
Excel Vers. ve Dili:
Ofis 2003 İngilizce Ofis 2007 Türkçe Ofis 2010 Türkçe
Varsayılan

Merhaba,

Araya boş alanlar eklerseniz olur.

Select f1,'', '', f3,f4,f6,f8,f12 gibi

ama arada kalan sütunlarda veri varsa o sıkıntı yaratır.

Geç kalmışım
__________________
Sayfada Boş Satırları Silmek:
Sütunu Seçiniz, F5, Özel, Boşluklar, Tamam,
Sağ Klik, Sil, Tüm Satır, Tamam

Türkçe'nin Bir Eksiği Yok, Ya Sizin?



Necdet Yeşertener Çevrimdışı   Alıntı Yaparak Cevapla
Eski 17-02-2017, 08:51   #4
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: k.maraş
Mesaj: 1,332
Excel Vers. ve Dili:
2010-2016
Varsayılan

İlginiz için çok teşekkürler.
__________________
excel 2010- türkçe
askm Çevrimiçi   Alıntı Yaparak Cevapla
Eski 17-02-2017, 10:09   #5
vardar07
Destek Ekibi
 
vardar07 kullanıcısının avatarı
 
Giriş: 19/03/2008
Şehir: Kepez / ANTALYA
Mesaj: 2,154
Excel Vers. ve Dili:
Office 2007 Enterprise Türkçe
Varsayılan

1 tane userform üstüne 1 adet listbox bir adet buton ile veri başlıklarını seçerek alabilirsiniz.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private con As Object
Sub baglan()
Set con = CreateObject("adodb.connection")
yol = ThisWorkbook.Path
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & yol & "\Veritabani.mdb;User Id=admin;Password=;"
End Sub

Private Sub CommandButton1_Click()
Sheets("Sayfa2").Range("A1:F" & Rows.Count).ClearContents
Call baglan
sorgu = "select "
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
sorgu = sorgu & "[" & ListBox1.List(i, 0) & "],"
End If
Next i

sorgu = Mid(sorgu, 1, Len(sorgu) - 1)
sorgu = sorgu & " from Tablo1"
Set rs = CreateObject("adodb.recordset")
rs.Open sorgu, con, 1, 1
If rs.RecordCount > 0 Then
For i = 0 To rs.Fields.Count - 1
Cells(1, i + 1).Value = rs.Fields(i).Name
Next i
Range("a2").CopyFromRecordset rs
End If
End Sub

Private Sub UserForm_Initialize()
ListBox1.ListStyle = fmListStyleOption
Call baglan
Set rs = CreateObject("adodb.recordset")
rs.Open "select * from Tablo1", con, 1, 1
For i = 0 To rs.Fields.Count - 1
ListBox1.AddItem rs.Fields(i).Name
Next i
End Sub
__________________
Veren El Alan Elden EVLA'dır...

Örnek excel dosyanızı,açıklamalarını da yazarak; UPTERABİT.COM, DOSYA.TC, DOSYA.CO gibi dosya paylaşım sitelerine ekleyip linkini burada bildirirseniz yardım almanız daha kolay olur.

Özel mesajlarda sorulan sorulara cevap vermiyorum.
vardar07 Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 12:55


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Torna - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Hurda - Lingerie - Dyeing Machine - Çorlu Temizlik- Karton Bardak- Çorlu Pimapenci- İstanbul Avukat- Çorlu Kekemelik- Edirne Su Arıtma- Çorlu Perde Yıkama- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Çorlu İnşaat- Marmara Ereğlisi Yurt- Çorlu Solucan Gübresi- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Su Deposu Temizliği- Bakır Sülfat- Rampa- Rotary-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden