Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Neues Tab nur bei ausgefüllter ID Spalte erstellen |
29.02.2016 13:12:49 |
sammy |
|
|
|
29.02.2016 15:08:40 |
sammy |
|
|
|
06.03.2016 13:54:04 |
Gast84070 |
|
|
Von:
sammy |
Datum:
29.02.2016 13:12:49 |
Views:
2402 |
Rating:
|
Antwort:
|
Thema:
Neues Tab nur bei ausgefüllter ID Spalte erstellen |
Hallo zusammen,
ich habe zusammen mit euere Hilfe ein macro erstellt, welches beim Dücken einer ID nummer im Sheet Abdeckung ein neues Sheet erstellt wird, bei dem die ID nummer übertragen wird, der Tabellenname mit der ID nummer benannt wird und die id nummer in eine Zelle im neuen Sheet reinkopiert wird. Nun habe ich noch eine Unschönheit die ich beseitigen möchte:
im der Abdeckungs Tabelle (die Hauptübersicht), möchte ich nur ein neues sheet erstellen wenn in der ID spalte bereits eine Nummer eingetragen ist. Im Moment funktioniert alles tadellos, aber wenn ich eine neue id einfügen möchte wird sofort eine neue Tabelle erstellt ohne id nummer ich muss dann zurückkehren zur übersicht, um nochmal eine id eingeben zu können.
Könnte man diese Unschönheit nicht beseitigen, indem man nur bei ausgefüllter Zelle bei den ID's ein neues tab erstellt wird und alles was leer ist wird ignoriert?
untenstehend der Code des Macro's
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
Ich bin kein Excel-Experte daher würde ich mich über jeden Vorschlag freuen.
Danke und Grüße
Sammy
|
- 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
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- 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
|
Neues Tab nur bei ausgefüllter ID Spalte erstellen |
29.02.2016 13:12:49 |
sammy |
|
|
|
29.02.2016 15:08:40 |
sammy |
|
|
|
06.03.2016 13:54:04 |
Gast84070 |
|
|