Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
784to788
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
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Per Makro neues Blatt und neuen Makro erzeugen?

Per Makro neues Blatt und neuen Makro erzeugen?
31.07.2006 09:18:55
stefanseevetal
Hallo!
Ich habe folgendes Problem:
Ich möchte per Klick auf einen Button, dass ein neues Tabellenblatt angelegt wird und mit einem Button auf dem ursprünglichen Tabellenblatt verlinkt wird.
Beispiel:
Ich habe das Tabellenblatt "Schadensmeldung". Per Klick auf den Button "neue Meldung hinzufügen" soll ein Tabellenblatt "Tabelle1" (Name egal) hinter dem Blatt "Schadensmeldung" eingefügt werden. In dem Tabellenblatt "Schadensmeldung" soll in der Spalte Z automatisch ein neuer Button entstehen, der zum neuen Tabellenblatt "verlinkt" ist.
Ist das möglich? Hat vielleicht jemand ne Idee, wie ich das angehen könnte?
Wie kann ich, bzw. kann ich überhaupt, per Makro einen neuen Makro erzeugen?
Danke und Gruß,
Stefanseevetal
(P.S.: Ich weiß, dass es umständlich ist, da man auch einfach auf den Reiter des Balttes klicken kann, aber die Arbeitsmappe wird nachher ziemlich viele Blätter und ziemlich viele verschiedene Anwender haben, so dass ich es so einfach wie möglich machen möchte).

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per Makro neues Blatt und neuen Makro erzeugen?
31.07.2006 09:38:39
Iwan
Hallo Stefan
Hatte kürzlich selbes Thema (allderings für Excel 97) und es so gelöst (siehe unten):
Habe zuerst das Makro geschrieben, dann 'InsertLines #' eingefügt. Bei den " aufpassen!
Gruss, Iwan
'-------------------------

Sub MakroSchreiben()
' Schreibt Makro
Ziel1 = "DieseArbeitsmappe"
Set VBP = ThisWorkbook.VBProject.VBComponents(Ziel1)
With VBP.CodeModule
.InsertLines 1, "

Sub TestMakro()"
'hab da was rausgelöscht
.InsertLines 90, "            With .Worksheets(i)"
.InsertLines 91, "                .Activate"
.InsertLines 92, "                .Buttons.Add(300, 30, 60, 24).Select"
.InsertLines 93, "                Selection.OnAction = ""DieseArbeitsmappe.WerteEinfuegen"""
.InsertLines 94, "                .Shapes(""Button 1"").Select"
.InsertLines 95, "                Selection.Characters.Text = ""12345678"""
.InsertLines 96, "                With Selection.Characters(Start:=1, Length:=8).Font"
.InsertLines 97, "                    .Name = ""Arial"""
.InsertLines 98, "                    .FontStyle = ""Fett"""
.InsertLines 99, "                    .Size = 11"
.InsertLines 100, "                    .Strikethrough = False"
.InsertLines 101, "                    .Superscript = False"
.InsertLines 102, "                    .Subscript = False"
.InsertLines 103, "                    .OutlineFont = False"
.InsertLines 104, "                    .Shadow = False"
.InsertLines 105, "                    .Underline = xlUnderlineStyleNone"
.InsertLines 106, "                    .ColorIndex = xlAutomatic"
.InsertLines 107, "                End With"
.InsertLines 108, "                .Cells(1,10).Select"
.InsertLines 109, "            End With"
.InsertLines 110, "End
End with
End Sub

'-------------------------
Anzeige
AW: Per Makro neues Blatt und neuen Makro erzeugen
31.07.2006 09:50:15
Hans
Hallo Stefan,
eine andere Möglichkeit, bei der auf das Einfügen eines Codes Verzichtet werden kann:

Sub NeuesBlatt()
Dim btn As Button
Dim wks As Worksheet
Dim iTop As Integer, iWidth As Integer
Dim sWks As String
Set wks = ActiveSheet
With Worksheets
.Add after:=Worksheets(.Count)
End With
sWks = ActiveSheet.Name
wks.Select
If Range("IV1").Value = 0 Then
iTop = 10
Else
iTop = Range("IV1").Value
End If
Set btn = wks.Buttons.Add(200, iTop, 200, 20)
btn.Caption = sWks
btn.OnAction = "BlattAuswaehlen"
Range("IV1").Value = Range("IV1").Value + 40
End Sub


Sub BlattAuswaehlen()
Worksheets(ActiveSheet.Buttons(Application.Caller).Caption).Select
End Sub

gruss hans
Anzeige
AW: Per Makro neues Blatt und neuen Makro erzeugen
31.07.2006 10:37:09
stefanseevetal
Vielen Dank, es funktioniert super!
Habe aber noch eine kleine Zusatzfrage:
wie bekomme ich es hin, dass der Makro das neue Tabellenblatt nicht "Tabelle1" nennt, sondern z.B. "offene Schäden".
Danke und Gruß,
Stefanseevetal
AW: Per Makro neues Blatt und neuen Makro erzeugen
31.07.2006 10:47:44
Hans
Hallo Stefan,
setze vor die Zeile:
sWks = ActiveSheet.Name
die Zeile:
ActiveSheet.Name = "offene Schäden"
Allerdings macht das nicht allzuviel Sinn, da Du ja keine zweite Tabelle mit dem gleichen Namen anlegen kannst, d.h., es funktioniert nur beim ersten Mal.
gruss hans
Danke
31.07.2006 10:57:36
stefanseevetal
Hallo Hans,
vielen Dank für die Info, jetzt funktioniert es wie gewünscht.
Ich habe bereits eine Funktion "NeuerName", die die Tabellenblätter automatisch fortlaufend benennt. Hab jetzt einfach "ActiveSheet.Name = NeuerName" geschrieben und dann läuft es.
Vielen Dank nochmal!
Gruß,
Stefan
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige