Thema Datum  Von Nutzer Rating
Antwort
21.11.2019 16:37:19 Tobias
NotSolved
Blau Tabellenblätter nach Liste automatisch hinzufügen und bennen
21.11.2019 18:19:20 xlKing
NotSolved
22.11.2019 08:53:22 Gast66131
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
21.11.2019 18:19:20
Views:
429
Rating: Antwort:
  Ja
Thema:
Tabellenblätter nach Liste automatisch hinzufügen und bennen

Hallo Tobias,

"...dass per Knopfdruck folgendes passiert:" Und wie willst du das ganze auslösen? Über ein Button wäre ungünstig da dich eine elende Scrollerei erwartet. Ich empfehle hierfür ein Symbol auf einem benutzerdefinierten Ribbon anzulegen. Oder du hinterlegst dem Makro eine Tastenkombination. Bleibt ganz dir überlassen. Hier jedenfallst erstmal das von dir gewünschte Makro für die ersten 3 Punkte, das du dem Button oder Symbol oder Shortcut hinterlegen kannst

Sub AngebotAnlegen()
    
    Sheets("Verkauf").Select
    If ActiveCell.Column <> 2 Then
      MsgBox "Wählen Sie eine Angebotsnr. in Spalte B"
      Exit Sub
    End If
    
    Angebot = ActiveCell.Value
    Adresse = ActiveCell.Address
    
    If SheetExists(Angebot) Then
      MsgBox "Sheet bereits vorhanden"
    Else
      Set Sh = Sheets.Add(After:=Sheets(Sheets.Count))
      Sh.Name = Angebot
      Sh.Range("A1").Value = Angebot
      Sh.Range("A1").Hyperlinks.Add Anchor:=Sh.Range("A1"), Address:="", _
      SubAddress:="'Verkauf'!" & Adresse, TextToDisplay:=Angebot 'Backlink
    End If
    
    Sheets("Verkauf").Select
    ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:="", _
    SubAddress:="'" & Angebot & "'!A1", TextToDisplay:=Angebot
    
End Sub
Function SheetExists(Index) As Boolean
  On Error Resume Next
  SheetExists = Sheets(Index).Name <> ""
End Function

Damit auch Punkt 4 funktioniert und das Blatt Verkauf immer links vom aktiven Blatt angezeigt wird musst du zusätzlich im Modul "DieseArbeitsmappe" den folgenden Code hinterlegen.

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
   Application.EnableEvents = False
     Sheets("Verkauf").Move Before:=Sh
     Sh.Activate
   Application.EnableEvents = True
End Sub

Leider funktioniert das nur, wenn die Tabellenblätter direkt angewählt werden. Bei Aktivierung per Hyperlink wird das SheetActivate-Ereignis leider nicht ausgelöst. Daher habe ich dir auf den Tabellenblättern in Zelle A1 einen Backlink zurück zum Sheet Verkauf angelegt. Die Codezeile kannst du auch gern wieder rausschmeißen wenn sie dich stört.

Gruß Mr. K.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
21.11.2019 16:37:19 Tobias
NotSolved
Blau Tabellenblätter nach Liste automatisch hinzufügen und bennen
21.11.2019 18:19:20 xlKing
NotSolved
22.11.2019 08:53:22 Gast66131
NotSolved