Microsoft Excel

Herbers Excel/VBA-Archiv

Tabellenblätter erstellen

Betrifft: Tabellenblätter erstellen von: walter
Geschrieben am: 30.07.2014 10:10:00

Guten Morgen Excelfreunde,

Habe in einem Tabellenblatt in Spalte A:A 14 bis 20 Mannschaften stehen.
Nun soll per Makro für jede Mannschaft ein Blatt erstellt werden.
Bitte um Hilfe
Danke
Walter

  

Betrifft: AW: Tabellenblätter erstellen von: Daniel
Geschrieben am: 30.07.2014 10:14:21

Hi

dim Zelle as Range
For Each Zelle in Range("A:A").SpecialCells(xlcelltypeconstants, 2)
    Sheets.Add
    ActiveSheet.Name = Left(Zelle.Value, 31)
Next

Gruß Daniel


  

Betrifft: AW: Tabellenblätter erstellen von: walter
Geschrieben am: 30.07.2014 10:24:32

Hallo Daniel,
komme nicht klar mit dem Cod,
fehlt da noch etwas?
Walter


  

Betrifft: AW: Tabellenblätter erstellen von: Daniel
Geschrieben am: 30.07.2014 10:32:13

die Start- und Endzeile (

Sub Test()...End Sub
) fehlen.
da gehe ich aber davon aus, dass du in der Lage bist das selbst hinzuzufügen (ich will dir ja nicht vorschreiben, wie du dein Makro zu benennen hast)

ne Kontrolle ob die Blätter schon vorhanden sind, habe ich auch noch nicht eingebaut.

Gruß Daniel


  

Betrifft: AW: Tabellenblätter erstellen von: walter
Geschrieben am: 30.07.2014 10:57:59

Hallo Daniel,
Was für Dich selbstverständlich ist, sind für mich böhmische Dörfer.
Bin auch in einem Alter, nicht mehr bereit, zu lernen(Ü 75).
Deshalb wäre es nett von Dir, wenn Du das Makro vollständig schreiben würdest.

Ich Danke Dir.
Rentner Walter
aus dem nördlichen
Nordhessen.


  

Betrifft: AW: Tabellenblätter erstellen von: Rudi Maintaire
Geschrieben am: 30.07.2014 11:13:40

Hallo,
nicht mehr bereit, zu lernen
dann bist du ja schon so gut wie tot ;-)

Sub aaa()
  Dim Zelle As Range, wks As Worksheet
  For Each Zelle In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
    Set wks = Nothing
    On Error Resume Next
    Set wks = Worksheets(Zelle.Text)
    On Error GoTo 0
    If wks Is Nothing Then
      Set wks = Worksheets.Add
      wks.Name = Left(Zelle.Text, 31)
    End If
  Next Zelle
End Sub

Gruß
Rudi


  

Betrifft: AW: Tabellenblätter erstellen von: walter
Geschrieben am: 30.07.2014 11:42:02

Hallo Rudi,
Körpertemperatur und Puls sind noch i.O.
Aber nach 2..3 Versuchen habe ich VBA zu lernen aufgegeben.
Bei Deinem Makro bekomme ich Fehler 400 zurück.
Habe es Kopiert und eingeführt.



Gruß
Walter


  

Betrifft: AW: Tabellenblätter erstellen von: Rudi Maintaire
Geschrieben am: 30.07.2014 12:38:49

Hallo,
evtl. illegale Zeichen?

Function LegalSheetName(strName As String) As String
    Dim arrNotAllowed As Variant
    Dim n As Integer
    'Im Tabellennamen nicht zulässige Zeichen
    arrNotAllowed = Array(":", "\", "/", "?", "*", "[", "]")
    
    'unerlaubte Zeichen durch "" ersetzen
    For n = 0 To UBound(arrNotAllowed)
        strName = Replace(strName, arrNotAllowed(n), "")
    Next
    
    'Namen auf 31 Zeichen begrenzen
    LegalSheetName = Left(strName, 31)
    
End Function

....
wks.Name = LegalSheetName(Zelle.Text)
....
Gruß
Rudi


  

Betrifft: AW: heißen Dank von: walter
Geschrieben am: 30.07.2014 12:47:54

Hallo Rudi,
kleine Ursache , große Wirkung.
Waren 7 Mannschaften (SG Dorf A/ Ort B ) dabei.
Nun ist alles i. O.

Heißen Dank
sagt
Walter


 

Beiträge aus den Excel-Beispielen zum Thema "Tabellenblätter erstellen"