Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro aufrufen

Makro aufrufen
27.08.2003 23:11:07
Stefan Glander
Nabend Excelanier,
In einem Uf, das in Tabellenblatt1 aufgerufen wird lege ich mit dem UF ein neues Tabellenblatt an. Ich möchte in diesem neuen Tabellenblatt gleich ein paar Dinge vorgeben ( Siehe Code ) soweit auch kein Problem.
Wenn ich nun ein Makro ( makro3 )in den Code einbaue wird dieses aber auf Blatt1 durchgeführt.
Wie muss ich den code ändern damit das Makro auf dem neuen Blatt läuft ?
Private Sub btnErstellen_Click()

Dim wksNeueTabelle As Worksheet
On Error Resume Next
If Me.txbName <> "" Then
Set wksNeueTabelle = ThisWorkbook.Sheets(Me.txbName.Text)
If wksNeueTabelle Is Nothing Then
Set wksNeueTabelle = ThisWorkbook.Worksheets.Add
wksNeueTabelle.Name = Me.txbName
Unload Me
Worksheets("Tabelle1").Select
MsgBox "Die Tabelle " & Me.txbName.Text & " wurde erstellt."

With Worksheets(txbName.Value)
.Cells(2, 3) = txbName
.Cells(2, 4) = txbVorname
.Cells(3, 3) = txbStr
.Cells(4, 3) = txbPlz & " " & txbOrt
.Cells(5, 3) = "Telefon :"
.Cells(5, 5) = txbTel
.Cells(5, 7) = "Handy :"
.Cells(5, 5) = txbHandy
.Cells(6, 3) = "Fax :"
.Cells(6, 5) = txbFax
.Cells(6, 7) = "@-Mail :"
.Cells(6, 9) = txbEmail
'Hintergrund der Tabelle
.Cells.Interior.ColorIndex = 31
'Schrift Bereich A1:H6
.Range("A1:I6").Font.ColorIndex = 2
.Range("A1:I6").Font.FontStyle = "Fett"
.Range("A1:I6").Font.Size = 10
.Range("A1:I6").Font.Name = "Tahoma"

Makro3 ' wird leider im Tabellenblatt1 ausgeführt

Mit Gruss
Stefan Glander

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro aufrufen
27.08.2003 23:19:38
Ramses
Hallo,

Logikfehler

wksNeueTabelle.Name = Me.txbName > OK
Unload Me >> Userform wird geschlossen
Worksheets("Tabelle1").Select
MsgBox "Die Tabelle " & Me.txbName.Text & " wurde erstellt." >> Kann schon nicht mehr gehen weil die Userform geschlossen ist und die Variable leer ist.
Mit Option Explicit würdest du das merken :-))

With Worksheets(txbName.Value) >> Die Userform ist bereits geschlossen. Woher soll der Name kommen ?

Dim MyName As String
MyName = Me.txtbName

wksNeueTabelle.Name = MyName
Unload Me
Worksheets("Tabelle1").Select
MsgBox "Die Tabelle " & MyName & " wurde erstellt."
With Worksheets(MyName)

Nun sollte es tun ... :-)

Gruss Rainer
Anzeige
AW: Makro aufrufen
27.08.2003 23:23:05
PeterW
Hallo Rainer,

hast Recht, das Unload hab ich übersehen. :-(
Gehe jetzt besser schlafen :-)

Gruß
Peter
AW: Makro aufrufen ERLEDIGT FREU
28.08.2003 03:34:14
Stefan Glander
Hallo Rainer,
Fehler gefunden. Das Unload me muss ans Ende der Prozedur.
Liebe Grüsse
Stefan
AW: Makro aufrufen
27.08.2003 23:48:39
Stefan Glander
Hallo Rainer,
ja ja mal wieder ich. Also ich muss Dich enttäuschen
MsgBox "Die Tabelle " & Me.txbName.Text & " wurde erstellt." >> Kann schon nicht mehr gehen weil die Userform geschlossen ist und die Variable leer ist.
Das läuft :-))
und Option Explicit steht auch im Code :-))
Kannst Du Dir das bitte mal anschauen und freundlicherweise so umbazen das Makro3 eben auch auf dem neuen Blatt ausgeführt wird?

https://www.herber.de/bbs/user/749.xls
Grüsse
Stefan Glander
Anzeige
AW: Makro aufrufen
28.08.2003 13:03:23
Ramses
Hallo Stefan,

dann hast du ein zweites Userform mit der Bezeichnung offen.
Sonst kann es definitiv nicht gehen,... das ist unmöglich.

Das beschreibt schon deine Lösung oben indem du das Unload me an den Schluss setzt.

Gruss Rainer
AW: Makro aufrufen
27.08.2003 23:20:07
PeterW
Hallo Stefan,

so wie ich es sehe muss sich der With Rahmen auf Me.txb.Name beziehen, also

With Worksheets(Me.txbName)

Gruß
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige