auf Basis einer Liste/Tabelle worksheets erstellen und Verknüpfungen einrichten

22/12/2014 - 21:09 von Marco | Report spam
Hallo zusammen,

Ich habe schon einiges hilfreiches in der NG gefunden, aber die Lösung fürs Ganze habe ich nicht hinbekommen.

Ich teile meine Aufgabe in zwei Teile:

1. eine neues WOrksheet erstellen inkl. Verlinkungen in dem neuen Sheet und
2. im Übersichts-Sheet einige Verlinkungen auf das neu erstellte SHeet setzen.


1. Erstellen von Worksheets inkl. Links

Ich habe in einem Worksheet "Übersicht" eine Tabelle (früher hiess das Liste) in der Einzelbauteile für ein Produkt stehen. Die Spalten heissen z.B. Baugruppe, Artikel, Artikelnummer, Zielkosten, Revision

Auf Knopfdruck soll nun für jedes dieser Bauteile ein Worksheet generiert werden (Auf Basis einer Vorlage ==> Worksheet "Vorlage") und in dem neu generierten Worksheet die vier Werte "Artikel", "Artikelnummer", "Zielkosten" und "Revision" auf das Worksheet "Übersicht" verlinkt werden. Vorher soll noch geschaut werden, ob schon ein Worksheet mit diesem Namen existiert und die SUB ggfs. abgebrochen werden.

Hier mein Code soweit:

Für den Knopf:

Sub Klick()

Dim hilf As Integer

With ActiveSheet.ListObject

For hilf = 1 To .ListRows

create_ws (.Cells(hilf,2).Value, hilf)
linkto_ws (.Cells(hilf, 2).Value)

Next

End With

End Sub


Und für die erste Sub:


Sub create_ws(ws_name As String, link_row As Integer)


'Falls das Sheet schon existiert wird darauf hingewisen und Sub beendet
For i = 1 To ActiveWorkbook.Sheets.Count
If Worksheets(i).Name = ws_name Then MsgBox "Achtung, Arbeitsblatt : " & ws_name & " existiert bereits und wird nicht überschrieben."
Exit Sub
Else:
End If
'Vorlage wird kopiert und benannt. Die beiden letzten Sheets sind "Vorlage" und "Anleitung"
Sheets("Vorlage").Copy before:=Sheets(Sheets.Count - 1)
Sheets(Sheets.Count - 2).Name = ws_name

'vier Links in dem neuen Blatt werden aktualisiert
With Sheets(ws_name)

.Cells(3, 2).FormulaR1C1 = "=Übersicht!R[1+link_row]C[2]"
.Cells(3, 3).FormulaR1C1 = "=Übersicht!R[1+link_row]C[3]"
.Cells(3, 4).FormulaR1C1 = "=Übersicht!R[1+link_row]C[4]"
.Cells(3, 5).FormulaR1C1 = "=Übersicht!R[1+link_row]C[6]"

End With

End Sub

Aufgrund der Lànge belasse ich erst mal bei dem ersten Problem :-)
Ich bekomme gleich schon einen Syntaxfehler in der Titelzeile der SUB "Klick"

Danke euch für die Unterstützung

Liebe Grüsse
Marco
 

Lesen sie die antworten

#1 Claus Busch
23/12/2014 - 07:52 | Warnen spam
Hallo Marco,

Am Mon, 22 Dec 2014 12:09:51 -0800 (PST) schrieb Marco:

1. eine neues WOrksheet erstellen inkl. Verlinkungen in dem neuen Sheet und
2. im Übersichts-Sheet einige Verlinkungen auf das neu erstellte SHeet setzen.



hat eine Baugruppe mehrere Artikel und alle sollen auf das neue Blatt?
In welchen Spalten sind Baugruppe, Artikel usw.?Steht die Baugruppe bei
jedem Artikel?
Dass diese Werte im neuen Blatt verlinkt sein sollen ist machbar. Aber
was verstehst du unter Verlinkung im Übersichtsblatt?
Sind in dem Blatt "Vorlage"die Überschriften schon enthalten und wenn ja
in welchen Zellen. Was ist sonst noch zu beachten bei Vorlage? Was ist
dort noch alles vorgetragen?


Mit freundlichen Grüßen
Claus
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

Ähnliche fragen