Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
764to768
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
764to768
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kleine :-) Änderung

Kleine :-) Änderung
18.05.2006 15:35:36
Ralf
Hallo Excel - Experten,
ich habe hier eine ganz tolle VBA Prozedur (s.unten), die auch super
funktioniert, d.h. es gibt eine Tabelle Spalte A bis L
und diese Prozedur sucht in der Spalte H nach einem X, (wenn
ich sie laufen lasse!), und markiert (rot) und kopiert dann die entspr. Zeilen
und zwar von Spalte A bis L in die Mappe Archiv und setzt noch
in der Spalte danach das aktuelle Datum.
Nun meine Frage: kann man diesen Code auch so umstellen, dass das
Kopieren sofort nach Eingabe des X vorgenommen wird und zwar nur dann,
wenn der Wert in Spalte E nicht schon vorhanden ist ( der darf nämlich nur einmal vorkommen :-)
Viele Grüße
Ralf

Sub X_Archivieren()
Application.ScreenUpdating = False
Dim Suchbereich As Range, Daten As Range, Finden As Range
Dim wks1 As Worksheet, Archiv As Worksheet, Adresse As String
Set wks1 = ActiveWorkbook.Sheets("Daten")
Set Archiv = ActiveWorkbook.Sheets("Archiv")
Set Suchbereich = wks1.Range("H2:H" & wks1.UsedRange.Row + wks1.UsedRange.Rows.Count - 1)
With Suchbereich
Set Finden = .Find(What:="X", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
If Finden Is Nothing Then Exit Sub
Adresse = Finden.Address
Do
Set Daten = wks1.Range(wks1.Cells(Finden.Row, "A"), wks1.Cells(Finden.Row, "L"))
Daten.Interior.ColorIndex = 3 ' Farbe = rot
Daten.Copy
zeile = Archiv.UsedRange.Row + Archiv.UsedRange.Rows.Count
Archiv.Cells(zeile, "A").PasteSpecial Paste:=xlValues
Archiv.Cells(zeile, "M").Value = Date
Set Finden = .FindNext(Finden)
Loop While Not Finden Is Nothing And Adresse <> Finden.Address
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Kleine :-) Änderung
18.05.2006 17:51:34
Artuhr
Hallo Ralf.
Benutze die Worksheet_Change-Funktion. Dort abfragen, ob eine Zelle in der Spalte "L" geändert wurde, und ob zufällig ein "x" drinsteht (ggf. mit UCASE/LCASE dir größe ignorieren) und den Rest mit der Kopiererei hast du ja schon.

Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Column = Range("L:L").Column) Then
If (Target.Value = "X") Then
... do whatever you what to do ...
End If
End If
End Sub

Gruß
-Arthur
AW: Kleine :-) Änderung
19.05.2006 09:04:49
Ralf
Hallo Arthur,
Vielen Dank für Deinen Tipp, nur leider ist es mir (noch)
nicht möglich diesen umzusetzen :-) (s. Excel gut VBA NEIN)
Gruß
Ralf
Anzeige
AW: Kleine :-) Änderung
18.05.2006 18:06:15
Ulf
Hallo Ralf
schreibe mal diesen Code in deine Tabelle "Daten"
dann müßte es funktionieren.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 Then
Application.ScreenUpdating = False
Dim Suchbereich As Range, Daten As Range, Finden As Range
Dim wks1 As Worksheet, Archiv As Worksheet, Adresse As String
Set wks1 = ActiveWorkbook.Sheets("Daten")
Set Archiv = ActiveWorkbook.Sheets("Archiv")
Set Suchbereich = wks1.Range("H2:H" & wks1.UsedRange.Row + wks1.UsedRange.Rows.Count - 1)
With Suchbereich
Set Finden = .Find(What:="X", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
If Finden Is Nothing Then Exit Sub
Adresse = Finden.Address
Do
If wks1.Cells(Finden.Row, "E") <> "x" Then
Set Daten = wks1.Range(wks1.Cells(Finden.Row, "A"), wks1.Cells(Finden.Row, "L"))
Daten.Interior.ColorIndex = 3 ' Farbe = rot
Daten.Copy
zeile = Archiv.UsedRange.Row + Archiv.UsedRange.Rows.Count
Archiv.Cells(zeile, "A").PasteSpecial Paste:=xlValues
Archiv.Cells(zeile, "M").Value = Date
End If
Set Finden = .FindNext(Finden)
Loop While Not Finden Is Nothing And Adresse <> Finden.Address
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End If
End Sub

mfg Ulf
Anzeige
AW: Kleine :-) Änderung
19.05.2006 08:58:22
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
AW: Kleine :-) Änderung
19.05.2006 08:58:31
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
Anzeige
AW: Kleine :-) Änderung
19.05.2006 08:58:37
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
AW: Kleine :-) Änderung
19.05.2006 08:58:43
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
Anzeige
AW: Kleine :-) Änderung
19.05.2006 08:58:46
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
AW: Kleine :-) Änderung
19.05.2006 08:58:46
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
Anzeige
AW: Kleine :-) Änderung
19.05.2006 08:58:47
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
AW: Kleine :-) Änderung
19.05.2006 08:59:08
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
Anzeige
AW: Kleine :-) Änderung
19.05.2006 08:59:26
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
AW: Kleine :-) Änderung
19.05.2006 08:59:37
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
Anzeige
AW: Kleine :-) Änderung
19.05.2006 08:59:39
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
AW: Kleine :-) Änderung
19.05.2006 09:00:19
Ralf
Hallo Ulf,
vielen Dank für Deine schnelle Hilfe !
Es funktioniert auch schon ganz gut. Könntest Du mir
noch bitte bei einer weiteren "kleinen" Änderung helfen ?
Excel soll nämlich noch prüfen, ob der Wert in Spalte E (in Tab. Archiv) schon
vorhanden ist und wenn ja, dann soll er nichts kopieren, und
schön wäre es, wenn er nach dem Kopieren die X ´e in der Tab. Daten
wieder löschen würde.
Viele :-) Grüße
Ralf
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige