Microsoft Excel

Herbers Excel/VBA-Archiv

zeile kopieren wenn zelle bestimmten wert annimmt | Herbers Excel-Forum


Betrifft: zeile kopieren wenn zelle bestimmten wert annimmt von: Florian
Geschrieben am: 17.11.2009 09:23:52

Guten Tag

Ich habe folgendes Problem:

In Tabelle1 können die Zellen der Spalte G die Werte "Ja", "Nein" und "" aufweisen. Sobald eine Zelle den Wert "Ja" annimmt, soll die zur entsprechenden Zelle zugehörige Zeile in die erste freie Zeile in Tabelle2 kopiert werden (Spalte A setzt einen Wert voraus, dass die Zellen in Tabelle1 Spalte G den Wert "Ja" annehmen können).

Formate sollen beim Kopieren keine übernommen werden. Im anschluss an den Kopiervorgang sollte die kopierte Zeile in Tabelle1 gelöscht werden.

Für Hilfe bedanke ich mich bereits im Voraus.

Gruss Florian

  

Betrifft: AW: zeile kopieren wenn zelle bestimmten wert annimmt von: Björn B.
Geschrieben am: 17.11.2009 11:08:26

Hallo,

das ist eigentlich nicht schwer, aber ich brauch noch mehr Infos:
- Wann wird kopiert? (Also alles auf Einmak auf Knopfdruck? Wie und wann wird das ausgelöst).
- Welcher Bereich soll durchsucht werden (also Start und Endzeile in Tabelle 1)
- Wirklich ganze Zeile kopieren, oder vielleicht nur bis zu bestimmter Spalte (wenn rechts daneben leer).
- Beim Löschen kpl. Zellen löschen, oder nur Inhalte

Hast Du schon was versucht? Dann lass uns den Code sehen.

Gruß
Björn B.


  

Betrifft: AW: zeile kopieren wenn zelle bestimmten wert annimmt von: IngGi
Geschrieben am: 17.11.2009 11:22:13

Hallo Florian,

versuch's mal so:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rng As Range

If Target.Columns.Count > 1 Then Exit Sub
If Target.Column <> 7 Then Exit Sub

For Each rng In Target
  If rng = "ja" Then
    rng.EntireRow.Copy
    With Sheets("Tabelle2")
      .Range("A" & .Cells(.Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial _
        Paste:=xlPasteValues
    End With
    rng.EntireRow.Delete
  End If
Next 'rng

Application.CutCopyMode = False

End Sub
Gruß Ingolf


  

Betrifft: AW: zeile kopieren wenn zelle bestimmten wert annimmt von: Florian
Geschrieben am: 17.11.2009 12:04:41

Hallo Ingolf

Besten Dank für deinen Vorschlag. Es funktioniert!

Eine Verständnisfrage
Was geschieht durch:

If Target.Columns.Count > 1 Then Exit Sub
Thanks anyway!

Gruss Florian


  

Betrifft: AW: zeile kopieren wenn zelle bestimmten wert annimmt von: IngGi
Geschrieben am: 17.11.2009 12:20:31

Hallo Florian,

das Makro funktioniert auch, wenn du mehrere Zellen in Spalte G gleichzeitig änderst (durch Einfügen einer einspaltigen Kopie). Wenn die Änderung allerdings mehr als eine Spalte umfasst, steigt das Makro mit dieser Zeile aus und es wird nicht kopiert.

Gruß Ingolf


  

Betrifft: AW: zeile kopieren wenn zelle bestimmten wert annimmt von: Florian
Geschrieben am: 18.11.2009 08:21:50

Hallo Ingolf

Nocheinmal herzlichen Dank für deine Hilfe.

Gruss Florian


  

Betrifft: AW: zeile kopieren wenn zelle bestimmten wert annimmt von: Florian
Geschrieben am: 18.11.2009 08:42:26

Hallo Ingo

Eine Frage habe ich noch:

Gibt es eine Möglichkeit den Code so anzupassen, dass er auch funktioniert, wenn der Wert in Spalte G durch eine Formel entsteht?

Gruss Florian


Beiträge aus den Excel-Beispielen zum Thema "zeile kopieren wenn zelle bestimmten wert annimmt"