Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datagrid in Userform

Datagrid in Userform
24.10.2018 10:54:38
emersonlakeandpalmer
Hallo,
ich hoffe man hat mir meine Newbie Fehler verziehen.
Ich habe ein neues Problem.
Ich möchte ein Excel-File direkt in ein Datagrid meiner Userform übernehmen, ohne die entsprechende EXCEL-Datei zu öffnen.
Wie das geht weiß ich.
Aber...
Wenn ich das Object 'DataGrid' in die Userform implementieren will, erhalte ich die Fehlermeldung:
"Der Antragsteller ist für den angegebenen Vorgang nicht als vertrauenswürdig."
Kann mir jemand sagen wie ich das umgehen kann, oder was das überhaupt soll, es ist ja schließlich eine ActiveX-Object von Microsoft selbst?
Gruß
elp
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datagrid in Userform
24.10.2018 11:07:19
Luschi
Hallo elp,
das ist ein uraltes Problem und zeigt, daß M$ Angst vor seinen eigenen Mist, sorry Produkten, hat.
Eine einführende Begründung und einen Lösungsweg findest Du in diesem Link:
https://www.ms-office-forum.net/forum/showthread.php?t=245883#6
Aber der Lösungsweg ist von 2009 und ob das noch so alles läuft, habe nicht ausprobiert.
Gruß von Luschi
aus klein-Paris
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datagrid in Userform einfügen und Fehler beheben


Schritt-für-Schritt-Anleitung

Um ein Excel-File direkt in ein Datagrid deiner Userform zu übernehmen, ohne die Excel-Datei zu öffnen, befolge diese Schritte:

  1. Userform erstellen:

    • Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).
    • Füge eine neue Userform hinzu (rechte Maustaste auf "VBAProject", dann "Einfügen" > "Userform").
  2. Datagrid hinzufügen:

    • Füge ein ActiveX-Steuerelement "Microsoft DataGrid Control" zu deiner Userform hinzu.
    • Du kannst dies im Toolbox-Fenster finden. Sollte es nicht sichtbar sein, klicke mit der rechten Maustaste auf die Toolbox und aktiviere das Steuerelement.
  3. Code zum Laden der Daten:

    • Schreibe den folgenden VBA-Code in das Codefenster der Userform:
    Private Sub UserForm_Initialize()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("DeinBlattName") ' Blattname anpassen
       Me.DataGrid1.DataSource = ws.Range("A1:D10") ' Bereich anpassen
    End Sub
  4. Fehlermeldungen beachten:

    • Wenn du die Fehlermeldung "Der Antragsteller ist für den angegebenen Vorgang nicht als vertrauenswürdig" erhältst, gehe zu den Excel-Optionen und aktiviere die Einstellungen für ActiveX-Steuerelemente.

Häufige Fehler und Lösungen

  • Fehler: "Der Antragsteller ist für den angegebenen Vorgang nicht als vertrauenswürdig"

    • Lösung: Gehe zu "Datei" > "Optionen" > "Trust Center" > "Einstellungen für das Trust Center" > "ActiveX-Einstellungen" und aktiviere die Option, die ActiveX-Steuerelemente erlaubt.
  • Fehler: Datagrid wird nicht aktualisiert

    • Lösung: Stelle sicher, dass die Datenquelle korrekt gesetzt ist und der Bereich in DataSource existiert.

Alternative Methoden

Falls das Datagrid-Control nicht funktioniert oder nicht verfügbar ist, kannst du auch folgende Methoden ausprobieren:

  • ListBox verwenden:

    • Anstatt eines Datagrid kannst du eine ListBox verwenden, um die Daten darzustellen. Die ListBox ist einfacher zu implementieren und benötigt weniger Konfiguration.
  • Excel-Tabelle direkt verwenden:

    • Du kannst die Excel-Tabelle direkt in der Userform anzeigen, indem du den Datenbereich in eine ListBox lädst.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du die Daten aus einem Excel-Blatt in ein Datagrid einfügen kannst:

Private Sub UserForm_Initialize()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Daten")

    ' Daten aus dem Bereich A1 bis D10
    Me.DataGrid1.DataSource = ws.Range("A1:D10")
End Sub

Achte darauf, dass du den Blattnamen und den Datenbereich an deine Bedürfnisse anpasst.


Tipps für Profis

  • Verwende die vba datagridview-Bibliothek: Wenn du häufig mit Datagrids arbeitest, könnte die Verwendung einer speziellen Bibliothek für vba datagridview deine Arbeit erleichtern und zusätzliche Funktionen bieten.

  • Datenbindung optimieren: Versuche, die Datenbindung dynamisch zu gestalten, sodass Änderungen in der Excel-Tabelle automatisch im Datagrid aktualisiert werden.


FAQ: Häufige Fragen

1. Wie kann ich das Datagrid formatieren? Du kannst die Formatierung des Datagrids im VBA-Code anpassen, indem du Eigenschaften wie ColumnWidth, Font oder BackColor verwendest.

2. Ist das Datagrid in allen Excel-Versionen verfügbar? Das Datagrid ist in den meisten modernen Versionen von Excel verfügbar, kann jedoch in älteren Versionen oder bestimmten Office-Paketen fehlen. Stelle sicher, dass du über die richtige Version verfügst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige