Thema Datum  Von Nutzer Rating
Antwort
11.02.2016 03:18:20 sammy
NotSolved
11.02.2016 17:04:27 Gast29653
NotSolved
11.02.2016 18:49:01 sammy
NotSolved
11.02.2016 19:04:57 sammy
NotSolved
11.02.2016 19:11:51 Gast68058
NotSolved
11.02.2016 19:18:23 sammy
NotSolved
11.02.2016 19:43:36 sammy
NotSolved
12.02.2016 04:51:55 sammy
NotSolved
Rot Zusatz Funktion: aus leeren Zellen KEIN neues sheet erstellen
21.02.2016 17:53:30 sammy
NotSolved

Ansicht des Beitrags:
Von:
sammy
Datum:
21.02.2016 17:53:30
Views:
730
Rating: Antwort:
  Ja
Thema:
Zusatz Funktion: aus leeren Zellen KEIN neues sheet erstellen

Guten Abend beisammen,

der oben genannte code funktioniert tadellos. Mir ist aber eine "Unschönheit" aufgefallen:

 

der Bereich für die ID's welche in Abdeckung definiert habe ist fix von A28:A200. Das Problem besteht darin, dass bei Drücken auf ein leere Zelle in diesem Bereich eine neu Tab erstellt wird welche keine Nummer enthält. Dies führt dazu, dass ich jedes mal wenn ich eine neue ID-nummer in eine leere Zelle schreiben möchte ein neues sheet aufgemacht wird. Ich möchte aber ausschließlich nur gefüllte zellen beim Drücken aufmachen. D.h. bei einer leeren Zelle sollte ohneeine neue Tab zu erstellen eine ID-Nummer eintragen können. Nur ausgefüllte Zellen sollten ein neues sheet aufmachen.

 

Habt ihr dies bzgl. eine Idee wie man das realisieren könnte?

 

folgender Code ist der Aktuellste:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngTreffer As Range
Set rngTreffer = [A28:A200]
If Not Intersect(Target, rngTreffer) Is Nothing Then
    Call Makro5(Target)  'Treffer aus Bereich u. selektierte Zelle wird als Target übergeben
End If
Set rngTreffer = Nothing
End Sub

UND

Sub Makro5(Rng As Range) 'Target wird in Makro5 Funktion als Rng Argument übernommen

Dim Zelle As Range, Wsh As Excel.Worksheet, flag As Boolean 'flag ist eine Flankenvariable
    
On Error GoTo errh
 
'Sheets("Abdeckung").Select
   'aktive Zelle = Target - übergeben als Rng
   Set Zelle = Rng
   'prüfe auf vorhanden
   For Each Wsh In ThisWorkbook.Sheets
      '"Test ID" & Zelle.Formula = String = Tabellenname
      If Wsh.Name = "Test ID" & Zelle.Formula Then
         'Treffer = Worksheet.Object = zugewiesen
         flag = True
         Exit For
      End If
   Next Wsh
    
   Application.ScreenUpdating = False
    
   If Not flag = True Then
      'kein Treffer
      Sheets("Muster").Copy After:=Sheets(Sheets.Count)
       
      'kopierte Tabelle "Muster" zu Worksheet.Object
      'Set Wsh = ThisWorkbook.Sheets(Sheets.Count)
      
      Set Wsh = ThisWorkbook.Sheets("Muster (2)")
       
       
      'Worksheet.Object - Eigenschaften einrichten
      With Wsh
         .Name = "Test ID" & Zelle.Formula
         .Visible = xlSheetVisible
         .Range("B2").Font.Bold = True
      End With
       
      'Zelle = Range.Object in die Zwischenablage
      Zelle.Copy
       
      'Worksheet.Object - einfügen
      Wsh.Range("B2").PasteSpecial xlPasteValues
      Application.CutCopyMode = False
       
   End If
    
   'Worksheet.Object zeigen
   Wsh.Activate
 
errh:
Application.ScreenUpdating = True

End Sub


 

Für jede Vorschlag bin ich euch sehr dankebar..

Viele Grüße

Sammy


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
11.02.2016 03:18:20 sammy
NotSolved
11.02.2016 17:04:27 Gast29653
NotSolved
11.02.2016 18:49:01 sammy
NotSolved
11.02.2016 19:04:57 sammy
NotSolved
11.02.2016 19:11:51 Gast68058
NotSolved
11.02.2016 19:18:23 sammy
NotSolved
11.02.2016 19:43:36 sammy
NotSolved
12.02.2016 04:51:55 sammy
NotSolved
Rot Zusatz Funktion: aus leeren Zellen KEIN neues sheet erstellen
21.02.2016 17:53:30 sammy
NotSolved