Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

vorherigen Zellinhalt überschreiben

vorherigen Zellinhalt überschreiben
01.02.2008 13:24:00
ballistics
Hallo! Wie heisst der VBA Code für überschreiben bei Veränderung. Ich möchte also sobald neuer Inhalt in einer Zelle eingefügt wird den alten Inhalt vorher löschen. Ich habe nämlich so eine Formel in der Zielzelle zu stehen:
=WENN(ISTZAHL(FINDEN("(";N3));"";N3)&WENN(ISTZAHL(FINDEN("(1)";N3));N3;"")
Also wenn in N3 die ( oder (1) gefunden wird dann soll dieser Inhalt wiedergegeben werden. Jetzt habe ich aber schon vom letzten Update Inhalt in dieser Zelle! Wenn ich jetzt neue Daten bekomme, werden diese auf die zeichen überprüft und ebenfalss in die entsprechende Zelle geschrieben anstatt die alten dort befindlichen Daten zu löschen oder zu überschreiben.
Danke für eure Hilfe!
Gruß Steve

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vorherigen Zellinhalt überschreiben
01.02.2008 14:20:56
Yal
Hallo Steve,
ich verstehe nicht so richtig:
wenn der neue Eintrag "(1)" enthält, aber nicht "(", soll er akzeptiert werden,
ansonsten soll die Eingabe verweigert. Sehe ich richtig so?
(Irgendwie komme ich nicht zu Recht mit der Bedingung, da wenn "(1)" vorhanden ist, ist auch "(" vorhanden !!? d.h. es wurde reichen zu sagen ISTZAHL(FINDEN("(1)"; N3)) aber egal!)
Das kannst Du mit der "Gültigkeit"-Eigenschaft erreichen:
_ auf Zelle N3 gehen,
_ Menu "Daten >> Gultigkeit...",
_ Zulassen auf Benutzerdefiniert stellen,
_ Formel: "=ISTZAHL(FINDEN("(1)"; N3))" eintragen.
Da wird jede Eintrag in N3, dass nicht "(1)" enthält, abgelehnt.
Viel Erfolg
Yal

Anzeige
@Yal: Das mit der Formel scheint mir nur...
01.02.2008 14:30:00
Luc:-?
...(hier verwirrende) Illustration zu sein und nicht das Problem. Steve will damit wohl nur zum Ausdruck bringen, dass er deshalb keine Zellwertergänzung (wie sonst wohl hier beim Updating üblich) der ausgewerteten Zelle gebrauchen kann. Alternativ wäre natürlich auch eine evtl Berücksichtigung dieses Umstandes in der Formel möglich, aber das scheint mir eher ein Fass ohne Boden zu sein... ;-)
Gruß Luc :-?

Da normalerweise ein alter Zellinhalt durch...
01.02.2008 14:23:00
Luc:-?
...Eingabe eines neuen Inhalts überschrieben wird, Steve,
scheint das UpdatePgm auf Hinzufügen eingestellt zu sein. Das müsste nur entsprechend geändert wdn. Teile uns doch mal die entsprechende Codezeile mit! Wenn das aber kein VBA-Pgm sein sollte, wird's schwierig, denn woher soll denn sonst eine evtl machbare VBA-Subroutine "wissen", was überschrieben wdn soll...?
Gruß Luc :-?

Anzeige
AW: Da normalerweise ein alter Zellinhalt durch...
01.02.2008 14:55:26
ballistics
Also ich habe da keinen Code verwendet.
Habe in der Zelle wo ständig alles nacheinander fortgeschrieben wird folgendes zu stehen:
=WENN(SUMMENPRODUKT(ISTFEHLER(FINDEN(ZEILE($1:$10);P3))*1)<10;P3;"") &WENN(SUMMENPRODUKT(ISTFEHLER(FINDEN(ZEILE($1:$10);Q3))*1)<10;Q3;"") &WENN(SUMMENPRODUKT(ISTFEHLER(FINDEN(ZEILE($1:$10);R3))*1)<10;R3;"") &WENN(SUMMENPRODUKT(ISTFEHLER(FINDEN(ZEILE($1:$10);S3))*1)<10;S3;"") &WENN(SUMMENPRODUKT(ISTFEHLER(FINDEN(ZEILE($1:$10);T3))*1)<10;T3;"") &WENN(SUMMENPRODUKT(ISTFEHLER(FINDEN(ZEILE($1:$10);H3))*1)<10;H3;"")
Ich möchte aber nicht, dass hier die neuen Daten aus den anderen Zellen dazugeschrieben werden. Ich möchte, dass die alten Daten durch die neuen überschrieben werden.
Gruß Steve

Anzeige
AW: Da normalerweise ein alter Zellinhalt durch...
01.02.2008 15:02:41
ballistics
Oder meintest du ob ich überhaupt irgendeinen Code im Arbeitsblatt verwende?
Den einzigen den ich momentan verwende, ist der hier:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim reihe As Long
Dim i As Integer
Dim zähler As Double
Dim neu As String, neu1 As String
If Target.Value = "" Then
Exit Sub
End If
If Not Intersect(Target, Range("P:P")) Is Nothing Then
reihe = Target.Row
neu = Target.Value
With Target
For i = 1 To Len(neu)
zähler = zähler + 1
If Mid(neu, i, 1) = "/" Then
Exit For
End If
If zähler = Len(neu) Then
Exit Sub
End If
Next i
neu1 = Right(neu, Len(neu) - zähler)
Range("Q" & reihe) = neu1
End With
Range("Q" & reihe).TextToColumns Destination:=Range("Q" & reihe), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="/", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Range("P" & reihe) = Left(neu, zähler - 1)
End If
End Sub


Steht da irgendwas drin?

Anzeige
AW: Da normalerweise ein alter Zellinhalt durch...
01.02.2008 15:19:16
Yal
Hallo Steve,
deine Coding mag gut funktionieren, wirkt aber leicht überfrachtet.
Wenn Du kurz Zeit hast, prüfe mal, ob folgende auch funktioniert (ich gehe davon aus):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 16 _
Or Target.Count > 1 _
Or Target.Value = "" _
Then Exit Sub ' 16 = Spalte P. Ermittelbar durch Asc("P") - Asc("A") + 1
Dim Arr()
Arr = Split(Target.Value, "/")
Cells(16, Target.Row) = Arr(0) 'Spalte P, selbe Zeile, die Teile bis erste "/"
For i = 1 To UBound(Arr)
Cells(16 + i, Target.Row) = Arr(i) 'ab Spalte Q, die andere
Next i
End Sub


Viel erfolg
Yal

Anzeige
AW: Da normalerweise ein alter Zellinhalt durch...
01.02.2008 15:45:30
ballistics
Das Coding funktioniert wunderbar! Doch ich bräuchte ne Lösung oder nen zusätzlichen Code dafür, dass der von mir verwendete Code auch fuktioniert wenn ich eine Spalte aus einem anderen Arbeitsblatt kopiere und diese dann in die entsprechende Spalte einsetze.
Das heisst momentan fuktioniert der Code nur wenn ich manuell etwas in die jeweilige Spalte eintrage. Das muss doch auch anders gehen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige