Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Letztes Blatt in Funktion
#1
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
Antworten Top
#2
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
Antworten Top
#3
(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
Antworten Top
#4
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
Antworten Top
#5
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 !
Antworten Top
#6
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
Antworten Top
#7
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 ?
Antworten Top
#8
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste