Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1516to1520
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

Zellen kopieren

Zellen kopieren
23.09.2016 17:38:58
Frank
Hallo zusammen,
ich möchte in einer mit Excel 2010 erzeugten Datei eine Spalte auslesen, in der standard-Datumsformate stehen, z.B.: 01.01.2016.
Wenn diese dem aktuellen Jahr entsprechen, soll VBA diese betreffenden Zellen der
Spalte Arbeitsblatt 1 Zeile für Zeile in eine Spalte des zweiten Arbeitsblattes
kopieren.
Das mit der Prüfung bekomm ich hin, aber er schreibt die Daten immer nur in eine Zelle
des zweite Arbeitsblattes.
Diese Zelle überschreibt er dann ständig wieder.
Wie bekommen ichs hin dass er die Daten in dem zweiten Arbeitsblatt untereinander
schreibt ?
Hier das Makro bis jetzt:
Option Explicit
Dim Ende As Variant
Dim i As Integer
Dim Suchdatei As Object
Dim LaufzBeginn As Range
Dim LaufzEnde As Range
Dim Datei As Worksheet
Dim Jahreszahl As Integer
Dim Jahr
Dim D
Dim Zelle As Object
Dim dValue As Double
Dim iCounter As Integer
Dim NextRow
Dim numRows As Long
Dim numColumns As Long
Dim Z As Object
Sub Datum_kopiern()
Sheets("Grunddaten").Select
i = Cells(Rows.Count, 5).End(xlUp).Row
i = i - 2
MsgBox ("Die letzte beschriebene Spalte ist Nr.  " & i)
Set LaufzBeginn = Range(Cells(2, 5), Cells(i, 5))
Set LaufzEnde = Range(Cells(2, 6), Cells(i, 6))
LaufzBeginn.Select
Set Zelle = ActiveCell
Jahr = Year(Date)
D = Year(Zelle)
i = 2
For iCounter = 2 To 5
If D = Jahr Then
Zelle.Copy Destination:=Worksheets("Test").Range("A1")
i = i + 1
End If
MsgBox (i)
Next iCounter
MsgBox "Ergebnis: " & Jahr
MsgBox ("Test erfolgreich")
End Sub

Schon mal Danke für Eure Zeit und Mühe !!!
Gruß Frank.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen kopieren
23.09.2016 21:16:25
Joe
Hallo FRank,
ich hab zwar überhaupt keine Ahnung von VBA, aber bei
Zelle.Copy Destination:=Worksheets("Test").Range("A1")
steht "A1" - d.h er kopiert immer in A1, egal was er findet, oder?
Gruß
Joe
AW: Zellen kopieren
24.09.2016 14:51:26
Frank
Hallo Joe,
dank Dir !
Ja, die Formel kenn ich auch.
Ich brauch aber was für VBA.
Gruß Frank.
AW: Zellen kopieren
24.09.2016 18:51:38
Werner
Hallo Frank,
ich würde das per VBA mit dem Filter machen, geht wesentlich schneller als mit einer Schleife über die Zeilen zu laufen und jede Zelle einzeln zu kopieren.
Wenn du willst, dann kann ich dir da mal was zusammenbasteln, komme aber heute nicht mehr dazu.
Da sollte ich aber noch ein paar Infos haben.
Wo, in welcher Zeile, beginnt dein Datenbereich in Spalte A.
Soll wirklich nur die Zelle aus Spalte A kopiert werden, oder die ganze Zeile, oder nur ein bestimmter Bereich der Zeile?
Am besten wäre es, wenn du eine kurze Beispielmappe mit ein paar Spieldaten erstellen würdest. Im Tabellenblatt 2 dann noch ein paar Daten händisch eintragen, wie dein Wunschergebnis aussehen soll. Die Datei dann hochladen. Aber bitte keine Datei mit Makros dirn, kann ich derzeit nicht herunterladen.
Gruß Werner
Anzeige
AW: Zellen kopieren
24.09.2016 18:56:50
Frank
Hallo Werner,
das Makro läuft jetzt soweit:
Option Explicit
Dim i As Integer
Dim LaufzBeginn As Range
Dim LaufzEnde As Range
Dim Jahr
Dim D As Integer
Dim Zelle As Object
Dim Z As Integer
Dim s As Integer
Dim iAnz As Integer
Const Blatt1 = "Grunddaten"
Const Blatt2 = "Test"
Sub Datum_kopiern()
Sheets("Grunddaten").Select
i = Cells(Rows.Count, 5).End(xlUp).Row
i = i - 2
MsgBox ("Die letzte beschriebene Spalte ist Nr.  " & i)
Set LaufzBeginn = Range(Cells(2, 5), Cells(i, 5))
Set LaufzEnde = Range(Cells(2, 6), Cells(i, 6))
Sheets("Grunddaten").Select
Sheets("Grunddaten").Range("3:1").Select
'Sheets("Test").Range("A1").Select
Application.ScreenUpdating = False
Sheets(Blatt1).Activate
LaufzBeginn.Select
iAnz = 0
s = 0
Z = 1
Do Until s = i
Set Zelle = ActiveCell
D = Year(Zelle)
Jahr = Year(Date)
If D  Jahr Then
End If
If D = Jahr = True Then
Zelle.Copy
Sheets(Blatt2).Activate
Sheets(Blatt2).Cells(Z, 1).Select
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
Z = Z + 1
Sheets(Blatt1).Select
End If
ActiveCell.Offset(1, 0).Select
Loop
Application.CutCopyMode = False
Application.ScreenUpdating = True
'MsgBox ("Es wurden   " & iAnz & " Zellen übertragen.")
MsgBox ("Test erfolgreich")
End Sub

Leider bringt er für die Variable "D" ständig die Fehlermeldung "Typen
unverträglich".
"D" soll die ausgelesene Jahreszahl der aktiven Zelle ausgeben.
Wenn ich die Prozedur in Einzelschritten durchlaufe, läuft der Code komischerweise.
Könntest Du mir bei dem Problem helfen?
Muss ich "D" eine anderen Typ bedaten oder woran liegts ?
Dank Dir schon mal !
Gruß Frank.
Anzeige
AW: Zellen kopieren
24.09.2016 19:12:16
Werner
Hallo Frank,
anscheinend hast du kein Interesse an meinem Lösungsvorschlag, da du auf meine Fragen nicht eingehst.
Zur Typenunverträglichkeit hast du im anderen Beitrag eine Antwort von Matthias.
Gruß Werner
habs gerade erst gesehen, sorry ... owT
24.09.2016 19:13:22
Matthias
AW: Feedback ist wohl ein Fremdwort?
28.09.2016 10:04:13
Werner
Hallo,
erst zwei Beiträge zum gleichen Beitrag erstellen. Dann diverse Nachfragen deinerseits in den unterschiedlichen Beiträgen aber ein Feedback für die Lösungsvorschläge hältst du nicht für notwendig.
Danke auch.
Gruß Werner
AW: Feedback ist wohl ein Fremdwort?
28.09.2016 19:09:05
Frank
Hallo Werner,
normalerweise würde ich auf Anfragen diesen Niveaus gar nicht antworten.
Aber ich bin meinerseits nicht im D-Zug durch die Kinderstube gefahren.
Ich war ein paar Tage nicht am Rechner und hab nicht ins Outlook schauen können, daher sorry.
Du möchtest ein Feedback ? Gerne doch.
Ich bin mir nicht ganz sicher, ob Du hier wirklich Laien wie mir helfen oder nur Überlegenheit
demonstrieren möchtest...
Nachdem ich mich hier nun gefühlt hundertmal bei Euch entschuldigt hab, könntest Du doch bitte auch
aufhören, wie ein kleines Kind weiter auf dem Thema rumzureiten.
Von Dir kam übrigens keine einzige Zeile Code, welche zur Lösung meines Problems begetragen hätte.
Wenn sichs vermeiden lässt, schreib mich bitte auch nicht mehr an.
Danke.
Gruß Frank.
Anzeige
AW: Feedback ist wohl ein Fremdwort?
29.09.2016 21:24:35
Werner
Hallo Frank,
lässt sich leider nicht vermeiden.
Da du ja jetzt wohl wieder "am Rechner" bist hätte ich erwartet, dass du auf die Beiträge der anderen Helfer reagierst.
Und noch was: Ich gebe dir Recht nicht eine Zeile, es sind 29, hab gerade noch mal nachgezählt.
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige