Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten kopieren

Daten kopieren
09.09.2005 15:37:15
Carmen
Hallo Excel-Spezialisten,
ich bräuchte Hilfe zu folgendem Problem:
ich habe eine feste Vorlage, in die jeweils Daten einer anderen (offenen) Arbeitsmappe eingefügt werden müssen.
Der Name der Vorlage ist eindeutig.
Der Name der Arbeitsmappe aus der die Daten kopiert werden sollen, ist variabel, beginnt aber immer mit "Auswertung_ ".
Mit folgendem Code schaffe ich es schon, dass die entsprechende Arbeitsmappe ausgewählt wird und die Daten in die Vorlage kopiert werden. Ich gehe dabei davon aus, dass nur eine Arbeitsmappe geöffnet ist, die mit "Auswertung_" beginnt.

Sub Daten_laden()
Dim wb As Workbook
For Each wb In Workbooks
If wb.Name Like "Auswertung_*" Then
wb.Activate
Range("A3:I6000").Select
Selection.Copy
Workbooks("Bearbeitungsformular.xls").Activate
Sheets("Nachfasscalls").Activate
Range("A3").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks :=False, Transpose:=False
Exit For
End If
Next wb
End Sub

Für den Fall, dass aber mehrere "Auswerungs" Arbeitsblätter geöffnet sind, möchte ich nun noch eine Abfrage einbauen, die eine Meldung ausgibt, falls mehr als eine Arbeitsmappe mit "Auswertung_" geöffnet ist. In diesem Fall sollen keine Daten kopiert werden.
Ich bin für jeden Vorschlag dankbar.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten kopieren
09.09.2005 15:49:23
Nepumuk2
Hallo Carmen,
versuch es mal so:
Sub Daten_laden()
    Dim wb As Workbook, wbCount As Integer
    For Each wb In Workbooks
        If wb.Name Like "Auswertung_*" Then wbCount = wbCount + 1
    Next
    If wbCount = 1 Then
        For Each wb In Workbooks
            If wb.Name Like "Auswertung_*" Then
                wb.Worksheets(1).Range("A3:I6000").Copy
                Workbooks("Bearbeitungsformular.xls").Worksheets( _
                    "Nachfasscalls").Range("A3").PasteSpecial Paste:=xlPasteValues
                Exit For
            End If
        Next wb
    Else
        MsgBox "Es sind " & CStr(wbCount) & _
            " Auswertungsmappe geöffnet", 64, "Information"
    End If
End Sub

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Daten kopieren
09.09.2005 15:56:19
IngGi
Hallo Carmen,
so müsste es gehen.

Sub Daten_laden()
Dim wb As Workbook
Dim b As Byte
For Each wb In Workbooks
If wb.Name Like "Auswertung_*" Then b = b + 1
Next 'wb
If b > 1 Then
MsgBox "Mehr als eine Auswertungsmappe geöffnet !", vbExclamation
Else
For Each wb In Workbooks
If wb.Name Like "Auswertung_*" Then
wb.Activate
Range("A3:I6000").Select
Selection.Copy
Workbooks("Bearbeitungsformular.xls").Activate
Sheets("Nachfasscalls").Activate
Range("A3").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Exit For
End If
Next wb
End If
End Sub
Gruß Ingolf
Anzeige
AW: Daten kopieren
09.09.2005 16:16:06
Carmen
funktioniert beides super,
vielen Dank!!!
Gruß
Carmen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige