Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1040to1044
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

Variablen Bereich in neues Blatt kopieren

Variablen Bereich in neues Blatt kopieren
26.01.2009 12:43:27
robert
Ein Hallo an Alle
ich hätte gerne Hilfe zu meiner Aufgabe
es geht um das kopieren von einem variablen Bereich von Blatt Daten auf Blatt Auswertung
genauere Beschreibung in der Datei
https://www.herber.de/bbs/user/58797.xls
Bitte um Hilfe und Gruß
Robert

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variablen Bereich in neues Blatt kopieren
26.01.2009 12:53:00
Hajo_Zi
Hallo Robertr,
warum muss ich erst eine Datei runterladen um die Aufgabe zu sehen. Ich beantworte jetzt das was im Beitrag steht.
Range("A1:C26").Copy Worksheets("Tabelle3").Range("Z23")
Gruß Hajo
AW: Variablen Bereich in neues Blatt kopieren
26.01.2009 13:04:00
robert
Hallo Hajo,
danke vorweg, anhand der datei ist es sicher verständlicher, aber ich definiere hier nochmals das problem:
datenbereich über mehrere spalte, in einer spalte datum mit uhrzeit in form von
z.B. 02.01.2009 00:00:00
02.01.2009 00:10:00
usw.. alle 10 minuten ein eintrag, daher sehr viele datensätze
ich möchte nun auswählen z.B. 02.01.2009 00:10:00 bis 03.01.2009 00:20:00
aus den selektierten und kopierten daten erstelle ich graphiken-warum auch immer :-)
gruß
robert
Anzeige
AW: Variablen Bereich in neues Blatt kopieren
26.01.2009 13:07:00
robert
AW: Variablen Bereich in neues Blatt kopieren
26.01.2009 17:13:56
Tino
Hallo,
habe hier mal eine Lösung,
ich füge die Daten zwar schon ab A2 ein,
aber dafür geht es schneller weil ich keine extra Schleife benötige.
Alles andere habe ich nicht hinbekommen.
Was mir natürlich aufgefallen ist, wenn ich einen Doubelwert an die Formel übergebe
z. Bsp.
Dim DatumBis As Double
DatumBis = CDbl(CDate("01.01.2009 23:59:59")) = 39814,9999884259
Dann macht er mir in die Formel 39814;9999884259 und damit kann die Formel nicht rechnen.
Daher mache ich einen String und ersetze das Komma durch einen Punk.
Sub Test()
Dim Bereich As Range
Dim DatumVon As String
Dim DatumBis As String

DatumVon = CDbl(CDate("01.01.2009 00:00"))
DatumBis = CDbl(CDate("01.01.2009 23:59:59"))
DatumVon = Replace(DatumVon, ",", ".")
DatumBis = Replace(DatumBis, ",", ".")

With Application
 .ScreenUpdating = False
    With Sheets("Daten")
     Set Bereich = .Range("M2", .Cells(.Rows.Count, 13).End(xlUp))
     Set Bereich = Bereich.Offset(0, .Columns.Count - Bereich.Column)
     Bereich.FormulaR1C1 = "=IF(AND(RC13>=" & DatumVon & ",RC13<=" & DatumBis & "),0,"""")"
    
        With Sheets("Auswertung")
        .Range("A2", .UsedRange.Cells(.UsedRange.Cells.Count)).Value = ""
         Bereich.SpecialCells(xlCellTypeFormulas, 1).EntireRow.Copy .Range("A2")
        .Columns(.Columns.Count).Delete
        End With
     
     .Columns(.Columns.Count).Delete
    End With
 .ScreenUpdating = True
End With
End Sub


Gruß Tino

Anzeige
AW: @Tino Variablen Bereich in Blatt kopieren
26.01.2009 18:49:47
robert
Hi Tino,
vorerst danke für deinen ansatz, den ich sowieso nicht nachvollzioehen kann,
da du in einer anderen liga programmierst.
hätte aber noch folgendes:
im blatt auswertung brauche ich die spalte A
und
kann ich auch sagen: DatumVon = Range("W1"), DatumBis=Range("W2")
ohne den ablauf des makros zu zerstören?
gruß
robert
AW: @Tino Variablen Bereich in Blatt kopieren
26.01.2009 19:03:51
Tino
Hallo,
mach doch einfach so, ungetestet.
DatumVon = CDbl(CDate(Sheets("Daten").Range("W1")))
DatumBis = CDbl(CDate(Sheets("Daten").Range("W2")))
Gruß Tino
AW: @Tino Variablen Bereich in Blatt kopieren
26.01.2009 19:07:00
robert
hi tino,
ok, aber was sagt du zu diesem problem?
im blatt auswertung brauche ich die spalte A
gruß
robert
Anzeige
AW: @Tino Variablen Bereich in Blatt kopieren
26.01.2009 19:13:00
Tino
Hallo,
versuche es mal hiermit.
Sub Test()
Dim Bereich As Range
Dim DatumVon As String
Dim DatumBis As String




With Application
 .ScreenUpdating = False
    With Sheets("Daten")
     DatumVon = CDbl(CDate(.Range("W1")))
     DatumBis = CDbl(CDate(.Range("W2")))
     DatumVon = Replace(DatumVon, ",", ".")
     DatumBis = Replace(DatumBis, ",", ".")
     
     Set Bereich = .Range("M2", .Cells(.Rows.Count, 13).End(xlUp))
     Set Bereich = Bereich.Offset(0, .Columns.Count - Bereich.Column)
     Bereich.FormulaR1C1 = "=IF(AND(RC13>=" & DatumVon & ",RC13<=" & DatumBis & "),0,"""")"
    
        With Sheets("Auswertung")
        .Range("A1", .UsedRange.Cells(.UsedRange.Cells.Count)).Value = ""
        Sheets("Daten").Range("A1:N1").Copy .Range("A1")
        Bereich.SpecialCells(xlCellTypeFormulas, 1).EntireRow.Copy .Range("A2")
        .Columns(.Columns.Count).Delete
        .Columns(1).Insert xlToRight, xlFormatFromLeftOrAbove
        .Range("W1:W2").Delete
        End With
         
     .Columns(.Columns.Count).Delete
    End With
 .ScreenUpdating = True
End With
End Sub


Vielleicht wenn ich nachher noch Lust habe, baue ich dies etwas um.
Gruß Tino

Anzeige
AW: @Tino Variablen Bereich in Blatt kopieren
26.01.2009 19:33:57
robert
Danke Tino,
bin gespannt, was du da noch umbauen willst !
funktioniert super - :-))
gruß
robert
AW: @Tino Variablen Bereich in Blatt kopieren
26.01.2009 19:47:00
Tino
Hallo,
also ich habe jetzt festgestellt,
dass oben genannte Problem mit ; und , ist auch schuld, dass der Autofilter nicht geht.
Teste mal diese Version.
Sub Test2()
Dim Bereich As Range, BereichFilter As Range
Dim DatumVon As String
Dim DatumBis As String
With Application
 .ScreenUpdating = False
 .EnableEvents = False

    With Sheets("Daten")
             
             DatumVon = CDbl(CDate(.Range("W1")))
             DatumBis = CDbl(CDate(.Range("W2")))
             DatumVon = Replace(DatumVon, ",", ".")
             DatumBis = Replace(DatumBis, ",", ".")
        
        Set Bereich = .Range("M1", .Cells(.Rows.Count, 13).End(xlUp))
        Bereich.AutoFilter 1, ">=" & DatumVon, xlAnd, "<=" & DatumBis, False
        Set BereichFilter = .Range("A2", .UsedRange.Cells(.UsedRange.Cells.Count)).SpecialCells(xlCellTypeVisible)
        
        With Sheets("Auswertung")
         .Range("B2", .UsedRange.Cells(.UsedRange.Cells.Count)).Value = ""
          BereichFilter.Copy .Range("B2")
         Bereich.AutoFilter
        End With
    
    
    End With
 .ScreenUpdating = True
 .EnableEvents = True
End With
End Sub


Gruß Tino

Anzeige
AW: @Tino-Danke-Superlösung somit....
26.01.2009 20:28:00
robert
...ist das thema erledigt :-)
ist mir ein rätsel, wie man auf solche lösungen kommt !
vielen dank
und gruß
robert
Zufälle bestimmen oft das leben.
26.01.2009 20:40:00
Tino
Hallo,
Ich war kurz vor dem aufgeben, dann ist mir die seltsame Zahl in der Formel aufgefallen.
Dann dachte ich, wenn dies der Fehler in der Formel ist,
könnte dies auch der Fehler beim Autofilter sein und siehe da es war so.
Du hast eine Lösung bekommen und ich habe auch eine Lösung für die Zukunft.
Gruß Tino
AW: Zufälle bestimmen oft das leben.
27.01.2009 07:09:20
robert
hi tino
gewusst wie und wo schauen, und das hast du.....
eine frage hätte ich doch noch-
wenn ich mit F8 das makro durchgehe, tut sich gar nichts, plötzlich sin die daten im anderen blatt-
was passiert da ? kurze beschreibung möglich?
gruß
robert
Anzeige
ist eigentlich ganz einfach.
27.01.2009 07:47:00
Tino
Hallo,
ist eigentlich ganz einfach.
Zuerst wird das Datum von und Datum bis in einem (2) String gespeichert.
Dann bestimme ich den Bereich in Spalte M
Wende den Autofilter an
Bestimme die Sichtbaren Zellen
Leere den Bereich in Auswertung
Kopiere die Sichtbaren Zellen nach Auswertung.
Lösche den Autofilter wieder
Ist doch ganz einfach, oder?
Gruß Tino
AW: ist eigentlich ganz einfach............
27.01.2009 07:52:33
robert
wenn man es kann :-)
nochmals ein grosses danke
bis zum nächstenmal.......
gruß
robert

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige