Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gleicher Code nur für andere Spalte

Gleicher Code nur für andere Spalte
30.07.2007 19:05:00
chris58
Guten Abend !
Ich möchte mich vorerst einmal für Eure Hilfe bedanken, jedoch habe ich eine Frage zu diesem code. Ich kann mittels dieses Codes, wenn ich ein Datum in die Spalte H eingebe, die gesamte Zeile in eine andere Tabelle kopieren. Nun zu meiner Frage: Kann ich in die gleiche Tabelle mehrere solche codes einbauen, sodaß ich, wenn ich in Zeile H oder in Zeile I ein Datum eingabe das kopieren ebenfalls erfolgt. Ich habe den Code mehrmals in die Tabelle eingetragen, jedoch kommt dann immer ein Fehler. Wie kann man das "händeln"? Könnt ihr mir helfen.
Danke im voraus
chris

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRow As Long
If Not (Target.Column = 8 And _
Target.Row > 1) Then GoTo leave_sub
On Error GoTo leave_sub
If IsDate(Target) Then ' Abfrage, ob Datum
lRow = Sheets("Neuwagen-Finanzierung").Range("H" & Sheets("Neuwagen-Finanzierung"). _
Rows.Count).End(xlUp).Row + 1
ActiveSheet.Range(Cells(Target.Row, 1), Cells(Target.Row, 10)).Copy
Sheets("Neuwagen-Finanzierung").Cells(lRow, 1).PasteSpecial Paste:=xlPasteValues
MsgBox "Datensatz wurde archiviert!", vbOKOnly + vbInformation, "Archiv"
End If
leave_sub:
End Sub


8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gleicher Code nur für andere Spalte
30.07.2007 19:23:00
Armin
Hallo Chris,
nein dieser Code darf nur einmal pro Seite vorhanden sein.
Man fragt dann nur die entsprechenden Zeilen oder Spalten ab. Ich habe es für den Fall den Du geschrieben hast erweitert, es passiert in beiden Fällen das gleiche für Spalte H oder I.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRow As Long
On Error GoTo leave_sub
If (Target.Column = 8 Or Target.Column = 9) And Target.Row > 1 Then
If IsDate(Target) Then ' Abfrage, ob Datum
lRow = Sheets("Neuwagen-Finanzierung").Range("H" & Sheets("Neuwagen-Finanzierung"). _
Rows.Count).End(xlUp).Row + 1
ActiveSheet.Range(Cells(Target.Row, 1), Cells(Target.Row, 10)).Copy
Sheets("Neuwagen-Finanzierung").Cells(lRow, 1).PasteSpecial Paste:=xlPasteValues
MsgBox "Datensatz wurde archiviert!", vbOKOnly + vbInformation, "Archiv"
End If
End If
leave_sub:
End Sub


Anzeige
AW: Gleicher Code nur für andere Spalte
30.07.2007 19:50:24
chris58
Danke, jedoch hab ich mich falsch ausgedückt.
Von Spalte H soll in ein anderes Tabellenblatt (Typenscheine) und von Spalte I in in Neuwagen-Finanzierung kopiert werden. Verzeihung, das ich mich falsch ausgedrückt habe. Kannst du mir sagen, wie ich das lösen kann ?
Danke im voraus
chris

AW: Gleicher Code nur für andere Spalte
30.07.2007 20:12:00
Renee
Hi Chris,
Dann so:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRow As Long
Dim sSheet As String
If (Target.Column = 8 Or Target.Column = 9) And _
Target.Row > 1 And Target.Rows.Count = 1 Then GoTo leave_sub
On Error GoTo leave_sub
If IsDate(Target) Then ' Abfrage, ob Datum
sSheet = IIf(Target.Column = 8, "Neuwagen-Finanzierung", "Typenscheine")
lRow = Sheets(sSheet).Range("A" & Sheets(sSheet).Rows.Count).End(xlUp).Row + 1
ActiveSheet.Range(Cells(Target.Row, 1), Cells(Target.Row, 10)).Copy
Sheets(sSheet).Cells(lRow, 1).PasteSpecial Paste:=xlPasteValues
MsgBox "Datensatz wurde archiviert!", vbOKOnly + vbInformation, sSheet
End If
leave_sub:
End Sub


Greetz Renee

Anzeige
AW: Gleicher Code nur für andere Spalte
30.07.2007 20:28:03
chris58
Nun, da rührt sich gar nichts mehr, kopiert wird in kein Tabellenblatt, oder mache ich was falsch ?
chris

AW: Gleicher Code nur für andere Spalte
30.07.2007 20:34:00
Schliesser
Sorry,
Ich hab was verschlimm-bessert.
Diese 2 Zeilen sollten so heissen:

If NOT ((Target.Column = 8 Or Target.Column = 9) And _
Target.Row > 1 And Target.Rows.Count = 1) Then GoTo leave_sub


Greetz Renee

AW: Gleicher Code nur für andere Spalte
30.07.2007 20:44:05
chris58
WOW........Danke...........ich werde das nun testen.....aber es funktioniert- wunderbar....bin begeistert.....danke nochmals............ nun kann ich alle Tabellen gleich schalten..........einige Fragen habe ich noch, aber nicht mehr heute.............ich bin von diesem Forum begeistert.......da wird immer geholfen
danke nochmals
chris

Anzeige
AW: Gleicher Code nur für andere Spalte
30.07.2007 19:28:24
Renee
Hello Chris,
Sieht irgendwie nach Renee-Code aus ;-)
Zum Ersten, Du redest zwar von Zeilen, meinst aber vermutlich Spalten.
Zum Zweiten (Deine eigentliche Frage), unten ist jetzt noch Spalte I eingebaut, nach dem gleichen Prinzip könntest Du weitere einbauen (8=H, 9=I, 10=J etc.):

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRow As Long
If Not ((Target.Column = 8 _
Or  Target.Column = 9) And _
Target.Row > 1) Then GoTo leave_sub
On Error GoTo leave_sub
If IsDate(Target) Then ' Abfrage, ob Datum
lRow = Sheets("Neuwagen-Finanzierung").Range("A" & Sheets("Neuwagen-Finanzierung"). _
Rows.Count).End(xlUp).Row + 1
ActiveSheet.Range(Cells(Target.Row, 1), Cells(Target.Row, 10)).Copy
Sheets("Neuwagen-Finanzierung").Cells(lRow, 1).PasteSpecial Paste:=xlPasteValues
MsgBox "Datensatz wurde archiviert!", vbOKOnly + vbInformation, "Archiv"
End If
leave_sub:
End Sub


Greetz Renee

Anzeige
AW: Gleicher Code nur für andere Spalte
30.07.2007 21:15:25
chris58
Hallo......... ich wollte nur noch fragen, ob man statt....
MsgBox "Datensatz wurde archiviert!", vbOKOnly + vbInformation, "Archiv"
die MsgBox so steuern kann, das sie anzeigt wo es hingespeichert wird.
Also entweder in Typenscheine oder Neuwagen-Finanzierung.. würde das noch Umstände machen ?
chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige