Hallo,
vorab: Ich habe bereits in einem anderem Forum diese Frage gestellt.
http://www.office-loesung.de/p/viewtopic.php?f=166&t=793023
Hier noch einmal kurz eine Zusammenfassung. Mein Code erstellt eine neues Tabellenblatt mit einem definierten Namen in Abhängigkeit zu einer Zelle. Danach wird in dem neuen Tabellenblatt in die erste Zeile Spalte A eine Artikelnummer geschrieben und in Spalte B die Menge.
Nun kann es sein, dass es den Tabellennamen bereits gibt und kein zusätzliches Blatt erstellt werden soll, sondern zu dem bereits bestehendem Blatt hinzugefügt werden soll.
Sprich ich benötige eine IF oder Selectcase Schleife.
In diversen anderen Beiträgen und über Google, habe ich mal versucht mir eine If Funktion zu basteln.
Sub Bestelldatei()
Dim i As Integer
For i = 1 To Worksheets.Count
If Worksheets(i).Name = Worksheets("Bestand").Range("E4") Then
'Wert aus Worksheets("Bestand".Range("B2") & F3in nächste Zeile eintragen
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(1, 1).Value = Sheets("Bestand").Range("B1").Value
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 1).Resize(1, 1).Value = Sheets("Bestand").Range("F3").Value
End If
Next
'Ein Tabellenblatt aktivieren'
Worksheets("Bestand").Activate
'Ein Tabellenblatt hinzufügen'
Worksheets.Add
'Ein Tabellenblatt umbennen'
ActiveSheet.Name = Worksheets("Bestand").Range("E4")
'Zelleninhalt aus B2 in neues Tabellenblatt A1 kopieren'
Worksheets("Bestand").Range("B2").Copy Destination:=ActiveSheet.Range("A1")
'Zelleninhalt aus F3 in neues Tabellenblatt B1 kopieren'
Worksheets("Bestand").Range("F3").Copy Destination:=ActiveSheet.Range("B1")
'Tabellenblatt verschieben'
ActiveSheet.Select
ActiveSheet.Move After:=Sheets(3)
End Sub
Es ist so, dass wenn kein Tabellenblatt mit dem Namen vorhanden ist, der zweite Teil funktioniert.
Wenn allerdings bereits ein Tabellenblatt vorhanden ist, bekomme ich nicht die Werte so übertragen wie ich möchte in die zweite Zeile. Es wird lediglich der Wert aus F3 an der richtigen Stelle hingeschrieben
Über Hilfe wäre ich sehr dankbar
vorab: Ich habe bereits in einem anderem Forum diese Frage gestellt.
http://www.office-loesung.de/p/viewtopic.php?f=166&t=793023
Hier noch einmal kurz eine Zusammenfassung. Mein Code erstellt eine neues Tabellenblatt mit einem definierten Namen in Abhängigkeit zu einer Zelle. Danach wird in dem neuen Tabellenblatt in die erste Zeile Spalte A eine Artikelnummer geschrieben und in Spalte B die Menge.
Nun kann es sein, dass es den Tabellennamen bereits gibt und kein zusätzliches Blatt erstellt werden soll, sondern zu dem bereits bestehendem Blatt hinzugefügt werden soll.
Sprich ich benötige eine IF oder Selectcase Schleife.
In diversen anderen Beiträgen und über Google, habe ich mal versucht mir eine If Funktion zu basteln.
Sub Bestelldatei()
Dim i As Integer
For i = 1 To Worksheets.Count
If Worksheets(i).Name = Worksheets("Bestand").Range("E4") Then
'Wert aus Worksheets("Bestand".Range("B2") & F3in nächste Zeile eintragen
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(1, 1).Value = Sheets("Bestand").Range("B1").Value
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 1).Resize(1, 1).Value = Sheets("Bestand").Range("F3").Value
End If
Next
'Ein Tabellenblatt aktivieren'
Worksheets("Bestand").Activate
'Ein Tabellenblatt hinzufügen'
Worksheets.Add
'Ein Tabellenblatt umbennen'
ActiveSheet.Name = Worksheets("Bestand").Range("E4")
'Zelleninhalt aus B2 in neues Tabellenblatt A1 kopieren'
Worksheets("Bestand").Range("B2").Copy Destination:=ActiveSheet.Range("A1")
'Zelleninhalt aus F3 in neues Tabellenblatt B1 kopieren'
Worksheets("Bestand").Range("F3").Copy Destination:=ActiveSheet.Range("B1")
'Tabellenblatt verschieben'
ActiveSheet.Select
ActiveSheet.Move After:=Sheets(3)
End Sub
Es ist so, dass wenn kein Tabellenblatt mit dem Namen vorhanden ist, der zweite Teil funktioniert.
Wenn allerdings bereits ein Tabellenblatt vorhanden ist, bekomme ich nicht die Werte so übertragen wie ich möchte in die zweite Zeile. Es wird lediglich der Wert aus F3 an der richtigen Stelle hingeschrieben
Über Hilfe wäre ich sehr dankbar