Thema Datum  Von Nutzer Rating
Antwort
18.03.2009 12:15:45 Brauner
NotSolved
18.03.2009 15:42:46 Holger
NotSolved
20.03.2009 10:30:04 Brauner
NotSolved
Blau Aw:Aw:Aw:Ein Makro in mehreren Userform verwenden
22.03.2009 09:59:57 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
22.03.2009 09:59:57
Views:
875
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:Ein Makro in mehreren Userform verwenden
Hallo Brauner,
ich habe eben erst gesehen, dass du noch eine weitere Frage hast.
Ich habe mich schlecht ausgedrückt. Ich meinte, du musst außerhalb aller Subs und Functions, am Besten ganz zu Beginn des Codes in einem Modul,
Public SC as String
setzen. VBA fügt nach Verlassen der Zeile einen Strich unter diese Zeile ein. Diese Variable verliert nach Ende einer Sub nicht ihren Wert und kann in allen Subs und Functions aller Module verwendet und verändert werden, soforn du dies nicht durch andere Maßnahmen wie Aktivierung der Option Private Module ausgeschlossen hast. Aber Vorsicht: Wenn du sie nur zur Übergabe von Variablen in einem begrenzten Programm benötigst, verwende nicht allzu gängige Variablennamen, die vielleicht auch in anderen Programmen vorkommen und somit zu Fehlern führen können.
Gruß
Holger




Brauner schrieb am 20.03.2009 10:30:04:

Danke! Danke!! Danke!!! Mit ein bisschen umstellen funktioniert das schon mal :-)) Sehr schön.
Trotzdem würde mich interessieren, wie man ein Public Sub anlegt.
Muss dazu extra ein Public-Modul angelegt werden oder kann ich das in eins der vorhandenen (, AutoClose, AppControls, AppSettings und AppHyperlinks) einschreiben?
Würde das ganze dann

Public sub?/function? ZuordnungSC()
.
.
.
end sub?/function?
in das modul schreiben


Deklariere ich das dann mit:

Dim ZuordnungSC As String? und wenn ja in der Userform oder im Modul, hab beides schon versucht, klappt beides irgendwie nicht :-(

und welche "Brücke" müsste ich einbauen, damit ich von den Userform auf das Modul zugreifen kann?

Wie gesagt, ist für mich noch alles ziemlich neu!

Danke im Voraus!!!


Holger schrieb am 18.03.2009 15:42:46:

Hallo Brauner,
warum schreibst nicht einfach SC=Tabelle11.Range("E28") ?
Wenn es komplizierter sein muss, musst du die Variable SC in einem Modul Public deklarieren, damit sie in anderen Bereichen ausgewertet werden kann.
Gruß
Holger


Brauner schrieb am 18.03.2009 12:15:45:

Hallo, ich lerne gerade erst den Umgang mit VB und habe ein Problem:

Ich habe ca. 50 Userform und in jeder Userform habe ich nach

Private Sub UserForm_Activate()
.
.
.

eine If-Funktion

If Tabelle11.Range("E28") = "SC Schwerin" Then
SC = "SC Schwerin, "
End If
If Tabelle11.Range("E28") = "SC Hamburg" Then
SC = "SC Hamburg, "
End If
If Tabelle11.Range("E28") = "SC Neumünster" Then
SC = "SC Neumünster, "
End If
If Tabelle11.Range("E28") = "SC Rostock" Then
SC = "SC Rostock, "
End If

Nun möchte ich die Anwendung verkleinern, indem ich die If-Funktion in ein Modul? abspeicher und in jeder Userform einfach eine "Call" ergänze, die dann auf die If Funktion zugreift

Ich habe mir das wie folgt gedacht

Private Sub UserForm_Activate()
Call ZuordnungSC
.
.
.
end sub

Im Modul? (egal welches?) Die Moule heißen: AutoOpen, AutoClose, AppControls, AppSettings und AppHyperlinks (Hab das Programm so übernommen und die Module nicht selbst erstellt.

habe ich dann

Sub ZuordnungSC()
If Tabelle11.Range("E28") = "SC Schwerin" Then
SC = "SC Schwerin, "
End If
If Tabelle11.Range("E28") = "SC Hamburg" Then
SC = "SC Hamburg, "
End If
If Tabelle11.Range("E28") = "SC Neumünster" Then
SC = "SC Neumünster, "
End If
If Tabelle11.Range("E28") = "SC Rostock" Then
SC = "SC Rostock, "
End If
End Sub


Aber irgendwie klappt das alles nicht. VB-Hilfe und fleißiges googlen konnten mir bisher leider nicht helfen.
Wie gesagt, bin VB Anfänger.

Was mach ich verkehrt? Hab auch schon Sachen wie Public Function usw. versucht, weiß aber auch da nicht, wie das ganz genau funktioniert.

Für Hilfe wäre ich sehr dankbar!!!

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
18.03.2009 12:15:45 Brauner
NotSolved
18.03.2009 15:42:46 Holger
NotSolved
20.03.2009 10:30:04 Brauner
NotSolved
Blau Aw:Aw:Aw:Ein Makro in mehreren Userform verwenden
22.03.2009 09:59:57 Holger
NotSolved