• DİKKAT

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

Kapalı Excel dosyaya veri yazdırma

  • Konbuyu başlatan Konbuyu başlatan mozdem
  • Başlangıç tarihi Başlangıç tarihi

mozdem

Altın Üye
Katılım
11 Kasım 2005
Mesajlar
454
Excel Vers. ve Dili
Windows 2011 TR
MS Office 365 TR - 64bit

VBA, Selenium ve VBS
Merhaba,
Örnek olarak bir excel dosyası hazırladım. ComboBox ve TextBox taki verileri aynı dosyadaki sayfaya yazdırıyorum. İstediğim. Kapalı bir dosyaya yazdırmak, Yardımlarınızı bekliyorum.
(dosya içindede açıklamam var)
Şimdiden teşekkürler.
 

Ekli dosyalar

Merhaba
Sayın Mozdem
Şimdi şunu sorayım Bu sayfaya kayıt yapacak mı_?
Sonra bu kaydı yaparken arka planda dosyayı açsa kayıt yapsa sonra tekrar kapatsa işinizi görür mü_?
 
Merhaba
Sayın Mozdem
Şimdi şunu sorayım Bu sayfaya kayıt yapacak mı_?
Sonra bu kaydı yaparken arka planda dosyayı açsa kayıt yapsa sonra tekrar kapatsa işinizi görür mü_?

Hayır, Bu Sayfaya Kayıt Yapmayacak.
Arka planda dosyayı açsa ve kayıt yapsa, evet işimi görür.Teşekkür ederim
 
Son düzenleme:
Hayır, Bu Sayfaya Kayıt Yapmayacak.
Arka planda dosyayı açsa ve kayıt yapsa, evet işimi görür.Teşekkür ederim

Merhaba
Userform'un kod bölümündeki kodları silin ve bu kodları kopyalayın
Kod:
Option Explicit
Private Sub CommandButton1_Click()
Dim ts, kaplan, trabzonspor, hamsi As Date
Dim bordo, mavi
bordo = ThisWorkbook.Path & "\"
mavi = "Veriler.xls"
Workbooks.Open (bordo & mavi)
ts = ActiveSheet.Name
kaplan = Workbooks(mavi).Sheets(ts).Range("B" & Rows.Count).End(xlUp).Row
Workbooks(mavi).Sheets(ts).Range("B" & kaplan + 1) = ComboBox1
Workbooks(mavi).Sheets(ts).Range("C" & kaplan + 1) = TextBox2
Workbooks(mavi).Sheets(ts).Range("A2") = 1
Workbooks(mavi).Sheets(ts).Range("A2:A" & kaplan + 1).DataSeries rowcol:=xlColumns, _
Type:=xlLinear, Date:=xlDay, step:=1, Trend:=False
Workbooks(mavi).Save
Workbooks(mavi).Close
End Sub
Private Sub UserForm_Initialize()
Dim ts, kaplan
Set kaplan = Sheets("Personel")
For ts = 2 To kaplan.Cells(Rows.Count, "B").End(xlUp).Row
ComboBox1.AddItem kaplan.Cells(ts, "B")
Next
End Sub
 
Merhaba İhsan Bey, hayırlı sabahlar.

Dün akşam çıkmadan bu konuya ADO ile çözüm hazırlamıştım ama mesai bitimine denk geldiği için siteye ekleyememiştim.
Bu sabah eklerim diye düşünmüştüm, görüyorum ki siz arkadaşın istediği gibi bir çözüm sunmuşsunuz.
Ben de çeşitlilik olması açısından, eğer müsade ederseniz ADO ile hazırladığım örneği eklemek isterim... ?

Saygılar.
 
Selamlar Murat Bey Alternatif cozumlerin yogunlugu gelisme acisindan tum uyelerimiz icin cok onemli, alternatif paylasimlar icin kimsenin yanlis anlama ihtimalini dusunmeden paylasim yapabilirsiniz.
 
Merhaba İhsan Bey, hayırlı sabahlar.

Dün akşam çıkmadan bu konuya ADO ile çözüm hazırlamıştım ama mesai bitimine denk geldiği için siteye ekleyememiştim.
Bu sabah eklerim diye düşünmüştüm, görüyorum ki siz arkadaşın istediği gibi bir çözüm sunmuşsunuz.
Ben de çeşitlilik olması açısından, eğer müsade ederseniz ADO ile hazırladığım örneği eklemek isterim... ?

Saygılar.

Merhaba
Sayın Murat Osma
Sitemizde biz böyle paylaşımları devamlı destekliyoruz. Alternatif çözüm sunan arkadaşları bu konuda daha fazla teşvik ediyoruz. Siz de lütfen emek verip yazdığınız vakit harcadığınız kodu paylaşırsanız bizleri mutlu etmiş olursunuz.
 
Düşünceleriniz için ikinize de ayrı ayrı teşekkür ediyorum. :ok::
Hazırladığım kodları ve dosyayı paylaşıyorum.

İyi günler...


Kod:
Private bag As Object

Private Sub Baglan()
Set bag = CreateObject("Adodb.Connection")
bag.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
ThisWorkbook.Path & "\Veriler.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes"""
End Sub

Private Sub CommandButton2_Click()
Baglan
osma = "select * from [Data1$] where [Adı Soyadı]='" & ComboBox1.Text & "'"
Set rs = CreateObject("Adodb.Recordset")
rs.Open osma, bag, 1, 3
If rs.RecordCount = 0 Then
    rs.addnew
    rs(0).Value = TextBox1.Value
    rs(1).Value = ComboBox1.Text
    rs(2).Value = TextBox2.Text
    rs.Update
End If
MsgBox "Kayıt işlemi tamamlanmıştır...", vbInformation, _
"Sn. " & Environ("UserName")
Set rs = Nothing: Set bag = Nothing
End Sub
 

Ekli dosyalar

Merhaba, bu konu hakkında bir şey sormak istiyorum.
Yazılan cevaplarda veri aktarılacak dosyanın açılıp açılmayacağı sorulmuş.
Bunun nedeni nedir? Kapalı olan dosya hiç açılmadan veri atılamadığı için mi yoksa hiç açmadan verileri aktarmak için daha fazla kod yazılması gerektiği için mi?
 
bu makro çok güzel olmuş ellerinize sağlık.
Fakat Burada rs.addnew ile yeni satır ekliyor.
Bana şu lazım
kapalı exceldeki ilgili hücrenin değerini değiştirmek örneğin kapalı exceldeki CELLS(5, 8) HÜCRENİN DEĞERİ 8 yazıyorsa 32,50 yapmak istiyorum gibi
yada açık excelimdeki A3 hücresini kapalıdaki b8 hücresine kopyalamak.

BÖYLE BİŞEYİ HİÇBİRYERDE BULAMADIM . YARDIMCI OLURSANIZ ÇOK SEVİNİRİM.
BUNUN GİBİ 3000 E YAKIN EXCEL DOSYA VAR VE DEĞİŞTİRMEM GEREKLİ
 
Düşünceleriniz için ikinize de ayrı ayrı teşekkür ediyorum. :ok::
Hazırladığım kodları ve dosyayı paylaşıyorum.

İyi günler...


Kod:
Private bag As Object

Private Sub Baglan()
Set bag = CreateObject("Adodb.Connection")
bag.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
ThisWorkbook.Path & "\Veriler.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes"""
End Sub

Private Sub CommandButton2_Click()
Baglan
osma = "select * from [Data1$] where [Adı Soyadı]='" & ComboBox1.Text & "'"
Set rs = CreateObject("Adodb.Recordset")
rs.Open osma, bag, 1, 3
If rs.RecordCount = 0 Then
    rs.addnew
    rs(0).Value = TextBox1.Value
    rs(1).Value = ComboBox1.Text
    rs(2).Value = TextBox2.Text
    rs.Update
End If
MsgBox "Kayıt işlemi tamamlanmıştır...", vbInformation, _
"Sn. " & Environ("UserName")
Set rs = Nothing: Set bag = Nothing
End Sub
*********************************
bu makro çok güzel olmuş ellerinize sağlık.
Fakat Burada rs.addnew ile yeni satır ekliyor.
Bana şu lazım
kapalı exceldeki ilgili hücrenin değerini değiştirmek örneğin kapalı exceldeki CELLS(5, 8) HÜCRENİN DEĞERİ 8 yazıyorsa 32,50 yapmak istiyorum gibi
yada açık excelimdeki A3 hücresini kapalıdaki b8 hücresine kopyalamak.

BÖYLE BİŞEYİ HİÇBİRYERDE BULAMADIM . YARDIMCI OLURSANIZ ÇOK SEVİNİRİM.
BUNUN GİBİ 3000 E YAKIN EXCEL DOSYA VAR VE DEĞİŞTİRMEM GEREKLİ
 
merhaba;
C:\Users\ACER\Documents\Kitap1 sayfası altında Sayfa1 'de C6-D6 birleştirilmiş hücresinde "DEĞİŞİKLİK OLMAYACAKTIR."ibaresi var.Bu ibarenin C:\Users\ACER\Desktop\Personel altındaki klasörlerin (yaklaşık 30 Adet) içerisindeki Excel sayfalarınnın (toplam sayfa yaklaşık 3000 adet) B11-C11 hücresine yazılmasını istiyorum;fakat bu işlemi yaparken değişiklik olacak sayfanın KAPALI olarak işlem yapmasını istiyorum.Umarım yardımcı olabilirsiniz.Teşekkürler.
 
merhaba;
C:\Users\ACER\Documents\Kitap1 sayfası altında Sayfa1 'de C6-D6 birleştirilmiş hücresinde "DEĞİŞİKLİK OLMAYACAKTIR."ibaresi var.Bu ibarenin C:\Users\ACER\Desktop\Personel altındaki klasörlerin (yaklaşık 30 Adet) içerisindeki Excel sayfalarınnın (toplam sayfa yaklaşık 3000 adet) B11-C11 hücresine yazılmasını istiyorum;fakat bu işlemi yaparken değişiklik olacak sayfanın KAPALI olarak işlem yapmasını istiyorum.Umarım yardımcı olabilirsiniz.Teşekkürler.

çok zor soru sordum galiba :(
 
open

resim: https://drive.google.com/open?id=1XfMRFdxy8R7Wy19I_OlPhw-iwLQDNP7O

Merhabalar.

Murat Osma abimin hazırlamış olduğu dosyayı deniyordum kendime göre biçimlendirebilmek için , fakat .

Bağlantıda attığım resimdeki gibi hata alıyorum en baştan.

Forumda bana yardımcı olabilecek bilgili abilerim var mı. :) :hey:
 
Düşünceleriniz için ikinize de ayrı ayrı teşekkür ediyorum. :eek:k::
Hazırladığım kodları ve dosyayı paylaşıyorum.

İyi günler...


Kod:
Private bag As Object

Private Sub Baglan()
Set bag = CreateObject("Adodb.Connection")
bag.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
ThisWorkbook.Path & "\Veriler.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes"""
End Sub

Private Sub CommandButton2_Click()
Baglan
osma = "select * from [Data1$] where [Adı Soyadı]='" & ComboBox1.Text & "'"
Set rs = CreateObject("Adodb.Recordset")
rs.Open osma, bag, 1, 3
If rs.RecordCount = 0 Then
    rs.addnew
    rs(0).Value = TextBox1.Value
    rs(1).Value = ComboBox1.Text
    rs(2).Value = TextBox2.Text
    rs.Update
End If
MsgBox "Kayıt işlemi tamamlanmıştır...", vbInformation, _
"Sn. " & Environ("UserName")
Set rs = Nothing: Set bag = Nothing
End Sub


Merhabalar,
Verileri yazdıracağımız Veriler.xls dosyasındaki ilgili sayfa korumalı (sayfa korumalı) ise bu duruma nasıl bir çözüm yolu önerirsiniz?

Sayfa korumasının şifresini kod içerinde uygun şekilde yazılarak bir çözüm üretilebilir mi?

Teşekkürler,

iyi Çalışmalar.
 
Geri
Üst