• DİKKAT

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

Bağlantıları Güncelle Penceresinde SendKeys Sorunu

Katılım
7 Mayıs 2009
Mesajlar
22
Excel Vers. ve Dili
Office 2010
Merhaba üstatlar.
İş yerinde ağdaki bir bilgisayardaki Excel dosyasından bilgi almak için;
Kod:
='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\$2016$\[Ekim.xlsx]12'!S7
Bu formülü uyguladığımda Güncelleştirecek değerler penceresi çıkıyor. Bu işlemi tek tek yapmak yerine makro ile kod oluşturdum. Windows XP kullanırken kod gayet düzgün bir şekilde çalışıyordu. Fakat Windows 7 yükledikten sonra SendKeys komutu Güncelleştirecek değerler penceresinde çalışmıyor. Altın Üye olmadığım için dosya linkini verdim. Yardım edebilir misiniz ?


Dosya Linki
 
Son düzenleme:
ComboBox içindeki tarihten birisini seçtiğimde, ağdaki bilgisayardan seçtiğim tarihteki değerleri almasını istiyorum.

Dosya Linki Rar

Kod:
Sub ComboBox1_Change()
Dim Say1, Say2, Say3, Gün, Ay, Yil

    Say1 = 6
    Say2 = 22
    Say3 = 17
    
    Range("F1").Value = ComboBox1.Value
    Range("F2").Value = Mid(Range("F1").Value, 1, 2) & "/" & Mid(Range("F1").Value, 4, 2) & "/" & Mid(Range("F1").Value, 7, 4)
    Label1.Caption = Format(Range("F1").Value, "dddd")
    
    Gün = Mid(Range("F1").Value, 1, 2)
    Ay = Format(Range("F1").Value, "mmmm")
    Yil = Format(Range("F1").Value, "yyyy")

       'Do döngüsünü boş hücreye ulaşıldığında duracak şekilde ayarla.
      Range("B" & Say1).Select
      
      Do Until IsEmpty(ActiveCell)
    

      Range("B" & Say1).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$S$" & Say1
      Application.SendKeys "{ESCAPE}", True
      
      Range("C" & Say1).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$T$" & Say1
      Application.SendKeys "{ESCAPE}", True

      Range("D" & Say1).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$U$" & Say1
      Application.SendKeys "{ESCAPE}", True

       'Geçerli konumdan 1 satır aşağı git.
      ActiveCell.Offset(1, 0).Select
      Say1 = Say1 + 1
        If Say1 = 17 Then
          Exit Do
        End If
      Loop

      Range("B" & Say2).Select
      'Do döngüsünü boş hücreye ulaşıldığında duracak şekilde ayarla.
     Do Until IsEmpty(ActiveCell)

      Range("B" & Say2).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$S$" & Say3
      Application.SendKeys "{ESCAPE}"

      Range("C" & Say2).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$T$" & Say3
      Application.SendKeys "{ESCAPE}"

      Range("D" & Say2).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$U$" & Say3
      Application.SendKeys "{ESCAPE}"

       'Geçerli konumdan 1 satır aşağı git.
        ActiveCell.Offset(1, 0).Select
        Say2 = Say2 + 1
        Say3 = Say3 + 1
      Loop
End Sub

Ekran Görüntüsü
MkGM8N.png
 
Merhaba,

Excel4Macro ya da ADO konusunu araştırın.
 
Aşağıdaki linkteki kodlamayı inceleyiniz.

Kapalı dosyadan veri almak

Aynı pc üzerinden bilgileri aldırabiliyorum o konuda sıkıntı yok. Sorun Ağdaki pc den bilgi aldırmak için herhangi bir hücreye aşağıdaki kodu yazdığım zaman, bağlantıları güncelleştir penceresi çıkıyor. Bu pencere üzerinde sendkeys komutu kullanamıyorum. Önceki attığım mesajlarda da ekran resmine kadar gönderdim. Dosyayı da ekte sundum. Ekteki dosya Windows XP bilgisayarda hiç sorunsuz çalışıyor. Fakat Windows 7 de makro SendKeys kodlarına geldiğinde işlem yapmıyor.
Kod:
='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\$2016$\[Ekim.xlsx]20'!S6

NOT:SendKeys kodlarını sadece Bağlantıları Güncelle penceresinde kullanıyorum.
 
Aşağıdaki gibi deneyiniz.

Kod:
Do Events
Application.SendKeys "{ESCAPE}", True

Bu önerim işe yaramazsa kodunuzu aşağıdaki gibi değiştirip deneyiniz.

Kod:
Sub ComboBox1_Change()
    Dim Say1, Say2, Say3, Gün, Ay, Yil

    Say1 = 6
    Say2 = 22
    Say3 = 17
    
    Range("F1").Value = ComboBox1.Value
    Range("F2").Value = Mid(Range("F1").Value, 1, 2) & "/" & Mid(Range("F1").Value, 4, 2) & "/" & Mid(Range("F1").Value, 7, 4)
    Label1.Caption = Format(Range("F1").Value, "dddd")
    
    Gün = Mid(Range("F1").Value, 1, 2)
    Ay = Format(Range("F1").Value, "mmmm")
    Yil = Format(Range("F1").Value, "yyyy")

       'Do döngüsünü boş hücreye ulaşıldığında duracak şekilde ayarla.
      Range("B" & Say1).Select
      
      Application.DisplayAlerts = False
      Do Until IsEmpty(ActiveCell)
    

      Range("B" & Say1).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$S$" & Say1
'      SendKeys "{ESCAPE}", True
      
      Range("C" & Say1).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$T$" & Say1
'      SendKeys "{ESCAPE}", True

      Range("D" & Say1).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$U$" & Say1
'      SendKeys "{ESCAPE}", True

       'Geçerli konumdan 1 satır aşağı git.
      ActiveCell.Offset(1, 0).Select
      Say1 = Say1 + 1
        If Say1 = 17 Then
          Exit Do
        End If
      Loop

      Range("B" & Say2).Select
      'Do döngüsünü boş hücreye ulaşıldığında duracak şekilde ayarla.
     Do Until IsEmpty(ActiveCell)

      Range("B" & Say2).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$S$" & Say3
'      SendKeys "{ESCAPE}", True

      Range("C" & Say2).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$T$" & Say3
'      SendKeys "{ESCAPE}", True

      Range("D" & Say2).Value = "='\\Turbin\C:\Documents and Settings\hc\Desktop\Türbin Raporlar\Günlük Raporlar\" & Yil & "\[" & Ay & ".xlsx]" & Gün & "'!$U$" & Say3
'      SendKeys "{ESCAPE}", True

       'Geçerli konumdan 1 satır aşağı git.
        ActiveCell.Offset(1, 0).Select
        Say2 = Say2 + 1
        Say3 = Say3 + 1
      Loop
      Application.DisplayAlerts = True
End Sub
 
Geri
Üst