Thema Datum  Von Nutzer Rating
Antwort
Rot Problem mit der "ExecuteExcel4Macro" Funktion
24.04.2018 20:54:53 Sebastian
NotSolved
24.04.2018 22:09:55 Gast7777
NotSolved
24.04.2018 22:28:35 Gast6529
NotSolved
24.04.2018 22:35:06 Gast7777
NotSolved
24.04.2018 22:59:43 Gast1560
NotSolved
24.04.2018 22:26:56 Gast33539
NotSolved

Ansicht des Beitrags:
Von:
Sebastian
Datum:
24.04.2018 20:54:53
Views:
928
Rating: Antwort:
  Ja
Thema:
Problem mit der "ExecuteExcel4Macro" Funktion

Hallo liebe VBA-Profis,

ich habe folgendes Problem. Ich habe ein kleines Programm erstellt, dass Daten aus einer anderen Excel-Tabelle mit der ExecuteExcel4Macro-Funktion ausliest.
Die ausgelesenen Daten werden dann in einer Userform eingetragen. Prinzipiell funktioniert das Programm auch wunderbar aber es gibt ein Problem:

Sobald ich eine andere Excel-Datei öffne, stürzt meine Programmierung ab wenn ich Daten aus der externen Datentabelle abrufen will. ExecuteExcel4Macro braucht es, dass die Excel-Datei die den Code enthält aktiv ist.
Jetzt habe ich mir eine Funktion geschrieben die vor jedem Knopfdruck in meiner userform die Datei mit dem Code aktiviert damit meine GetValue Funktion keinen Fehler mehr produziert.
Das Problem ist nur, dass dadurch die Excel-Tabelle wieder sichtbar wird und die zusätzlich geöffnete Tabelle minimiert. Will ich jetzt aus dieser zusätzlich geöffneten Tabelle Daten in der Userform eingeben( Es handelt sich um Personendaten) wird das eine elende Hin- und Herklickerei und der gesamte Ablauf wird elend langsam.
Hat jemand eine Idee wie man die Datei mit dem Code akiviert, ohne dass die externe Datei dadurch abgeblendet wird?

Hier die GetValue-Funktion:

Public Function GetValue(Pfad, Datei, blatt, zelle)
Dim arg As String

arg = "'" & Pfad & "[" & Datei & "]" & blatt & "'!" & Range(zelle).Range("A1").Address(, , xlR1C1)
'** Auslesen über Excel4Macro
GetValue = ExecuteExcel4Macro(arg)

End Function

und mein unbefriedigender Workaround:

Sub SaveKeep()
    Application.ScreenUpdating = False
   Workbooks("Steuerung.xlsm").Sheets("Start").Activate
   Application.ScreenUpdating = True
End Sub

Das "Application.ScreenUpdating = False" hilft leider nicht. Mit "ThisWorkbook" erhalte ich ebenfalls die Fehlermeldung "Laufzeitfehler '9'.Index außerhalb des gültigen Bereichs." Ein anderer Workaround wäre Excel bei einer weiteren Datei eine neue Instanz öffnen zu lassen, so dass sich die Dateien nicht ins Gehege kommen. Das aber ändert auch wieder den Arbeitsablauf und das will ich vermeiden.

Wer hat eine Idee zu meinem Problem?
Lg


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Problem mit der "ExecuteExcel4Macro" Funktion
24.04.2018 20:54:53 Sebastian
NotSolved
24.04.2018 22:09:55 Gast7777
NotSolved
24.04.2018 22:28:35 Gast6529
NotSolved
24.04.2018 22:35:06 Gast7777
NotSolved
24.04.2018 22:59:43 Gast1560
NotSolved
24.04.2018 22:26:56 Gast33539
NotSolved