Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1256to1260
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
Inhaltsverzeichnis

Makro ausbauen

Makro ausbauen
Snewi
Hallo,
ich habe folgenden Sysntax um Daten von einem Sheet in ein anderes zu kopieren!
Das klappt bis jetzt wunderbar!
Sub Daten_holen_01()
Dim lngZ As Long
With Application
.DisplayAlerts = False
'.ScreenUpdating = False
End With
lngZ = 1
Workbooks.Open Filename:="T:\Eigene Dateien\01.xls"
Windows("01.xls").Activate
Range("F6:F71,N6:N71").Select
Selection.Copy
Windows("Test.xlsm").Activate
Sheets("Test").Cells(lngZ, 1).PasteSpecial xlValues
Windows("01.xls").Close False
With Application
.DisplayAlerts = True
'.ScreenUpdating = True
.CutCopyMode = False
End With
End Sub
Nun möchte ich aber eine kleine Änderung einbauen!
Ich habe noch ein Sheet (Zeidaten) wo in der Zelle A1 z.B. ein Monat steht - zb. 03 für März!
in dem Excel Sheet 01 gibt es für jeden Monat das selbe Datenblatt! Immer mit der Bezeichnung MM-YYYY!
Ich möchte nun gucken welches Datum in A1 steht und dementsprechend das Blatt für diesen Monat auswählen und dann den o.g Bereich kopieren und wieder in Test einfügen!
Danke und Gruß

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro ausbauen
09.04.2012 23:35:49
Josef

Hallo Snewi,
und wie bzw. wo ermittelt man das Jahr?

« Gruß Sepp »

AW: Makro ausbauen
09.04.2012 23:40:54
Snewi
Hallo,
sorry das Jahr bekomme ich natürlich auch Zeitdaten A1!
Gruß
AW: Makro ausbauen
09.04.2012 23:47:25
Josef

Hallo Snewi,
gehe davon aus, dass in A1 ein "echte" Datum steht!
Sub Daten_holen()
  Dim objWB As Workbook, objSh As Worksheet, objTarget As Worksheet
  Dim lngZ As Long, strMonth As String
  Dim lngCalc As Long
  
  On Error GoTo ErrExit
  
  With Application
    .ScreenUpdating = False
    .EnableEvents = False
    lngCalc = .Calculation
    .Calculation = xlCalculationManual
    .DisplayAlerts = False
  End With
  
  lngZ = 1
  
  With ThisWorkbook
    strMonth = Format(.Sheets("Zeidaten").Range("A1"), "MM-yyyy")
    
    Set objWB = Workbooks.Open(Filename:="T:\Eigene Dateien\01.xls")
    For Each objSh In objWB.Worksheets
      If objSh.Name = strMonth Then
        Set objTarget = objSh
        Exit For
      End If
    Next
    
    If Not objTarget Is Nothing Then
      objTarget.Range("F6:F71,N6:N71").Copy
      .Sheets("Test").Cells(lngZ, 1).PasteSpecial xlValues
    End If
    
    objWB.Close False
  End With
  
  ErrExit:
  
  With Err
    If .Number <> 0 Then
      MsgBox "Fehler in Prozedur:" & vbTab & "'Daten_holen'" & vbLf & String(60, "_") & _
        vbLf & vbLf & IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & _
        "Fehlernummer:" & vbTab & .Number & vbLf & vbLf & "Beschreibung:" & vbTab & _
        .Description & vbLf, vbExclamation + vbMsgBoxSetForeground, _
        "VBA - Fehler in Modul - Modul3"
      .Clear
    End If
  End With
  
  On Error GoTo 0
  
  With Application
    .CutCopyMode = False
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = lngCalc
    .DisplayAlerts = True
  End With
  
  Set objWB = Nothing
  objSh = Nothing
  objTarget = Nothing
End Sub




« Gruß Sepp »

Anzeige
AW: Makro ausbauen
10.04.2012 23:10:12
Snewi
Hallo Sepp,
klappt super danke schön!
Gruß

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige