WENN Funktion in Excel
Guten Tag,
Hab von dem Forum nur Gutes gehört und möcht eauch mal mit einem "vermeindlich" kleinen Problem aufwarten:
Es geht um folgendes, ich habe eine relativ Umfangreiche Excel Tabelle in der ich unter anderem Spalten habe in denen Buchstaben von A bis E eingefügt werden können (nicht müssen) Wenn aber die Buchstaben eingefügt werden möchte ich gerne das Zeilen und doer Zellen mit bestimmten Text direkt unter die Zeile mit dem jeweiligen Buchstaben eingefügt werden.
Geht das überhaupt? Wenn ja wie empfielt es sich vorzugehen?mit einem Makro oder mit einer erweiterten WENN Funktion?
Ich danke im vorraus und bin gespannt ob Ihr euren Ruf gerecht werdet.
Mit freundlichen Grüßen Ralph
Antwort schreiben
Antwort 21 von Ralph0F3 vom 11.07.2020, 12:02 Options
Hallo M.O Sry für die rumnerverei...
Den kompletten Code möchte ich lieber nicht posten da er mitlerweile sehr komplex und persönlich geworden ist.
Aber vieleicht soviel: Ich füge mehr als eine Zeile hinzu in drei Fällen bis zu 26 Zeilen. Aber nur nach Einträgen von den Buchstaben A bis E in Spalte E.
Also nur wenn ich in Spalte E die Buchstaben A, B, C, D, E eintrage fügt er mir Zeilen direkt darunter hinzu.
Aber versuch en wir es mal anders herum:
Leg dir mal bitte eine Tabelle um die Spalten E und F an mit irgendwelchen irrelvanten Text formatiere diese mit einer anderen Schriftart und Größe als die die im Code steht (am besten Arial, 12 und bolt) dann füge mal bitte den Code (den Formatierungscode mit Zeilen) hinzu und tausche jeweils 1 gegen 0 dann wirst du feststellen das er Zeile 0 also die Zeile wo ich den jeweiligen Buchstaben eintrage mit formatiert bzw. bei 1 erst ab der 2 Zeile mit der formatierung beginnt als wenn ich den Mittelwert 0,5 eintragen müsste damit es funktioniert (Was es aber nicht tut da ich das schon probiert habe)
Danke für dein Verständniss
Antwort 22 von M.O. vom 11.07.2020, 19:55 Options
Hallo Ralph,
das mit 0,5 funktioniert nicht, da der VBA-Code nur ganze Zeilen ansprechen kann.
Es könnte sein, dass der Code, mit dem du die Schrift formatierst nicht innerhalb der IF-Anweisung steht.
Dein Code sollte in etwa so aussehen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim eing As String
'Zeile wird nur eingefügt, wenn eine Eingabe in Spalte E erfolgt
If Target.Column = 5 Then
eing = Cells(Target.Row, Target.Column)
If eing = "A" Or eing = "B" Or eing = "C" Or eing = "D" Or eing = "E" Then
Cells(Target.Row + 1, 1).EntireRow.Insert
Cells(Target.Row + 1, 1) = "Ich wurde hier eingefügt"
'Hier werden die Spalten und E und F in der eingefügten Zeile formatiert
With Range(Cells(Target.Row + 1, 5), Cells(Target.Row + 1, 6)).Font
.Name = "Times New Roman"
.Size = 8
End With
End If
End If
End Sub
Ansonsten brauche ich eine Glaskugel, da ich deinen Code ja nicht kenne.
Gruß
M.O.