Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Werte mit VBA in eine andere Tabelle übertragen





Frage

Hallo Excelspezialisten, ich möchte mit VBA automatisch bestimmte Werte aus Tabelle1 in Tabelle2 übertragen. Also wenn in der Spalte "K" der Tabelle 1 der Text "RKL" steht, dann sollen die Werte von A-F in die Tabelle 2 in die nächste freie Zeile übertragen werden. Ich hoffe ihr habt dazu auch eine Idee. Gruß fedjo

Antwort 1 von Hajo_Zi

Hallo fedjo,

Sind es Eingaben in Spalte K?
Soll es immer nach der letzten Zeile in Tabelle 2 übertragen werden?
Ist der Name "Tabelle 2" oder "Tabelle2"?

Gruß Hajo

Antwort 2 von fedjo

Hallo Hajo,
es sind Eingaben in der Spalte K.
Die Werte sollten in die nächsten freien Zelle (A) der Tabelle2 übertragen werden.
Der Name der Tabelle ist Tabelle2.

Gruß
fedjo

Antwort 3 von Hajo_Zi

Hallo Fedjo,

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
´**************************************************
´* H. Ziplies *
´* 27.08.06 *
´* erstellt von Hajo.Ziplies@web.de *
´**************************************************
Dim RaBereich As Range, RaZelle As Range
Dim LoLetzte As Long
´ Bereich der Wirksamkeit
Set RaBereich = Range("K:K")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
If RaZelle = "RKL" Then
With Worksheets("Tabelle2")
LoLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
Range("A" & RaZelle.Row & ":F" & RaZelle.Row).Copy .Cells(LoLetzte, 1)
End With
End If
End If
Next RaZelle
Set RaBereich = Nothing
End Sub

Der Code gehört unter die Tabelle.

Gruß Hajo

Antwort 4 von fedjo

Hallo Hajo,
funktioniert super, bin begeistert.

Vielen Dank
und schönen Sonntag

Gruß
fedjo

Antwort 5 von nighty

hi all :)

oder so

gruss nighty

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 11 And Cells(Target.Row, Target.Column) = "RKL" Then
Sheets(2).Range("A" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1 & ":F" & Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1) = _
Sheets(1).Range("A" & Target.Row & ":F" & Target.Row).Value2
End If
End Sub

Antwort 6 von nighty

hi hajo :)

warum so kompliziert ?

a=b reicht doch

gruss nighty

Antwort 7 von Hajo_Zi

Hallo nighty

Fülle Bei Deinem Code mal G11:K23 mit dem vorgegeben Wert. In Excel ist es möglich mehrere Zellen mit einmal zu füllen.

Gruß Hajo

Antwort 8 von fedho

Hi nighty,
habe deinen Cote getestet, funktioniert genauso gut werde in wohl wegen der kürze verwenden.

Danke

Gruß
fedjo