Clever-Excel-Forum

Normale Version: Letztes Blatt in Funktion
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Einen wundervollen guten Tag allerseits,

derzeit schwer im Kopf und neu hier zu Lande. Zurzeit versuch ich innovativ für die eigene Firma zu wirken. 
Ob die Entscheidung richtig oder falsch war, entscheidet ihr  21 .
Spaß bei Seite, nachdem ich nun wirklich Stunden über Stunden versucht habe eine Lösung zu finden, ob im Internet oder unter Selbstversuchen, ich komme zu keinem Ergebnis.

Sachlage:

Die Hauptliste ist die Tabelle die Informationen aus in Zukunft neu einzupflegenden Projekten, Daten entnehmen soll. 
Mit dem Klick auf den Button "Projekt erstellen", wird ein von mir erstellte Bearbeitungsseite (Name: Projekt) kopiert, welches optimal auf die Sachlage und die Benutzer angepasst ist.
Mithilfe dieses Blattes möchte ich alle zu erfahrenen Informationen und Arbeitsschritte festhalten und die wichtigsten sollen in der Hauptliste kurz und knapp wiedergespiegelt werden.

Soweit so gut!

Alles funktioniert reibungslos bis dahin. 
In der Hauptliste ist eine Zeile die mit vielen Bezügen zu diesem "Beabeitungsblatt" über Hyperlinks verknüpft ist, damit man einfach und schnell sich Informationen aneignen kann. 

Hier ein Beispiel für die Ausgabe der Projektnummer mit einem Hyperlink um auf das Bearbeitungsblatt dieses Projektes springen zu können:

=WENN(HYPERLINK("#Projekt!B2";ZELLE("Inhalt";Projekt!$B$2))=0;"";HYPERLINK("#Projekt!B2";ZELLE("Inhalt";Projekt!$B$2)))

Ausgabe sieht wiefolgt aus:  Projektnummer


DAS PROBLEM:

Es bleibt natürlich nicht bei einem Projekt, sondern es sollen viele neue eingepflegt werden. Dazu bedarf es eine Kopie der Bearbeitungsseite zu erstellen und das neue Projektblatt mit der Hauptliste zu verknüpfen, und da bleibe ich hängen. Im Optimalfall kann die Projektnummer als Blattname fungieren, hört sich schön an, aber 

Weder in der Funktion noch über VBA (ich bin da auch kein Profi, arbeite mich mit Interneterfahrungen durch und probiere dann variabel zu agieren) habe ich die klare Möglichkeit das neu erzeugte Blatt in Verbindung mit einer neuen Zeile für die Hauptliste zu bringen.

=WENN(HYPERLINK("#Projekt!B2";ZELLE("Inhalt";Projekt!$B$2))=0;"";HYPERLINK("#Projekt!B2";ZELLE("Inhalt";Projekt!$B$2)))

Ich würde mich auch, um der Funktionswillen, auch darauf beschränken die neuen Projektblätter in aufsteigender Nummerierung zu betiteln, statt dem Traum der Projektnummer.
Bsp.: Projekt, Projekt (2), Projekt (3), ...


Es wäre echt klasse, wenn hier jemand wäre der mir helfen könnte.

Freundlichste Grüße!

Fabian S. Angel
Hallo Fabian,

Code:
Sub NeuesProjekt()
  Dim i As Long
  With Worksheets(1)
    .Range("A2").Resize(.Cells(Rows.Count, 1).End(xlUp).Row - 1) = ""
    For i = 2 To Worksheets.Count
      .Cells(i, 1).Formula = "=IF(" & Worksheets(i).Name & "!$B$2=0,"""",HYPERLINK(""#" & Worksheets(i).Name & "!B2""," & Worksheets(i).Name & "!$B$2))"
    Next i
  End With
End Sub

Gruß Uwe
(12.12.2021, 23:06)Kuwer schrieb: [ -> ]Hallo Fabian,

Code:
Sub NeuesProjekt()
  Dim i As Long
  With Worksheets(1)
    .Range("A2").Resize(.Cells(Rows.Count, 1).End(xlUp).Row - 1) = ""
    For i = 2 To Worksheets.Count
      .Cells(i, 1).Formula = "=IF(" & Worksheets(i).Name & "!$B$2=0,"""",HYPERLINK(""#" & Worksheets(i).Name & "!B2""," & Worksheets(i).Name & "!$B$2))"
    Next i
  End With
End Sub

Gruß Uwe

Hey Uwe, 

vielen lieben Dank für deine so schnelle Antwort!
Leider blicke ich es nicht. Kannst du mir vielleicht kurz erklären wie und wo das eingebettet werden muss bzw. was genau mir das nun ermöglicht?  

Fühle mich schlecht da nicht hinterzublicken, wenn mir schon jemand hilft .. aaahh  Undecided


Liebe Grüße
Fabian
Hallo Fabian,

siehe z.B. hier: Wie und wo fügt man ein Makro bzw. Code ein
Den Makrodialog rufst Du dann mit Alt+F8 auf und startest dann das Makro.
Es fügt im ersten Worksheet ab A2 abwärts die Hyperlinks für alle Worksheets (ab dem zweiten) ein.

Gruß Uwe
Okay, habe es als Makro eingefügt, leider gibt er mir einen Fehler aus:
  

Code:
Sub NeuesProjekt()
  Dim i As Long
  With Worksheets(1)
    ====>.Range("A2").Resize(.Cells(Rows.Count, 1).End(xlUp).Row - 1) = ""
    For i = 2 To Worksheets.Count
      .Cells(i, 1).Formula = "=IF(" & Worksheets(i).Name & "!$B$2=0,"""",HYPERLINK(""#" & Worksheets(i).Name & "!B2""," & Worksheets(i).Name & "!$B$2))"
    Next i
  End With
End Sub

Bei der markierten Zeile gibt er einen Fehler aus.
Zur Info noch, die Hauptliste beginnt aktiv bei der Zeile B4 und soll ab da abwärts über einen Button (makro aufzeichnen) eine neue Zeile bekommen, nachdem ich eine neue Bearbeitungsliste kopiert habe.

Ach und, ich habe bei der Bearbeitung noch andere Tabellen erstellt. Das heißt, wenn ich jetzt eine neues Projekt kopiere bin ich bei Tabelle10. 

Liebe Grüße und danke nochmal Uwe !
Hallo Fabian,

dann füge diesen Code in den Button ein:

Code:
Dim i As Long
  With Worksheets(1)
    .Range("B4").Resize(.Cells(Rows.Count, 2).End(xlUp).Row - 1) = ""
    For i = 2 To Worksheets.Count
      .Cells(i + 2, 2).Formula = "=IF(" & Worksheets(i).Name & "!$B$2=0,"""",HYPERLINK(""#" & Worksheets(i).Name & "!B2""," & Worksheets(i).Name & "!$B$2))"
    Next i
  End With

Gruß Uwe
Code:
Sub Projekt_Eröffnen()

'Projekt_Eröffnen Makro

    Sheets("Projekt").Copy Before:=Sheets(4)
    Range("B2").Select

    Dim i As Long
  With Worksheets(1)
    .Range("B4").Resize(.Cells(Rows.Count, 2).End(xlUp).Row - 1) = ""
    For i = 2 To Worksheets.Count
      .Cells(i + 2, 2).Formula = "=IF(" & Worksheets(i).Name & "!$B$2=0,"""",HYPERLINK(""#" & Worksheets(i).Name & "!B2""," & Worksheets(i).Name & "!$B$2))"
    Next i
  End With
   
    MsgBox "Wichtig: Bitte zuerst die Projektdaten einpflegen!"
   
End Sub

Der will den Fehler nicht lösen, bleibt standhaft. Woran kann das denn liegen ? Kann ich irgendetwas ausprobieren ?
Hallo,

kommentiere die Zeile aus oder lösche sie:
Code:
.Range("B4").Resize(.Cells(Rows.Count, 2).End(xlUp).Row - 1) = ""
Leere die Zellen in Spalte B manuell und starte dann das Makro.

Gruß Uwe