Microsoft Excel

Herbers Excel/VBA-Archiv

Tabellenblatt umbennen und wieder aufrufen

Betrifft: Tabellenblatt umbennen und wieder aufrufen von: FAFR
Geschrieben am: 10.09.2014 11:06:40

Hallo,
ich hab schon wieder ein kleines Problem.

Durch VBA wird ein Tabellenblatt erstellt. Dies wird umbenannt in Range("C3") & "_" & Range("C4")
Jetzt will ich dieses Tabellenblatt befüllen.
Wie ruf ich es wieder auf?
Der folgende Code funktioniert nicht

Sheets(i).Name = Range("C3") & "." & Range("C4")
Sheets("Input").Select
Range("G" & aktiveZeile).Select
Selection.Copy
Sheets(i).Select
Range("C12").Select
ActiveSheet.Paste
Application.CutCopyMode = False


Könnt Ihr mir bitte weiterhelfen?
Habe auch schon anstatt das i Range("C3").... probiert. Funktioniert auch nicht.

Danke
Gruß
Franzi

  

Betrifft: AW: Tabellenblatt umbennen und wieder aufrufen von: yummi
Geschrieben am: 10.09.2014 11:11:40

Hallo Franzi,

z.B. mit ThisWorkbook.Sheets( Range("C3") & "_" & Range("C4"))

Gruß
yummi


  

Betrifft: AW: Tabellenblatt umbennen und wieder aufrufen von: FAFR
Geschrieben am: 10.09.2014 11:20:41

Hallo yummi,
funktioniert leider nicht.

Da kommt der Laufzeitfehler 9
Index außerhalb des gültigen Bereichs

Gruß
Franzi


  

Betrifft: AW: Tabellenblatt umbennen und wieder aufrufen von: yummi
Geschrieben am: 10.09.2014 11:28:55

Hallo Franzi,

dann lad mal die Datei hoch, ich schau mal wo der Name nicht richtig passt

Gruß
yummi


  

Betrifft: AW: Tabellenblatt umbennen und wieder aufrufen von: FAFR
Geschrieben am: 10.09.2014 11:37:45

Hallo yummi,

ich darf die Datei leider aus sicherheitstechnischen Gründen nicht hochladen.
Hier nochmal ein kleiner Ausschnitt vom Programm:

Dim Zelle As Range
Dim i As Long 'i = Zeilenanzahl
Dim DateiName As String

i = 12

For Each Zelle In Sheets("Input").Range("C" & i, "C999") 'gilt für jede Zelle ab Zeile 12 in Spalte C die nicht leer ist
If Zelle.Value <> "" Then

Sheets("Technical Specification").Select 'aktiviert Tabellenblatt TS
Sheets("Technical Specification").Copy After:=Sheets(4) 'kopiert das Tabellenblatt und stellt es nach den 4 Tabellenblatt

Sheets("Technical Specification (2)").Select
Sheets("Technical Specification (2)").Name = Range("C3") & "." & Range("C4")
'Tabellenblatt wird umbenannt

Sheets("Input").Select 'Tabellenblatt Input aufrufen
Range("C" & i).Select 'Spalte C (Materialnummer) in Zeile markieren
Selection.Copy 'Zelle kopieren
ThisWorkbook.Sheets(Range("C3") & "." & Range("C4")).Select 'Tabellenblatt Technische Spezifikation aufrufen
Range("C3").Select 'Cursor springt zu Zelle C3
ActiveSheet.Paste 'In Zelle C3 (Materialnummer) einfügen
Application.CutCopyMode = False

.......
DateiPfad = ActiveWorkbook.Path 'gibt den Pfad der zu speichernden Datei an
DateiName = DateiPfad & "\" & Range("C3") & "_" & Range("C4") & "_" & "TSQ" & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
DateiName _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
'speichert Datei unter vorgegebenen Namen und Pfad ab


i = i + 1

End If
Next
End If

Sheets("Input").Select 'Tabellenblatt Input wird aktiviert
Range("C6").Select 'Zelle C6 wird aktiviert
ThisWorkbook.Close 'Datei wird geschlossen

End Sub


Danke trotzdem (:

Gruß
Franzi


  

Betrifft: Du hast doch den Index ... von: Matthias L
Geschrieben am: 10.09.2014 11:43:19

Hallo

Du schreibst:
Sheets("Technical Specification").Copy After:=Sheets(4) 'kopiert das Tabellenblatt und stellt es nach den 4 Tabellenblatt

Also sollte doch
Sheets(5).Name

ausreichend sein um auf das Blatt zu referenzieren.

Gruß Matthias


  

Betrifft: AW: Du hast doch den Index ... von: FAFR
Geschrieben am: 10.09.2014 12:02:07

Danke funktioniert super!
Gruß
Franzi


  

Betrifft: beachte auch Rudis Hinweis! von: Matthias L
Geschrieben am: 10.09.2014 12:11:34

Hallo

Desweiteren musst Du wissen das Blattnamen max 31 Zeichen haben dürfen
und es dürfen auch keine ungültigen Zeichen vorhanden sein.
Sonst kommt ganz schnell ein neues Problem auf Dich zu.
Schau in die Recherche, da gibts etliche Beiträge dazu.

Gruß Matthias


  

Betrifft: AW: Tabellenblatt umbennen und wieder aufrufen von: Rudi Maintaire
Geschrieben am: 10.09.2014 11:48:48

Hallo,

Sheets("Technical Specification (2)").Select
 Sheets("Technical Specification (2)").Name = Range("C3") & "." & Range("C4")

das kann nicht funktionieren.
Der Name wird immer aus Technical Specification (2)!C3 und C4 gebildet. Somit würde die 2. Kopie den gleichen Namen erhalten wie die erste, was nicht geht.

Gruß
Rudi


 

Beiträge aus den Excel-Beispielen zum Thema "Tabellenblatt umbennen und wieder aufrufen"