Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Makro um die Schaltfläche Maske aufrufen zu können???

1,680 views
Skip to first unread message

Maria Gödiker

unread,
Feb 20, 2004, 9:25:38 AM2/20/04
to
Hallo an alle

ich möchte in einem bestimmten Tabellenblatt das Dialogfeld "Daten -->
Maske --> Kriterien mit einem Klick aufrufen können. Gibt es dazu ein Mako?
Ich habe schon selber versucht ein Makro zu erstellen, aber wenn das
Dialogfeld "Maske" geöffnet ist, kann ich die Schaltfläche vom Makro -
Aufnahme beenden - nicht anklicken.

Gödiker


Herbert Taferner

unread,
Feb 20, 2004, 2:50:54 PM2/20/04
to
Hallo Maria,

in ein Modul
z. B. für Tabelle2
'--------------------------
Sub Maske()

Worksheets("Tabelle2").ShowDataForm

End Sub

'-----------------------

mfg Herbert


Maria Gödiker

unread,
Feb 21, 2004, 4:18:14 AM2/21/04
to
 
"Herbert Taferner" <t.he...@SPAMgmx.at> schrieb im Newsbeitrag news:uct%23Er%239DH...@TK2MSFTNGP10.phx.gbl...
> Hallo Maria,
Hallo Herbert
danke für deine Antwort - leider klappt das mit dem Makro nicht so wie ich möchte.  Die Tabelle, die angesprochen werden soll, heißt "Kunden".
 
Ich habe jetzt das Modul folgendermaßen genannt:
 
Sub Maske()

  Worksheets("Kunden").ShowDataForm

End Sub
 
Wenn ich jetzt in der Tabelle die in der Zeile 5 (hier sind die Spaltenüberschriften) markiere, das Modul aufrufe, bekomme ich eine Fehlermeldung, dass die erste Zeile keine Überschrift enthält. Wie kann ich das Modul ändern, dass die 5. Zeile angesprochen wird?
 
Ich muss dazu sagen, dass ich eigendlich im Bereich Makros/Module Laie bin.
 
Gödiker
 
 

Herbert Taferner

unread,
Feb 21, 2004, 6:29:15 AM2/21/04
to
Hallo Maria,
 
>Ich habe jetzt das Modul folgendermaßen genannt:
>
>Sub Maske()
>
>  Worksheets("Kunden").ShowDataForm
>
>End Sub
>
>Wenn ich jetzt in der Tabelle die in der Zeile 5 (hier sind die Spaltenüberschriften) markiere, das Modul aufrufe, bekomme ich eine >Fehlermeldung, dass die erste Zeile keine Überschrift enthält. Wie kann ich das Modul ändern, dass die 5. Zeile angesprochen wird?
>
>Ich muss dazu sagen, dass ich eigendlich im Bereich Makros/Module Laie bin.
>
 
da gibt es ein paar Möglichkeiten,
entweder du formatierst die Überschriften
anders als die Daten z. B. FETT 
das VBA das erkennt wo sie sind
 
oder du machst es wie zu Fuß
'----------------------------------------- 
Sub Maske()
Worksheets("Kunden").Range("A5").Select
SendKeys "%nm"
SendKeys "%N"
End Sub
'-----------------------------------------
 
mfg  Herbert
 

Maria Gödiker

unread,
Feb 21, 2004, 7:00:36 AM2/21/04
to
Hallo Herbert
 
obwohl ich die Zeile 5 fett formatiert hatte, hat das VBA es nicht erkannt. Aber jetzt mit deinem Makro klappt es - auch wenn ich nicht alles versteht. Nun wollte ich dem Makro eine Tastenkombination zufügen, habe das über Makro - Optionen gemacht.
Wenn ich dann die Tastenkombination testen möchte, kommt wieder die alte Fehlermeldung, dass keine Spaltenüberschriften gefunden wurden. Was mache ich da noch falsch?
 
Maria

Herbert Taferner

unread,
Feb 21, 2004, 12:20:26 PM2/21/04
to
Hallo Maria,
 
>obwohl ich die Zeile 5 fett formatiert hatte, hat das VBA es nicht erkannt.
>Aber jetzt mit deinem Makro klappt es - auch wenn ich nicht alles versteht.
>Nun wollte ich dem Makro eine Tastenkombination zufügen, habe das über Makro - Optionen gemacht.
>
 
versuche einmal das
kopiere in DieseArbeitsmappe den Code
dann speichern und wieder öffnen
 
'  ------------------------------------------------
Private Sub Workbook_Open()
    'Das Makro Maske mit [Strg] + [t] starten
    Application.OnKey "^t", "Maske"
    ' oder z. B. mit F10
    ' Application.OnKey "{F10}", "Maske"
 
End Sub
'  ------------------------------------------------
 
jetzt müßte das Makro beim drücken
von STRG + T ausgeführt werden
oder wenn du die andere Zeile aktivierst
dann mit  F10 aber nach Änderung immer
speichern und neu starten, das wird nur
beim öffnen der Arbeitsmappe durchlaufen
und eben die Taste dem Befehl zugewiesen
wie der Befehl Workbook_Open schon sagt
 
das Einfügen in DieseArbeitsmappe wie folgt
nach drücken von ALT + F11 startet der VBA Editor
in der linken Spalte im Projektexplorer
doppelklick auf diese Arbeitsmappe und
den obenstehenden Code einfügen
 
>Wenn ich dann die Tastenkombination testen möchte, kommt wieder die alte Fehlermeldung,
>dass keine Spaltenüberschriften gefunden wurden. Was mache ich da noch falsch?
>
 
mit ShowDataForm das ist ein wenig störrisch
es setzt eben voraus das der Begin der Daten in der linken
oberen Ecke ist, siehe hier
 
 
du könntest den Bereich als z. B. "Datenbank" benennen
und ihn gleich mitgeben beim starten
diesen Code in ein Modul einfügen
im VBA Editor links z. B. rechtsklick auf Tabelle1
dann wählen Einfügen Modul in das erscheinende Fenster
untenstehenden Code einfügen
 
speichern schließen und wiedeer starten
 
da müßtest du noch den Bereich anpassen
hier einmal angenommen letzte Spalte der Daten ist "F"
 
'-----------------------------------------------------
Sub Maske()
Dim LngLz As Long
Dim StrTab As String
Dim ByIND As Byte
 
StrTab = "Kunden"
BySpalte = "F"      ' letzte Spalte der Daten
 
With Worksheets(StrTab)
    ByIND = .Index
    LngLz = .Cells(Rows.Count, 1).End(xlUp).Row
 
   ActiveWorkbook.Names.Add _
      Name:="Datenbank", _
      RefersTo:="=" & Worksheets(ByIND).Name & "!" & _
      Range("A5:" & BySpalte & LngLz).Address
   .Activate
   .ShowDataForm
End With
End Sub
'-----------------------------------------------------
 
mfg  Herbert
 
 
 

Maria Gödiker

unread,
Feb 22, 2004, 5:47:54 AM2/22/04
to
Hallo Herbert
 
danke für die Hilfe - das letzte habe ich nicht alles verstanden und ausprobiert. Mir ist die Idee gekommen in den oberen Zeilen eine Schaltfläche unterzubringen, da die oberen 5 Zeilen fixiert sind. Das funktioniert dann mit dem Makro sauben.
 
Maria
"Herbert Taferner" <t.he...@SPAMgmx.at> schrieb im Newsbeitrag news:erGJz7J%23DHA...@TK2MSFTNGP11.phx.gbl...

Maria Gödiker

unread,
Feb 22, 2004, 6:27:59 AM2/22/04
to
Hallo Herbert - ich bins nochmal wieder
 
Leider habe ich versäumt, die Kriteriensuche zu testen. Wenn ich auf dem alten Weg über Daten - Maske - Kriterien ein Suchwort eingebe, funktioniert alles. Wenn ich die Schaltfläche anklicke, muss ich erst auf Kriterien klicken (was nicht ganz so schlimm ist) und dann funktioniert es trotzdem nicht. Obwohl im linken Beeich alle Spaltenüberschriften angezeigt werden.
 
Maria

Herbert Taferner

unread,
Feb 22, 2004, 8:39:16 AM2/22/04
to
Hallo Maria,
 
>Leider habe ich versäumt, die Kriteriensuche zu testen. Wenn ich auf dem alten Weg über Daten - Maske - Kriterien ein Suchwort eingebe, >funktioniert alles. Wenn ich die Schaltfläche anklicke, muss ich erst auf Kriterien klicken (was nicht ganz so schlimm ist) und dann >funktioniert es trotzdem nicht. Obwohl im linken Beeich alle Spaltenüberschriften angezeigt werden.
 
ich verstehe momentan dein Problem nicht ganz
 
wenn du die Maske öffnest, ich sage jetzt einmal
ganz egal wie dann erscheint die Maske und
in den Feldern ist der erste Datensatz enthalten
wenn du nach Kriterien suchen willst, dann mußt du
Kriterien anklicken, und in irgend einem Feld einen
Wert eingeben, das ist ja auch normal.
 
Wenn ich das jetzt so nachvollziehe mit der
letzten Version die ich dir gesendet habe, dann
geht das ganz normal.
 
oder verstehe ich da jetzt was falsch?
 
mfg  Herbert

marco....@gmail.com

unread,
Jul 16, 2020, 5:33:07 PM7/16/20
to
Hallo Herbert!

Ich probiere das selbe in meiner Tabelle.

wenn ich den Code

Sub DataForm()
ActiveSheet.ShowDataForm
End Sub

bei mir eingebe erscheint der Laufzeitfehler 1004,
kannst du mir sagen was ich falsch mache ???? ich will umbedingt ein einfaches makro zur maske .

Danke dir ! Marco
0 new messages