Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

automatischen Verschieben von Zellen nach Erfüllen einer Bedingung
#1
Hallo liebe Community,

ich bräuchte da mal eure Hilfe. In der angefügten Datei seht ihr eine SWOT-Analyse. Diese ist unter anderem in Stärken, Schwächen, Risiken und Chancen aufgeteilt. Ich würde gern die Funktion haben, dass sobald ich einen Wert auf "0" setze, diese Zeile in das Archiv (Stärken in das Stärkenarchiv, Schwächen in das Schwächenarchiv, Risiken ins Risikoarchiv, Chancen ins Chancenarchiv) übernommen und aus der ursprünglichen Tabelle (Stärken, Schwächen, Risiken, Chancen) gelöscht wird. Hierbei stellt sich mir eine Extrafrage: Sollte ich einen Wert von zwei auf drei ändern, ist es möglich diesen ursprünglichen Wert mit dem Änderungsdatum in der gleichen Tabelle zu speichern?

Ich habe kaum Excel Kenntnisse, bzw nur die Grundlagen. Ich glaube, dass man was mit VBA(?) programmieren kann, jedoch habe ich diese Sprache noch nicht gelernt. Deshalb wäre ich für Lösungen unendlich dankbar!

Liebe Grüße und vielen Dank im Voraus! :D
Philly

.xlsm   SWOT_neu.xlsm (Größe: 87,51 KB / Downloads: 6)
Antworten Top
#2
Hallöchen,

Du könntest so was in jedem betreffenden Blatt platzieren:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Wenn die Änderung im Bereich B3:E12 erfolgte, dann
If Not Intersect(Target, Range("B3:E12")) Is Nothing Then
  'Wenn nur eine Zelle geaendert wurde und der Zellinhalt 0 ist, dann
  If Target.Cells.Count = 1 And Target.Text = "0" Then
    'Zeile von A bis E kopieren
    Cells(Target.Row, 1).Resize(1, 5).Copy
    'Auf dem Blatt mit diesem Namen und Zusatz archiv einfuegen
    Sheets(Me.Name & "archiv").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial
    'Zeile von A bis E leeren
    Cells(Target.Row, 1).Resize(1, 5).ClearContents
  'Ende Wenn nur eine Zelle geaendert wurde und der Zellinhalt 0 ist, dann
  End If
'Ende Wenn die Änderung im Bereich B3:E12 erfolgte, dann
End If
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Sad 
Hallo André,

ich danke dir herzlich für deinen Lösungsvorschlag. Nur leider funktioniert dieser unerklärlicherweise nicht. 
Ich kopiere den Code in die Blätter (Stärken, Schwächen,etc) aber meine Eingaben mit dem Wert 0, werden nicht in die andere Tabelle übernommen. 
Hast du einen Lösungsvorschlag oder kannst du die funktionierende Datei irgendwie hochladen? 
Ich versuche mein Bestes, aber bei begrenzten Excel bzw VBA Kenntnissen ist dies schwer...  Confused

Über eine Rückmeldung würde ich mich sehr freuen. 

LG
Philly
Antworten Top
#4
Hallöchen,

hier ist das in den Schwächen drin.


Angehängte Dateien
.xlsm   SWOT_neu.xlsm (Größe: 99,83 KB / Downloads: 2)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Phillyonpoint
Antworten Top
#5
Rainbow 
Oh wunderbar! Vielen Dank dir!  19
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste