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

Spalte durchsuchen

Spalte durchsuchen
Markus
Hallo Zusammen,
Wenn ich diesen Code richtig Interpetiere schaut das Makro (IF Datum1) aber in der zweiten _ Tabelle in A1 es soll aber in der ganzen Spalte A suchen, wenn das Datum schon vorhanden ist wurde es zu einem frühren Zeitpunkt schon von dem Makro kopiert. (Date Then) sollte jetzt nach Möglichkeit durch die Zelle A3 aus der ersten Tabelle ersetzt werden.

Sub test()
Datum1 = Sheets(2).Range("A1")
Sheets(1).Range("a3:Q3").Copy
If Datum1  Date Then
'MsgBox "nicht gleich"
leerzeile = Sheets(2).Cells(Rows.Count, "A").End(xlUp).Row + 1
Sheets(2).Range("A" & leerzeile & ":Q" & leerzeile).PasteSpecial (xlPasteValues)
Else
'MsgBox "gleich"
Sheets(2).Range("A3:Q3").PasteSpecial (xlPasteValues)
End If
Application.CutCopyMode = False
End Sub

Vielen Dank für Eure Mühe!!!
Gruß Markus

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spalte durchsuchen
16.01.2011 09:41:36
Reinhard
Hallo Markus,
wenn ich dich richtig verstanden habe:

Option Explicit
Sub test()
Dim Leerzeile As Long
With Worksheets("Tabelle2")
Worksheets("Tabelle1").Range("a3:Q3").Copy
If Application.CountIf(Columns(1), Date) = 0 Then
'MsgBox "nicht gleich"
Leerzeile = .Cells(Rows.Count, "A").End(xlUp).Row + 1
.Range("A" & Leerzeile).PasteSpecial (xlPasteValues)
Else
'MsgBox "gleich"
.Range("A3").PasteSpecial (xlPasteValues)
End If
End With
Application.CutCopyMode = False
End Sub

Gruß
Reinhard
AW: Andernorts gelöst
16.01.2011 11:30:11
Gerd

Sub test2()
Dim rngQuelle As Range
Dim wshHistorie As Worksheet
Dim vntZeile As Variant
Dim lngAusgabeZeile As Long
Set rngQuelle = ThisWorkbook.Worksheets("Tabelle1").Range("B4:Q4") 'zu übertragenden Bereich  _
einer Objektvariablen Typ Range zuweisen
Set wshHistorie = ThisWorkbook.Worksheets("Tabelle2") 'Historienblatt einer Objektvariablen vom  _
Typ Worksheet zuweisen
'prüfen, ob aktuelles Datum im Historienblatt in Spalte A bereits vorhanden ist
vntZeile = Application.Match(CLng(Date), wshHistorie.Columns(1), 0)
If IsNumeric(vntZeile) Then 'Datum ist vorhanden
lngAusgabeZeile = CLng(vntZeile) 'der Ausg... den Wert der Trefferzeile des Vergleichs  _
zuweisen u. den Datentyp von Variant auf Long ändern
Else 'Datum ist nicht vorhanden
lngAusgabeZeile = wshHistorie.Cells(wshHistorie.Rows.Count, 1).End(xlUp).Row + 1 'nächste  _
freie Zeile im Zielblatt Spalte A ermitteln
End If
If IsNumeric(vntZeile) Then wshHistorie.Range("A" & lngAusgabeZeile) = Date 'falls unten eingefü _
gt wird, aktuelles Datum in Spalte A schreiben
wshHistorie.Range("B" & lngAusgabeZeile & ":Q" & lngAusgabeZeile).Value = rngQuelle.Value ' _
Eingabewerte übertragen
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige