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

Forumthread: Integrierte Maske in Excel mit VBA aufrufen

Integrierte Maske in Excel mit VBA aufrufen
28.08.2023 14:31:14
Luna
Hallo ins Forum,
eine kurze Frage. Kann man die in Excel integrierte Maske per VBA aufrufen und wenn JA dann wie. Ich habe eine kleine Tabelle und da ist die integrierte Maske völlig ausreichend nur würde ich die gerne über einen extra Button auf dem Tabellenblatt aufrufen.
Vielen Dank wie immer an alle die hier so toll helfen.
Luna
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Integrierte Maske in Excel mit VBA aufrufen
28.08.2023 14:58:51
Luna
Hallo Ralf,
vielen Dank für den Link. Leider habe ich nicht diese VBA Kentnisse um das umzusetzen so das es funktioniert.
Luna
Anzeige
Integrierte Maske in Excel mit VBA aufrufen
28.08.2023 14:57:26
daniel
HI
ActiveSheet.ShowDataForm

https://learn.microsoft.com/de-de/office/vba/api/excel.worksheet.showdataform
die Tabelle sollte in A1 beginnen. Gab hier mal vor kurzem einen Tread, in dem jemand gezeigt hat wie man auch mit Tabellen arbeiten kann, die nicht in A1 beginnen, aber gemerkt habe ich mir das nicht.
Eigentlich sollte es auch einen Menübutton dafür geben, aber den habe ich noch nicht gefunden, auch wenn MS was anderes schreibt:
https://support.microsoft.com/de-de/office/was-ist-mit-dem-datenformular-passiert-dea2f0b9-4ce7-4144-af3d-f068eb926fd7

Gruß Daniel
Anzeige
Integrierte Maske in Excel mit VBA aufrufen
28.08.2023 15:37:44
GerdL
Hallo,

markiere deinen Bereich, füge für diesen einen Namen (->Menü Formeln ->Namen definieren) (bezogen auf: Arbeitsmappe) ein.

Weise dem Button z.B. folgendes Makro zu:

Sub MakroA()

Range("DeinBereichname").Worksheets.ShowDataForm

End Sub

Viel Erfolg!
Gruß Gerd
Anzeige
Integrierte Maske in Excel mit VBA aufrufen
29.08.2023 00:36:39
Luna
Hallo GerdL,
vielen Dank aber das klappt bei mir irgendwie nicht. Die Tabelle die ich nutze ist eine intelligente Tabelle und den Namen habe ich eingefügt aber es kommt immer der Debugger. Ich habe dein Makro in ein Modul eingefügt.

Sub MakroA()

Range("Tab_RestProd").Worksheets.ShowDataForm
End Sub


Mache ich etwas falsch?
Luna
Anzeige
@Daniel
28.08.2023 15:00:45
RPP63
Moin!
Entgegen Deines zweiten Links muss man nicht nach "Formular", sondern nach "Maske" suchen.

Gruß Ralf
Integrierte Maske in Excel mit VBA aufrufen
28.08.2023 15:00:52
Luna
Hallo Daniel,
vielen Dank. Meine Tabellen fangen immer in B4 mit der Überschrift an und in B5 ist dann der erste Eintrag.
Luna
Integrierte Maske in Excel mit VBA aufrufen
28.08.2023 15:31:52
Ulf
Hi Luna,
Den Bereich auswählen + 1 Leerzeile darunter, dann Namen Datenbank vergeben, aufrufen mit
Public Sub Maske()

Dim rg As Range
Set rg = ThisWorkbook.Names("Datenbank").RefersToRange
rg.Worksheet.ShowDataForm
End Sub

hth
Ulf
Anzeige
Integrierte Maske in Excel mit VBA aufrufen
29.08.2023 00:41:54
Luna
Hallo Ulf,
vielen Dank für deine Hilfe aber das klappt bei mir auch nicht. Was mache ich nur falsch? Meine Tabelle ist eine intelligente Tabelle und dein Makro habe ich wie folgt in ein Modul geschrieben.

Public Sub Maske()

Dim rg As Range
Set rg = ThisWorkbook.Names("Tab_RestProd").RefersToRange
rg.Worksheet.ShowDataForm
End Sub


Wo habe ich den Fehler?
Luna
Anzeige
Integrierte Maske in Excel mit VBA aufrufen
28.08.2023 15:06:35
Luna
@ Daniel
Es funktioniert auf jeden Fall ohne Probleme wenn ich mit der Tabelle in A1 beginne. Wenn noch jemand eine Idee hat wie es auch in einer anderen Zelle, wie bei mir in B4, funktioniert wäre ich sehr dankbar.
Luna
Integrierte Maske in Excel mit VBA aufrufen
28.08.2023 15:25:12
daniel
Hi
die Frage hatten wir vor kurzem (ist sogar noch auf dieser Seite aktiv), einfach mal über Seitensuche nach "ShowDataForm" suchen (22.8)
ansonsten über das Archiv
https://www.herber.de/forum/archiv/1940to1944/1943800_Laufzeitfehler_1004_ShowDataForm_Methode.html
Ulf hatte wohl eine Lösung für das Problem.
Was ich danach dazu geschrieben hab, war irgendwie nicht ganz richtig.

wenn du nur den Button zum aufrufen benötigst, dann brauchst du kein Makro dafür, es gibt für den Aufruf der Maske auch einen originären Menübutton. Der richtet sich nach der aktiven Zelle, dh, die Tabelle kann auch woanders liegen als in A1, sie muss nur als Tabelle erkennbar sein, es reicht die obere linke Zelle zu markieren.
Du kannst dir diesen Button auch auf die Schnellzugriffsleiste oder in ein neues Register legen, wie das geht steht ja in einem der Links. Es kann nur sein, wie Ralf angemerkt hat, dass die Funktion dort nicht "Formular" wie im Link beschrieben, sondern "Maske" heißt

Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Integrierte Maske in Excel mit VBA aufrufen


Schritt-für-Schritt-Anleitung

Um die integrierte Maske in Excel über VBA aufzurufen, kannst du folgende Schritte befolgen:

  1. Tabelle vorbereiten: Stelle sicher, dass deine Tabelle korrekt formatiert ist. Die integrierte Maske funktioniert am besten, wenn die Daten in einer Tabelle oder in einem benannten Bereich organisiert sind.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Modul hinzufügen: Klicke im Projektfenster mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  4. Code eingeben: Füge den folgenden Code in das neue Modul ein:

    Sub ExcelMaskeOeffnen()
       ActiveSheet.ShowDataForm
    End Sub
  5. Button erstellen: Gehe zurück zu deinem Excel-Arbeitsblatt, wähle das Register Entwicklertools und klicke auf Einfügen. Wähle den Button (Formularsteuerung) aus und ziehe ihn auf dein Arbeitsblatt.

  6. Makro zuweisen: Nach dem Erstellen des Buttons wirst du aufgefordert, ein Makro zuzuweisen. Wähle ExcelMaskeOeffnen aus der Liste aus und klicke auf OK.

  7. Maske testen: Klicke auf den Button, um die integrierte Maske zu öffnen.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004": Dieser Fehler tritt häufig auf, wenn der Bereich, den du aufrufst, nicht korrekt definiert oder nicht sichtbar ist. Stelle sicher, dass der benannte Bereich oder die Tabelle korrekt ausgewählt ist.

  • Maske öffnet sich nicht: Überprüfe, ob der Button korrekt mit dem Makro verknüpft ist. Du kannst dies im VBA-Editor unter Formularsteuerung überprüfen.

  • Debugging beim Ausführen des Makros: Wenn der Debugger sich öffnet, überprüfe die Syntax des Codes und stelle sicher, dass du den richtigen Bereich referenzierst.


Alternative Methoden

Wenn das direkte Aufrufen der Maske per VBA nicht funktioniert, gibt es alternative Methoden:

  • Menübutton verwenden: In Excel gibt es die Möglichkeit, die Maske über einen Menübutton zu öffnen. Dieser ist standardmäßig in der Schnellzugriffsleiste verfügbar. Du kannst ihn hinzufügen, indem du mit der rechten Maustaste auf die Schnellzugriffsleiste klickst und Anpassen... wählst. Suche nach der Option "Maske" und füge sie hinzu.

  • Excel Eingabemaske VBA nutzen: Wenn du VBA nicht verwenden möchtest, kannst du auch das Menü Daten > Formular... nutzen, um die Maske zu öffnen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die integrierte Maske in verschiedenen Szenarien nutzen kannst:

  1. Einfache Tabelle: Wenn deine Tabelle in A1 beginnt, kannst du einfach den Makro-Code ActiveSheet.ShowDataForm verwenden, um die Maske zu öffnen.

  2. Intelligente Tabelle: Wenn deine Tabelle in B4 beginnt, stelle sicher, dass du den Bereich korrekt benennst. Der Code könnte dann so aussehen:

    Sub MaskeIntelligent()
       Dim rg As Range
       Set rg = ThisWorkbook.Names("DeineTabelle").RefersToRange
       rg.Worksheet.ShowDataForm
    End Sub
  3. Datenbankbereich: Wenn du einen benannten Bereich für deine Datenbank hast, kannst du diesen anstelle des direkten Bereichs verwenden, um die Maske zu öffnen.


Tipps für Profis

  • Benannte Bereiche: Verwende benannte Bereiche, um die Lesbarkeit deines VBA-Codes zu erhöhen. Dies macht es einfacher, Fehler zu vermeiden und den Code zu verstehen.

  • Fehlerbehandlung: Implementiere eine einfache Fehlerbehandlung in deinem VBA-Code, um mögliche Probleme beim Ausführen der Maske zu identifizieren.

  • Schnellzugriffsleiste anpassen: Füge häufig verwendete Funktionen der Schnellzugriffsleiste hinzu, um schnelleren Zugriff auf die Eingabemaske zu erhalten.


FAQ: Häufige Fragen

1. Wie kann ich die Maske in einer intelligenten Tabelle aufrufen?
Um die Maske in einer intelligenten Tabelle zu öffnen, musst du sicherstellen, dass der Bereich korrekt benannt ist. Verwende den VBA-Code, um den Namen der Tabelle zu referenzieren.

2. Kann ich die Maske auch ohne VBA öffnen?
Ja, du kannst die Maske über das Menü Daten > Formular... aufrufen, ohne VBA verwenden zu müssen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige