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.

VBA Code für Zellinhalt durchstreichen wenn ...
#1
Hallo

suche für einen Freund einen VBA Code zum Reinkopieren, der folgendes machen soll:

z.B:

in B15 steht 1 und in B16 kommt durch eine Formel eine Zahl oder ein Text hinein (aus einer anderen Mappe), dann sollte die 1 in B15 durchgestrichen werden

Habe folgenden Code für eine Spalte gefunden (leider habe ich in VBA nicht die nötigen Kenntnisse um ihn abzuändern):

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 Then
Target.EntireRow.Font.Strikethrough = Target = "x"
End If
End Sub

Das Reinkopieren sollte eine einfache Handhabung sein, da die Mappen ca. alle Wochen erneuert werden (werden aus einem SAP Programm geladen)

Hoffe auf Eure Unterstützung!

Liebe Grüße Heinz

Office 2010
Antwortento top
#2
Hallo Heinz,

was meinst Du mit "hineinkopieren"?

Soll die 1 in B15 durchgestrichen werden, wenn in B16 ein Wert oder ein Text steht, oder soll B15 durchgestrichen werden, wenn dort eine 1 steht?

Beides wäre mit der Bedingten Formatierung machbar!

Vielleicht kannst Du den relevanten Tabellenblattauschnitt mal posten ...
Überlegen macht überlegen
Gruss aus dem schönen Hunsrück
_______ Klaus-Martin _______
Antwortento top
#3
Hallo Klaus,

es soll B15 durchgestrichen werden, wenn in B16 ein Wert oder Text steht.

hineinkopieren meinte ich dieses

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 8 Then
Target.EntireRow.Font.Strikethrough = Target = "x"
End If
End Sub

in VBA (Alt + F11) hinter die Tabelle

Bedingte Formatierung hatte ich schon probiert und würde auch gehen, wenn es nicht zu kompliziert zum Eingeben wird. Habe leider nur eine Lösung mit einer Hilfszeile gefunden und die würde nicht in Frage kommen. Einen Code zum Hineinkopieren wäre meinerseits leichter, oder?

An einem Tabellenblattausschnitt wird gebastelt!

Liebe Grüße Heinz
Antwortento top
#4
Anhang!

Tabelle 1 simuliert Mappe 1
Tabelle 2 simuliert Mappe 2

Mitarbeiter Poldi Arbeitet auf beiden Dienststellen, nun soll die Änderung, die in Mappe 1 gemacht wird, automatisch in Mappe 2 ersichtlich sein und gleichzeitig (Wunsch des Eingeber) den obere Eintrag in der Zelle durchstreichen)

Liebe Grüße Heinz
Antwortento top
#5
Anhang


Angehängte Dateien
.xlsm   Probe DR Sv.xlsm (Größe: 17,44 KB / Downloads: 9)
Antwortento top
#6
Hallo Heinz,

hab mir Deine Mappe angeschaut, aber ich blicke nicht durch, was wann wo passieren soll (kann natürlich auch sein, dass ich neben der Leitung stehe).

Kannst Du nochmal erklären, wo welche Eingaben gemacht werden und was die dann bewirken sollen?

Ausserdem schreibst Du

Zitat:Tabelle 1 simuliert Mappe 1
Tabelle 2 simuliert Mappe 2

Daraus schliesse ich, dass die Daten in zwei Arbeitsmappen (Dateien) liegen?
Überlegen macht überlegen
Gruss aus dem schönen Hunsrück
_______ Klaus-Martin _______
Antwortento top
#7
Hallo Klaus,

in Mappe 1 werden die Daten von Zeile 15 und 16 von Poldi eingetragen und die Daten von Zeile 15 und 16 "nur von Poldi" sollen sich in Mappe 2 wiederspiegeln. Man möchte sich die zweifache Verbuchung (auch Fehlbuchungen) ersparen.

Wenn ein Eintrag in Zeile 16 Spalte B bis AF (Mappe 1) getätigt wird, soll sich das in Mappe 2 wiederspiegeln und gleichzeitig in Mappe 2 die Zelle (B15:AF15) oberhalb durchstreichen.
Das mit der Verknüpfung der beiden Mappen ist mir klar > wurde auch bewusst nicht so hochgeladen, da es sicher mit der Verknüpfung Probleme gegeben hätte.
Es geht rein um das Durchstreichen in Mappe 2. Mit der bedingten Formatierung funktioniert das bei Mappe 2 ja schon, nur er möchte es mit VBA gelöst haben.

Ja die beiden Mappen liegen in einem Ordner > wegen der Verknüpfung.

Liebe Grüße Heinz

PS: Danke für Deine Bemühungen!
Antwortento top
#8
Hallo Heinz,

teste mal das:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Application.Intersect(Target, Range("B15:AF16")) Is Nothing Then
    With Worksheets("Tabelle2").Range(Target.Address(0, 0))
      .Value=Target.Value
      .Font.Strikethrough = (Target.Row = 15)
    End With
  End If
End Sub

Gruß Uwe
Antwortento top
#9
Hallo Uwe,

danke für deinen Vorschlag, doch ich "sehe" nicht was es macht, bzw. es macht nicht was ich will.

Habe es in die Hinter die Tabelle 2 (es soll auch nur hier wirken) eingefügt, aber ich sehe keine Wirkung!

Liebe Grüße Heinz
Antwortento top
#10
Hallo Heinz,

es sollen doch Eingaben in Tabelle1 die Ansicht in Tabelle2 steuern!?
Also gehört der Code in das VBA-Modul Tabelle1. Wink

Gruß Uwe
Antwortento top


Gehe zu:


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