Bei Eingabe x in Spalte 4 soll Datensatz in die Da



Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Bei Eingabe x in Spalte 4 soll Datensatz in die Da
von: olga
Geschrieben am: 26.06.2002 - 19:00:02

Hallo
Wer kann mir helfen?

Bei Eingabe von x in die Spalte 4 soll der Datensatz in die nächste freie Zeile im Tabellenblatt (bez) kopiert werden.
Vielen Dank

Olga


nach oben   nach unten

Re: Bei Eingabe x in Spalte 4 soll Datensatz in die Da
von: Ramses
Geschrieben am: 26.06.2002 - 19:12:37

hallo Olga,

kopiere diesen Code im VB-Editor in die Tabelle wo das Ereignis stattfinden soll:


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cr As Long
Dim Bez As String
Bez = "Tabelle2"
cr = 65536
If Target.Column <> 4 Then Exit Sub
If Target.Value <> "x" Then Exit Sub
If Worksheets(Bez).Cells(cr, 1) = "" Then
    cr = Worksheets(Bez).Cells(cr, 1).End(xlUp).Row
    Debug.Print cr
End If
Rows(Target.Row).Copy Destination:=Worksheets(Bez).Rows(cr)
End Sub

Gruss Rainer

nach oben   nach unten

Schreibfehler
von: Ramses
Geschrieben am: 26.06.2002 - 19:16:19

Hallo Olga,

Sorry, die erste codezeile muss heissen

Private Sub Worksheet_Change(ByVal Target As Range)

Gruss Rainer


nach oben   nach unten

Nu is Feierabend. Noch einer...
von: Ramses
Geschrieben am: 26.06.2002 - 19:18:44

Hallo Olga,

Details machen es aus. Man sollte den Code doch mal testen bevor man veröffentlicht :-))


Private Sub Worksheet_Change(ByVal Target As Range)
Dim cr As Long
Dim Bez As String
Bez = "Tabelle2"
cr = 65536
If Target.Column <> 4 Then Exit Sub
Debug.Print Target.Value
If Target.Value <> "x" Then Exit Sub
If Worksheets(Bez).Cells(cr, 1) = "" Then
    cr = Worksheets(Bez).Cells(cr, 1).End(xlUp).Row
    Debug.Print cr
End If
Rows(Target.Row).Copy Destination:=Worksheets(Bez).Rows(cr + 1)
End Sub

Gruss Rainer

nach oben   nach unten

Re: Nu is Feierabend. Noch einer...
von: olga
Geschrieben am: 26.06.2002 - 19:33:45

Danke habe Anführungszeichen bei Tabellenblatt gesetzt.
Es klappt super
Vielen Dank.
kann man die die Hintergrundfarbe verändern?

nach oben   nach unten

Re: Nu is Feierabend. Noch einer...
von: Ramses
Geschrieben am: 26.06.2002 - 21:08:52

Hallo,

wieso setzt du den Namen in Anführungszeichen ?
Du musst nur oben in der Variable den Tabellennamen angeben

Setze vor End Sub diese Codezeilen:

'3 = Rot
'4 = Grün
'5 = Blau
'6 = Gelb
'7 = Magenta
'15 = Grau
Rows(Cr).Interior.ColorIndex = 3

Mit der Zahl kannst du die Zeile einfärben.

Gruss Rainer

nach oben   nach unten

Re: Nu is Feierabend. Noch einer...
von: olga
Geschrieben am: 26.06.2002 - 22:46:16

Hallo Rainer
Danke für deine Hilfe
Die Zeile wir bei mir nicht eingefärbt, ich weiß nicht an was es liegt.
code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cr As Long
Dim Bez As String
Bez = "Tabelle2"
cr = 65536
If Target.Column <> 4 Then Exit Sub
Debug.Print Target.Value
If Target.Value <> "x" Then Exit Sub
If Worksheets("bez").Cells(cr, 1) = "" Then
Rows(cr).Interior.ColorIndex = 15

cr = Worksheets("bez").Cells(cr, 1).End(xlUp).Row
Debug.Print cr


End If



Rows(Target.Row).Copy Destination:=Worksheets("bez").Rows(cr + 1)
Rows(cr).Interior.ColorIndex = 3


End Sub

nach oben   nach unten

Was machst du denn da...
von: Ramses
Geschrieben am: 26.06.2002 - 23:04:35

Hallo

Willst du damit die vorletzte Zeile einfärben ?

If Worksheets("bez").Cells(cr, 1) = "" Then
Rows(cr).Interior.ColorIndex = 15

Die Zelle kann nichtleer sein, weil deine Daten fortlaufend dorthin kopiert werden.


Private Sub Worksheet_Change(ByVal Target As Range)
Dim cr As Long
Dim Bez As String
Bez = "Tabelle2"
cr = 65536
If Target.Column <> 4 Then Exit Sub
Debug.Print Target.Value
If Target.Value <> "x" Then Exit Sub
If Worksheets(Bez).Cells(cr, 1) = "" Then
    cr = Worksheets(Bez).Cells(cr, 1).End(xlUp).Row
End If
Rows(Target.Row).Copy Destination:=Worksheets(Bez).Rows(cr + 1)
'3 = Rot
'4 = Grün
'5 = Blau
'6 = Gelb
'7 = Magenta
'15 = Grau
Worksheets(Bez).Rows(cr + 1).Interior.ColorIndex = 3
End Sub

Damit wird die letzte zeile, also die welche gerade kopiert wurde, rot eingefärbt.

Gruss Rainer

nach oben   nach unten

Re: Was machst du denn da...
von: olga
Geschrieben am: 26.06.2002 - 23:21:44

Hallo Rainer dies mit der Farbe funktioniert, Vielen Dank.
Aber ich möchte das es in der 1. Tabelle Hintergrund gefärbt wird(damit ich weiß, die Zeile ist kopiert) und nicht die ganze Zeile
sondert A:F.
Ist es möglicht?

Vielen Dank im Voraus
Olga

nach oben   nach unten

Re: Was machst du denn da...
von: Ramses
Geschrieben am: 27.06.2002 - 07:52:27

Hallo Olga,


Private Sub Worksheet_Change(ByVal Target As Range)
Dim cr As Long
Dim Bez As String
Bez = "Tabelle2"
cr = 65536
If Target.Column <> 4 Then Exit Sub
Debug.Print Target.Value
If Target.Value <> "x" Then Exit Sub
If Worksheets(Bez).Cells(cr, 1) = "" Then
    cr = Worksheets(Bez).Cells(cr, 1).End(xlUp).Row
End If
Range(Cells(cr, 1), Cells(cr, 6)).Interior.ColorIndex = 15
'Färbt die kopierten Zellen
Rows(Target.Row).Copy Destination:=Worksheets(Bez).Rows(cr + 1)
'3 = Rot
'4 = Grün
'5 = Blau
'6 = Gelb
'7 = Magenta
'15 = Grau
'Färbt die eingefügten Zellen
Worksheets(Bez).Range(Cells(cr + 1, 1), Cells(cr + 1, 6)).Interior.ColorIndex = 3
End Sub

Gruss Rainer

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Bei Eingabe x in Spalte 4 soll Datensatz in die Da"