Skip to main content

AccessTr.neT


VBA Makro ile Access'teki verileri formatlı Excel sayfasına aktarma hatası

VBA Makro ile Access'teki verileri formatlı Excel sayfasına aktarma hatası

#13
sayın balkan85,

önceki sürüme göre de uygulamanızı ekleme denemelerinz olduysa ve olumlu sonuç aldıysanız,
bu halini de konunuza eklemek ister misiniz,incelemek adına.teşekkürler.

bilginize...iyi çalışmaalr,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#14
(27/09/2016, 15:29)atoz112 yazdı: Sayın balkan85,

Kendi adıma olmak üzere,eklediğiniz uygulama hali ile üst sürüm olması nedeni ile inceleme imkanım olmamaktadır.

Aşağıda bağlantısı yazılı konunun 4.mesajında yer alan işlemleri belirtildiği şekilde uygulamak sureti ile,önceki sürüme (MDB olarak) göre de eklemeniz halinde,bu sürümleri kullananların da konunuza katılımcı olmasına zemin hazırlayabilirsiniz.

otel otomasyonu

Kaldı ki,kullandığınız sürümü kullanan ve uygulamanızı inceleyen katılımcılar tarafından çözüm adına uygun görülecek paylaşımları edinmeniz muhtemel elbet.

Bilginize…iyi çalışmalar,saygılar.

Sayın atoz112,

Maalesef bu yöntemle eski sürümde kaydetmeme de izin vermiyor. Action-smiley-061

Sanki her şeye itiraz ediyor gibi oldum ama kusura bakmayın.

[Resim: do.php?imgf=147498245923291.jpg]

İyi çalışmalar.
Son Düzenleme: 27/09/2016, 16:21, Düzenleyen: balkan85.
Cevapla
#15
Sayın balkan85,

Tam emin olmamakla birlikte,sadece ilk mesajda eklediğiniz kodlar üzerinden değerlendirmek sureti ile ve yine sadece bu kodlara dair olarak geçerli sayılmak sureti ile,bir de, Komut332 adlı butonun içeriğini aşağıdakiler ile değiştirerek kullanmayı deneyebilirsiniz.

On Error GoTo OpenErr

FileCopy "C:\LCW TT\Data\KTDNM.xlsx", "C:\Users\UMIT.BALKAN\Desktop\Talimat " & Ülke & " ID" & Invoice_ID & " " & Kap_Sayısı & " Kap.xlsx"

Dim MyXL As Object

Set MyXL = GetObject("C:\Users\UMIT.BALKAN\Desktop\Talimat " & Ülke & " ID" & Invoice_ID & " " & Kap_Sayısı & " Kap.xlsx")

MyXL.Application.Visible = True
MyXL.Application.WindowState = 3
MyXL.Parent.Windows(1).Visible = True
MyXL.Parent.ActiveWindow.WindowState = 2

   With MyXL.worksheets(1)
       .Range("B4").Value = Acente
       .Range("B3").Value = Adı & " " & Soyadı
       .Range("E3").Value = Date
       .Range("B30").Value = Banka
       .Range("B14").Value = Alıcı_Firma_Ünvanı
       .Range("B16").Value = Alıcı_Firma_Adresi
       .Range("B32").Value = Ödeme_Şekli
       .Range("B34").Value = Teslim_Şekli
       .Range("D38").Value = Gross_Weight
       .Range("D39").Value = Net_Weight
       .Range("D40").Value = Kap_Sayısı
       .Range("D41").Value = Invoice_ID
       .Range("B24").Value = Varış_Yeri
       .Range("C43").Value = CI
       .Range("C44").Value = PL
       .Range("C45").Value = PRL
       .Range("C46").Value = CO
       .Range("C48").Value = FORMA
       .Range("C49").Value = CMR
       .Range("C50").Value = AWB
       .Range("B54").Value = Talimat_Notları
   End With
   
If CI_Onay = True Then
MyXL.worksheets(1).Range("E43").Value = "<- TİCARET ODASI ONAYLI"
End If

If PRL_Onay = True Then
MyXL.worksheets(1).Range("E45").Value = "<- TİCARET ODASI ONAYLI"
End If

MyXL.WorkSheets(1).Activate
MyXL.ActiveSheet.PrintOut
MyXL.Application.DisplayAlerts = False
MyXL.Application.Quit

Me.Repaint
DoCmd.SelectObject acForm, Me.Name

OpenEnd:
Set MyXL = Nothing
Exit Sub

OpenErr:
Select Case err.Number
Case 1004 ' can't write to protected cell
Resume Next
case else
Msgbox err.Number & " " & err.Description
Resume OpenEnd
End Select

Olumsuz durumda,zaten bilgilendirmede bulunacaksınızdır.

Bilginize…iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#16
(27/09/2016, 17:12)atoz112 yazdı: Sayın balkan85,

Tam emin olmamakla birlikte,sadece ilk mesajda eklediğiniz kodlar üzerinden değerlendirmek sureti ile ve yine sadece bu kodlara dair olarak geçerli sayılmak sureti ile,bir de, Komut332 adlı butonun içeriğini aşağıdakiler ile değiştirerek kullanmayı deneyebilirsiniz.

On Error GoTo OpenErr

FileCopy "C:\LCW TT\Data\KTDNM.xlsx", "C:\Users\UMIT.BALKAN\Desktop\Talimat " & Ülke & " ID" & Invoice_ID & " " & Kap_Sayısı & " Kap.xlsx"

Dim MyXL As Object

Set MyXL = GetObject("C:\Users\UMIT.BALKAN\Desktop\Talimat " & Ülke & " ID" & Invoice_ID & " " & Kap_Sayısı & " Kap.xlsx")

MyXL.Application.Visible = True
MyXL.Application.WindowState = 3
MyXL.Parent.Windows(1).Visible = True
MyXL.Parent.ActiveWindow.WindowState = 2

   With MyXL.worksheets(1)
       .Range("B4").Value = Acente
       .Range("B3").Value = Adı & " " & Soyadı
       .Range("E3").Value = Date
       .Range("B30").Value = Banka
       .Range("B14").Value = Alıcı_Firma_Ünvanı
       .Range("B16").Value = Alıcı_Firma_Adresi
       .Range("B32").Value = Ödeme_Şekli
       .Range("B34").Value = Teslim_Şekli
       .Range("D38").Value = Gross_Weight
       .Range("D39").Value = Net_Weight
       .Range("D40").Value = Kap_Sayısı
       .Range("D41").Value = Invoice_ID
       .Range("B24").Value = Varış_Yeri
       .Range("C43").Value = CI
       .Range("C44").Value = PL
       .Range("C45").Value = PRL
       .Range("C46").Value = CO
       .Range("C48").Value = FORMA
       .Range("C49").Value = CMR
       .Range("C50").Value = AWB
       .Range("B54").Value = Talimat_Notları
   End With
   
If CI_Onay = True Then
MyXL.worksheets(1).Range("E43").Value = "<- TİCARET ODASI ONAYLI"
End If

If PRL_Onay = True Then
MyXL.worksheets(1).Range("E45").Value = "<- TİCARET ODASI ONAYLI"
End If

MyXL.WorkSheets(1).Activate
MyXL.ActiveSheet.PrintOut
MyXL.Application.DisplayAlerts = False
MyXL.Application.Quit

Me.Repaint
DoCmd.SelectObject acForm, Me.Name

OpenEnd:
Set MyXL = Nothing
Exit Sub

OpenErr:
Select Case err.Number
Case 1004 ' can't write to protected cell
Resume Next
case else
Msgbox err.Number & " " & err.Description
Resume OpenEnd
End Select

Olumsuz durumda,zaten bilgilendirmede bulunacaksınızdır.

Bilginize…iyi çalışmalar,saygılar.

Sayın atoz112,

Maalesef yine olmadı. Yine aynı satırda "Subscript out of range" hatası veriyor.

MyXL.Parent.Windows(1).Visible = True

Sürümden kaynaklı olarak test edemeyip, yine de yardımcı olmak adına gösterdiğiniz çabadan ötürü size çok teşekkür ederim.

İyi günler,
Cevapla
#17
Sayın balkan85,

Acaba etkisi olur mu ya da geçerli olur mu,bir yorum yapamıyorum,denemediğim için fakat;

WindowState ifadesinin olduğu satırlar için,sayısal değerin yerine =xlMaximized ifadesini kullanmak uygun olabilir mi.

Application.WindowState Property (Excel)

XlWindowState Enumeration (Excel)

Denemek lazım,hani bir ihtimal adına.

Bilginize…iyi çalışmalar,saygılar.
sayın balkan85,

(sadece,bir hatırlatma ve bilgilendirme olması adına);

lütfen,konularınıza mesaj yazan katılımcıların yazdıklarının tamamını ALINTI olarak almak yerine,yazılana atıfta bulunmak amacı ile yeni bir mesaj yazacak olduğunuzda,

bütün mesajı değil,SADECE gerekli gördüğünüz bir cümlesini ya da paragrafını alıp dahil etmeye özen gösteriniz.
teşekkürler.

bilginize...iyi çalışmalar,saygılar.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#18
Merhaba,


MyXL.Application.Visible = False
kodunu


MyXL.Application.Visible = True

şeklinde değiştirerek deneyiniz.

Kodun doğru sıralaması aşağıdaki gibi olmalı.

MyXL.Application.Visible = True
MyXL.Application.WindowState = 3
MyXL.Parent.Windows(1).Visible = True
MyXL.Parent.ActiveWindow.WindowState = 2
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task