Rücksprung zum aktuellen Arbeitsblatt

Bild

Betrifft: Rücksprung zum aktuellen Arbeitsblatt
von: Frank
Geschrieben am: 14.03.2005 11:06:15
Hallo zusammen,
wie schaffe ich es, dass ich nach einer Abfrage (Daten aus einem anderen Datenblatt in der selben Arbeitsappe auslesen) wieder zurück zu dem Blatt komme woher die Abfrage gestartet wurde. Hintergrund, der Arbeitsblattname ist nie der gleiche (wird durch eine Schleife erst erstellt) - deswegen weiß dass Makro auch nicht wohin es die Daten schaufeln soll!!
Gruß Frank

Bild

Betrifft: AW: Rücksprung zum aktuellen Arbeitsblatt
von: Domke, Frank
Geschrieben am: 14.03.2005 11:09:25
Hallo Frank,
Dim wb as Workbook
Dim ws as Worksheet
Set ws = ActiveSheet
Set wb = ActiveWorkbook
... Dein QuellCode ...
wb.Activate
ws.Activate
Set ws = Nothing
Set wb = Nothing
Sollte klappen, viel Erfolg!
Frank.
Bild

Betrifft: AW: Rücksprung zum aktuellen Arbeitsblatt
von: marcl
Geschrieben am: 14.03.2005 11:09:57
Hallo Frank
blatt = ActiveSheet.Name
' Daten schaufeln
Sheets(blatt).Select
vielleicht so?
Gruß
marcl
Bild

Betrifft: AW: bekomme immer Laufzeitfehler
von: Frank
Geschrieben am: 14.03.2005 11:38:13
Ich hänge mal das script rein - habe es gestern durchs Forum dankend erhalten. Nun gehts ans modifizieren. Möchte bevor die Schleife die nächste Abfrage startet und ein neues Datenblatt generiert noch Daten aus einem anderen Datenblatt hinzufügen.
Hintergrund ist welcher, dass ich aus einem zweiten Datenblatt in der Arbeitsmappe immer die Werte der Spalte A zur Diagrammerstellung benötige und diese in die generierten Blätter ebenfalls in Spalte A einfügen möchte.!!!!!!??????? (Sprich - gehe in Datenblatt Tabelle2 - kopiere Werte aus Spalte A ins aktuelle Blatt Spalte A)
Gruß Frank
Option Explicit

Sub Create_Sheets()
Dim i As Integer
Dim qWks As Worksheet, tWks As Worksheet
Set qWks = Worksheets("Tabelle1")
With qWks
    For i = 2 To .Range("IV2").End(xlToLeft).Column
        If .Cells(2, i) <> "" Then
            Set tWks = ThisWorkbook.Worksheets.Add(After:=Worksheets(Worksheets.Count))
            tWks.Name = .Cells(2, i).Text
            .Range(.Cells(2, i), .Cells(.Cells(65536, i).End(xlUp).Row, i)).Copy tkws.Cells(1, 2)
   
        End If
    Next i
End With
End Sub

Bild

Betrifft: AW: bekomme immer Laufzeitfehler
von: marcl
Geschrieben am: 14.03.2005 12:23:22
Option Explicit


Sub Create_Sheets()
Dim i As Integer
Dim qWks As Worksheet, tWks As Worksheet
Dim ziel
Set qWks = Worksheets("Tabelle1")
With qWks
    For i = 2 To .Range("IV2").End(xlToLeft).Column
        If .Cells(2, i) <> "" Then
            Set tWks = ThisWorkbook.Worksheets.Add(After:=Worksheets(Worksheets.Count))
            tWks.Name = .Cells(2, i).Text
            .Range(.Cells(2, i), .Cells(.Cells(65536, i).End(xlUp).Row, i)).Copy tWks.Cells(1, 2) ' hier waren die Buchstaben verdreht 'tkws'
            ziel = tWks.Name
            Sheets("Tabelle1").Columns("A:A").Copy
            Sheets(ziel).Select
            Range("A1").Select
            ActiveSheet.Paste
        End If
    Next i
End With
End Sub

Bild

Betrifft: AW: excel ist aber heute wieder störrisch
von: Frank
Geschrieben am: 14.03.2005 12:46:36
Hallo Marcl,
erstmals danke für deine Bemühungen - kriegen das schon hin. Bis zum Makieren der Spalte A im Datenblatt "Radius" funktioniert alles nur dann weiß Excel nicht wohin mit den Daten --- deswegen Laufzeitfehler. Habe oben Dim Ziel als Worksheet deklariert - denkste ?????
Frank
Bild

Betrifft: AW: excel ist aber heute wieder störrisch
von: Frank
Geschrieben am: 14.03.2005 12:54:59
Hallo Marcl,
erstmals danke für deine Bemühungen - kriegen das schon hin. Bis zum Makieren der Spalte A im Datenblatt "Radius" funktioniert alles nur dann weiß Excel nicht wohin mit den Daten --- deswegen Laufzeitfehler. Habe oben Dim Ziel als Worksheet deklariert - denkste ?????
Frank
Bild

Betrifft: AW: excel ist aber heute wieder störrisch
von: marcl
Geschrieben am: 14.03.2005 13:00:15
Ja Frank,
wo sollen die Daten denn hin?
In das neu angelegte Blatt, oder?
Wär doch gelacht, wenn wir das nicht hin bekommen.
Gruß
marcl
Bild

Betrifft: AW: excel ist aber heute wieder störrisch
von: Frank
Geschrieben am: 14.03.2005 13:29:43
Hi Marcl,
Ich habe eine Mappe mit zwei Blättern. 1.Datenblatt Tabelle1 werden Werte eingelesen (immer die selbe Anordnung - kann aber nach rechts varieren). 2.Datenblatt Namens Radius stehen feste Werte in Spalte A von A2 bis A28.
Das Makro soll folgendes machen - guckt in tabelle1 Zeile2 Anfang Spalte2 nach einem Eintrag -wenn ja soll ein Tabellenblatt mit diesem Namen angelegt und gleichzeitig die Werte dieser Spalte in Spalte B übernommen werden. Bevor die weiteren Datenblätter ebenso angelegt werden, sollen die Werte aus Tabellenblatt Radius ebenfalls in das generierte Tabellenblatt in Spalte A übernommen werden.
Das zweite "kleine" Problemchen ist, dass sich die Daten in Spalte B von B2 bis B224 erstrecken und ich gern noch diese umsetzen möchte (Werte 1-56 nach B1-B56)(57-112 nach C1-C56)(113-168 nach D1-D56) und 159- 226 nach E1-E56). Aber eins nach dem anderen. Erstmals müssen die Radius Formeln rüber.
Frank
Bild

Betrifft: AW: excel ist aber heute wieder störrisch
von: marcl
Geschrieben am: 14.03.2005 14:37:08
Option Explicit

Sub Create_Sheets()
Dim i As Integer
Dim qWks As Worksheet, tWks As Worksheet
Dim ziel
Set qWks = Worksheets("Tabelle1")
With qWks
    For i = 2 To .Range("IV2").End(xlToLeft).Column
        If .Cells(2, i) <> "" Then
            Set tWks = ThisWorkbook.Worksheets.Add(After:=Worksheets(Worksheets.Count))
            tWks.Name = .Cells(2, i).Text
            .Range(.Cells(2, i), .Cells(.Cells(65536, i).End(xlUp).Row, i)).Copy tWks.Cells(1, 2)
            ziel = tWks.Name
            Sheets("Radius").Columns("A:A").Copy
            Sheets(ziel).Range("A1").Select
            ActiveSheet.Paste
            
Sheets("Tabelle1").Range("B2:B57").Copy
Range("B1").Select ' auf dem neu angelegten Blatt
ActiveSheet.Paste
Sheets("Tabelle1").Range("B57:B113").Copy
Range("C1").Select ' auf dem neu angelegten Blatt
ActiveSheet.Paste
Sheets("Tabelle1").Range("B114:B159").Copy
Range("D1").Select ' auf dem neu angelegten Blatt
ActiveSheet.Paste
Sheets("Tabelle1").Range("B160:B227").Copy
Range("E1").Select ' auf dem neu angelegten Blatt
ActiveSheet.Paste
        End If
    Next i
End With
End Sub

Bild

Betrifft: AW: excel ist aber heute wieder störrisch
von: Frank
Geschrieben am: 14.03.2005 15:10:54
Wir arbeiten uns langsam vorwärts!!! Wow
radius wird eingesetzt - super
Nur das zweite angekündigte Problemchen spinnt noch!
Habe beim kopieren "tabelle1" durch ziel ersetzt - da die Spalte B in dem neu generierten Blatt aufgeteilt werden soll.
Sheets(ziel).Range("B56:B109").Copy
Range("C2").Select ' auf dem neu angelegten Blatt
ActiveSheet.Paste
Bis zum Markieren der Zellen "B56:B109" läuft dies auch und dann kommt eine Fehlermeldung mit einem Roten Kreis + weisem Kreuz und der Zahl 400 - was ist denn das für ein Quatsch???
Bild

Betrifft: Danke
von: Frank
Geschrieben am: 14.03.2005 16:59:10
Hi,
habs hinbekommen mit:
Sheets(ziel).Range("B164:B217").Select
Selection.Cut Destination:=Sheets(ziel).Range("E2:E55")
Sheets(ziel).Range("A1").Select
Danke für Deine Hilfe
Gruß Frank
Bild

Betrifft: AW: excel ist aber heute wieder störrisch
von: marcl
Geschrieben am: 14.03.2005 13:00:15
Ja Frank,
wo sollen die Daten denn hin?
In das neu angelegte Blatt, oder?
Wär doch gelacht, wenn wir das nicht hin bekommen.
Gruß
marcl
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Rücksprung zum aktuellen Arbeitsblatt"