Re: ACTIVEWORKBOOK.NAME als Variable definieren - GELÖST - DANKE

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Markus (NOSPAM_MarkusLoew_at_web.de)
Date: 11/03/04


Date: Wed, 3 Nov 2004 15:54:03 +0100

Hallo Peter,
ich hab jetzt das Problem gefunden. Mit deinem letzten Hinweis hast du mich
auf den richtigen Weg gebracht.
Das Problem war nicht am Anfang sondern am Ende versteckt:

ALT:
If Work***.Name <> "00" Then
Worksheet.Copy after:=Workbooks(2).Sheets(zähler)

bei der letzten Schleife griff ich auf das Workbook 2 zu. Dies ist aber ja
(ich Idiot) wenn schon eine weitere Arbeitsmappe offen ist, nicht die vom
Code erstelle sondern die bereits geöffnete.

NEU:

 'datei abspeichern nachdem das erste Tabellenblatt kopiert wurde

 If Work***.Name = "00" Then
Work***.Select
Work***.Copy

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Gesamtdatei_speichern

 Else
If Work***.Name <> "00" Then ' Funktionen nur ausführen wenn es nicht "00"
ist
Worksheet.Copy after:=Workbooks(gesamtdatei).Sheets(zähler)

Danke für deine Hilfe

Markus

"Peter H. Erdmann" <anonymous@discussions.microsoft.com> schrieb im
Newsbeitrag news:3ade01c4c1ac$926cdc40$a301280a@phx.gbl...
Hallo,

stehe im Moment etwas im Nebel (kann auch am Wetter
draußen liegen). Aber kann es sein, daß Du zuätzlich zum
Workbook.Name auch den Work***.Name in eine Variable
lesen mußt.
Also
for each Sheet in ActiveWorkbook.Sheets
 puffer=active***.name

Muß mir das Ganze noch mal in Ruhe anschauen.
Melde mich spätestens morgen nochmal, falls
zwischenzeitlich keiner die Lösung gefunden hat.

Gruß
Peter

>-----Originalnachricht-----
> Hallo Peter,
>ich nochmal. Irgendwie greift sich der Code bei dem
Kopieren des ersten
>Blattes "00" das bereits im Hintergrund geöffnete Blatt
und kopiert es da
>hinein. Alle anderen Blätter gehen dann in ein anderes
Blatt.
>Gibt es die Möglichkeit, die Arbeitsmappe im Code fest zu
fixieren a la
>
>For Each Worksheet In ActiveWorkbook.Worksheets
>
>und für ActiveWorkbook.Worksheets wird im Vorfeld eine
feste Variable
>definiert und der Wert "cn.xls" wird übergeben.
>
>Danke nochmal für deine schnelle Antwort.
>
>Gruß Markus
>
>
>
><anonymous@discussions.microsoft.com> schrieb im
Newsbeitrag
>news:3a9101c4c1a1$45e7c890$a301280a@phx.gbl...
>
>> Sub Gesamtdaten_kopieren()
>>
>
> Windows(puffer).Activate
>
>> For Each Worksheet In ActiveWorkbook.Worksheets
>> If Len(Work***.Cells(4, 2).Text) > 0 Then
>>
>>
>>
>>
>>
>>"Peter H. Erdmann" <anonymous@discussions.microsoft.com>
>schrieb im
>>Newsbeitrag news:168701c4c19c$be3d64d0
$a501280a@phx.gbl...
>>Dim puffer as String
>>puffer = ActiveWorkbook.name
>>Windows(puffer).activate
>>etc..
>>
>>Gruß aus dem Land der Bayern
>>Peter
>>
>>>-----Originalnachricht-----
>>>Hallo NG,
>>>
>>>ich habe folgendes Problem:
>>>
>>>Der folgende Code kopiert mit Abhängigkeit von Inhalt B4
>>Tabellen in eine
>>>gemeinsame neue Arbeitsmappe.
>>>Nur läuft mir das Teil gegen die Wand, wenn ich noch
eine
>>weitere Mappe
>>>offen habe, da er sich dann zu irgend einem Zeitpunkt
die
>>bereits offene
>>>zieht.
>>>
>>>Wie kann ich die Arbeitsmappe (cn.xls) so per Variable
>>einbinden, daß diese
>>>auch geändert werden kann?
>>>Über Msgbox bekomme ich zwar die Info, aber dann ist
>>Schluss.
>>>Ich bin wahrscheinlich zu doof, ACTIVEWORKBOOK.NAME so
>>als DIM zu
>>>definieren, daß diese fest im Projekt fixiert ist.
>>>
>>>Wäre klasse, wenn mir jemand auf die Sprünge helfen
>>könnte.
>>>
>>>Danke Markus
>>>
>>>_____________________________________________________
>>>
>>>
>>>Sub Gesamtdaten_kopieren()
>>>
>>>zähler = 1
>>>For Each Worksheet In ActiveWorkbook.Worksheets
>>> If Len(Work***.Cells(4, 2).Text) > 0 Then
>>>
>>> If Work***.Name = "00" Then
>>> Work***.Select
>>> Work***.Copy
>>> Else
>>> If Work***.Name <> "00" Then
>>> Worksheet.Copy after:=Workbooks(2).Sheets(zähler)
>>> zähler = zähler + 1
>>>
>>> End If
>>> End If
>>> End If
>>>Next
>>>
>>>Sheets("00").Select
>>>
>>>ActiveWorkbook.SaveAs Gesamtdatei_speichern
>>>ActiveWindow.Close
>>>
>>>End Sub
>>>
>>>
>>>.
>>>
>>
>>
>>.
>>
>
>
>.
>


Quantcast