Supportnet / Forum / Tabellenkalkulation
WENN Funktion in Excel
Frage
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 1 von M.O.
Hallo Ralph,
das musst du über VBA lösen.
wechsele mit Alt + F11 in die VBA-Umgebung und füge bei dem betreffenden Arbeitsblatt den folgenden Code ein:
Den Code musst du entsprechend deinen Bedürfnissen anpassen.
Gruß
M.O.
das musst du über VBA lösen.
wechsele mit Alt + F11 in die VBA-Umgebung und füge bei dem betreffenden Arbeitsblatt den folgenden Code ein:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim eing As String
'Zeile wird nur eingefügt, wenn eine Eingabe in Spalte D , E oder F erfolgt
If Target.Column > 3 And Target.Column < 7 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"
End If
End If
End SubDen Code musst du entsprechend deinen Bedürfnissen anpassen.
Gruß
M.O.
Antwort 2 von Ralph0F3
Also erstmal rechtherzlichen Dank!
Das Forum hält was es verspricht.
Ich habe jetzt mit deinem Code etwas herum experimentiert und auch alles so hin bekommen wie ich es mir gedacht hab bzw. wie ich es wollte. Vielen Dank nochmal!
Als ich jedoch das Ergebniss sah wurde mir schlagartig bewusst das die größe der Schrift bzw. das Format der Schrift im ganzen (Fettgedruckt, andere Schriftart) nicht zu den Tabellen passt d.h. es müsste kleiner sein und die Überschrift von den eingefügten Zellen Fettgedruckt.
Da das einfügen von Zellen und Text per VBA funktioniert gehe ich davon aus oder hoffe vielmehr das die Formatierung der Schrift ebenfalls über VBA funtioniert, jedoch weiß ich nicht wie!
Vielen Dank nochmal!
Ralph
Das Forum hält was es verspricht.
Ich habe jetzt mit deinem Code etwas herum experimentiert und auch alles so hin bekommen wie ich es mir gedacht hab bzw. wie ich es wollte. Vielen Dank nochmal!
Als ich jedoch das Ergebniss sah wurde mir schlagartig bewusst das die größe der Schrift bzw. das Format der Schrift im ganzen (Fettgedruckt, andere Schriftart) nicht zu den Tabellen passt d.h. es müsste kleiner sein und die Überschrift von den eingefügten Zellen Fettgedruckt.
Da das einfügen von Zellen und Text per VBA funktioniert gehe ich davon aus oder hoffe vielmehr das die Formatierung der Schrift ebenfalls über VBA funtioniert, jedoch weiß ich nicht wie!
Vielen Dank nochmal!
Ralph
Antwort 3 von Ralph0F3
Also erstmal rechtherzlichen Dank!
Das Forum hält was es verspricht.
Ich habe jetzt mit deinem Code etwas herum experimentiert und auch alles so hin bekommen wie ich es mir gedacht hab bzw. wie ich es wollte. Vielen Dank nochmal!
Als ich jedoch das Ergebniss sah wurde mir schlagartig bewusst das die größe der Schrift bzw. das Format der Schrift im ganzen (Fettgedruckt, andere Schriftart) nicht zu den Tabellen passt d.h. es müsste kleiner sein und die Überschrift von den eingefügten Zellen Fettgedruckt.
Da das einfügen von Zellen und Text per VBA funktioniert gehe ich davon aus oder hoffe vielmehr das die Formatierung der Schrift ebenfalls über VBA funtioniert, jedoch weiß ich nicht wie!
Vielen Dank nochmal!
Ralph
Das Forum hält was es verspricht.
Ich habe jetzt mit deinem Code etwas herum experimentiert und auch alles so hin bekommen wie ich es mir gedacht hab bzw. wie ich es wollte. Vielen Dank nochmal!
Als ich jedoch das Ergebniss sah wurde mir schlagartig bewusst das die größe der Schrift bzw. das Format der Schrift im ganzen (Fettgedruckt, andere Schriftart) nicht zu den Tabellen passt d.h. es müsste kleiner sein und die Überschrift von den eingefügten Zellen Fettgedruckt.
Da das einfügen von Zellen und Text per VBA funktioniert gehe ich davon aus oder hoffe vielmehr das die Formatierung der Schrift ebenfalls über VBA funtioniert, jedoch weiß ich nicht wie!
Vielen Dank nochmal!
Ralph
Antwort 4 von M.O.
Hallo Ralph,
hier der ergänzte Code:
Die Ergänzung für die Schrift musst du natürlich entsprechend anpassen.
Noch ein Tipp:
Zum VBA-Lernen ist es auch ganz hilfreich, Makros aufzuzeichnen und dann einfach mal zu experimentieren.
Gruß
M.O.
hier der ergänzte Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim eing As String
'Zeile wird nur eingefügt, wenn eine Eingabe zwischen Spalte D (4), E oder F (6) erfolgt
If Target.Column > 3 And Target.Column < 7 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 wird der eingefügte Text formatiert
With Cells(Target.Row + 1, 1).Font
.Name = "Book Antiqua"
.Size = 10
.Bold = True
End With
End If
End If
End SubDie Ergänzung für die Schrift musst du natürlich entsprechend anpassen.
Noch ein Tipp:
Zum VBA-Lernen ist es auch ganz hilfreich, Makros aufzuzeichnen und dann einfach mal zu experimentieren.
Gruß
M.O.
Antwort 5 von Ralph0F3
Hat super funktioniert Danke nochmal !
Antwort 6 von Ralph0F3
Hallo doch nochmal.
Also im großen und ganzen bin ich wirklich zufrieden nur möchte ich jetzt auch noch in die Zelle die direkt neben der liegt die ich damit eingefügt habe... Sorry M.O. habe es auch nicht mit herumexperimentieren hin bekommen.
Also die Zelle die rechts neben der gerade eingefügten ist.
DAnke nochmal für deine Hilfe...
Also im großen und ganzen bin ich wirklich zufrieden nur möchte ich jetzt auch noch in die Zelle die direkt neben der liegt die ich damit eingefügt habe... Sorry M.O. habe es auch nicht mit herumexperimentieren hin bekommen.
Also die Zelle die rechts neben der gerade eingefügten ist.
DAnke nochmal für deine Hilfe...
Antwort 7 von M.O.
Hallo Ralph,
wenn du in die Spalte B der neuen Zeile einen Text einfügen willst so ergänze die folgende Zeile:
Für Spalte C sieht der Code so aus:
Hoffe du kommst damit klar. Ansonsten melde ich noch mal. Dafür ist das Forum ja da :-).
Gruß
M.O.
wenn du in die Spalte B der neuen Zeile einen Text einfügen willst so ergänze die folgende Zeile:
Cells(Target.Row + 1, 2) = "Ich wurde in Spalte B eingefügt"Für Spalte C sieht der Code so aus:
Cells(Target.Row + 1, 3) = "Ich wurde in Spalte C eingefügt"Hoffe du kommst damit klar. Ansonsten melde ich noch mal. Dafür ist das Forum ja da :-).
Gruß
M.O.
Antwort 8 von Ralph0F3
Hallo doch nochmal.
Also im großen und ganzen bin ich wirklich zufrieden nur möchte ich jetzt auch noch in die Zelle die direkt neben der liegt die ich damit eingefügt habe... Sorry M.O. habe es auch nicht mit herumexperimentieren hin bekommen.
Also die Zelle die rechts neben der gerade eingefügten ist.
DAnke nochmal für deine Hilfe...
Also im großen und ganzen bin ich wirklich zufrieden nur möchte ich jetzt auch noch in die Zelle die direkt neben der liegt die ich damit eingefügt habe... Sorry M.O. habe es auch nicht mit herumexperimentieren hin bekommen.
Also die Zelle die rechts neben der gerade eingefügten ist.
DAnke nochmal für deine Hilfe...
Antwort 9 von Ralph0F3
Guten Morgen... Perfektion ist ein Fluch...
Ich muss doch noch etwas nachfragen und daher ein bisschen ins Detail gehen...
Also ich habe den obe stehenden Code so bearbeitet das ich in einem Excel Arbeitsblatt nur in Spalte E jeweils die Buschstaben A, B, C, D, E eintrage und er mir jeweils Zeilen mit Nummern und Text (für A - E unterschiedlich) einfügt.
Dann wollte ich das der eingefügte Text und Nummern (also 2 Spalten und max 30 Zeilen) in einer kleineren bzw anderen Schrift dargestellt bzw. eingefügt wird.
Soweit so gut das funktioniert ja soweit auch doch der TEufel steckt im Detail.
Denn wenn der Text (2 Spalten und max. 30 Zeilen) eingefügt ist kann ich nur unterscheiden ob er ab Zeile null also Zeile wo ich den Buchstaben (A-E) eintrage oder ab Zeile 1 (den ersten eingefügten Text) den TExt verändert.
Ich möchte jedoch das der Buchstabe den ich eintrage normal dargestellt wird und der erste der eingefügt wird in der veränderten Schriftart...
Habe ich da ein denkfehler?
hier nochmal meinen Code:
Danke "wiedermal" im vorraus
Ich muss doch noch etwas nachfragen und daher ein bisschen ins Detail gehen...
Also ich habe den obe stehenden Code so bearbeitet das ich in einem Excel Arbeitsblatt nur in Spalte E jeweils die Buschstaben A, B, C, D, E eintrage und er mir jeweils Zeilen mit Nummern und Text (für A - E unterschiedlich) einfügt.
Dann wollte ich das der eingefügte Text und Nummern (also 2 Spalten und max 30 Zeilen) in einer kleineren bzw anderen Schrift dargestellt bzw. eingefügt wird.
Soweit so gut das funktioniert ja soweit auch doch der TEufel steckt im Detail.
Denn wenn der Text (2 Spalten und max. 30 Zeilen) eingefügt ist kann ich nur unterscheiden ob er ab Zeile null also Zeile wo ich den Buchstaben (A-E) eintrage oder ab Zeile 1 (den ersten eingefügten Text) den TExt verändert.
Ich möchte jedoch das der Buchstabe den ich eintrage normal dargestellt wird und der erste der eingefügt wird in der veränderten Schriftart...
Habe ich da ein denkfehler?
hier nochmal meinen Code:
With Cells(Target.Row + 1, 6).Font
.Name = "Times New Roman"
.Size = 8
.Bold = False
End With
Danke "wiedermal" im vorraus
Antwort 10 von Ralph0F3
Guten Morgen... Perfektion ist ein Fluch...
Ich muss doch noch etwas nachfragen und daher ein bisschen ins Detail gehen...
Also ich habe den obe stehenden Code so bearbeitet das ich in einem Excel Arbeitsblatt nur in Spalte E jeweils die Buschstaben A, B, C, D, E eintrage und er mir jeweils Zeilen mit Nummern und Text (für A - E unterschiedlich) einfügt.
Dann wollte ich das der eingefügte Text und Nummern (also 2 Spalten und max 30 Zeilen) in einer kleineren bzw anderen Schrift dargestellt bzw. eingefügt wird.
Soweit so gut das funktioniert ja soweit auch doch der TEufel steckt im Detail.
Denn wenn der Text (2 Spalten und max. 30 Zeilen) eingefügt ist kann ich nur unterscheiden ob er ab Zeile null also Zeile wo ich den Buchstaben (A-E) eintrage oder ab Zeile 1 (den ersten eingefügten Text) den TExt verändert.
Ich möchte jedoch das der Buchstabe den ich eintrage normal dargestellt wird und der erste der eingefügt wird in der veränderten Schriftart...
Habe ich da ein denkfehler?
hier nochmal meinen Code:
Danke "wiedermal" im vorraus
Ich muss doch noch etwas nachfragen und daher ein bisschen ins Detail gehen...
Also ich habe den obe stehenden Code so bearbeitet das ich in einem Excel Arbeitsblatt nur in Spalte E jeweils die Buschstaben A, B, C, D, E eintrage und er mir jeweils Zeilen mit Nummern und Text (für A - E unterschiedlich) einfügt.
Dann wollte ich das der eingefügte Text und Nummern (also 2 Spalten und max 30 Zeilen) in einer kleineren bzw anderen Schrift dargestellt bzw. eingefügt wird.
Soweit so gut das funktioniert ja soweit auch doch der TEufel steckt im Detail.
Denn wenn der Text (2 Spalten und max. 30 Zeilen) eingefügt ist kann ich nur unterscheiden ob er ab Zeile null also Zeile wo ich den Buchstaben (A-E) eintrage oder ab Zeile 1 (den ersten eingefügten Text) den TExt verändert.
Ich möchte jedoch das der Buchstabe den ich eintrage normal dargestellt wird und der erste der eingefügt wird in der veränderten Schriftart...
Habe ich da ein denkfehler?
hier nochmal meinen Code:
With Cells(Target.Row + 1, 6).Font
.Name = "Times New Roman"
.Size = 8
.Bold = False
End With
Danke "wiedermal" im vorraus
Antwort 11 von Ralph0F3
Guten Morgen... Perfektion ist ein Fluch...
Ich muss doch noch etwas nachfragen und daher ein bisschen ins Detail gehen...
Also ich habe den obe stehenden Code so bearbeitet das ich in einem Excel Arbeitsblatt nur in Spalte E jeweils die Buschstaben A, B, C, D, E eintrage und er mir jeweils Zeilen mit Nummern und Text (für A - E unterschiedlich) einfügt.
Dann wollte ich das der eingefügte Text und Nummern (also 2 Spalten und max 30 Zeilen) in einer kleineren bzw anderen Schrift dargestellt bzw. eingefügt wird.
Soweit so gut das funktioniert ja soweit auch doch der TEufel steckt im Detail.
Denn wenn der Text (2 Spalten und max. 30 Zeilen) eingefügt ist kann ich nur unterscheiden ob er ab Zeile null also Zeile wo ich den Buchstaben (A-E) eintrage oder ab Zeile 1 (den ersten eingefügten Text) den TExt verändert.
Ich möchte jedoch das der Buchstabe den ich eintrage normal dargestellt wird und der erste der eingefügt wird in der veränderten Schriftart...
Habe ich da ein denkfehler?
hier nochmal meinen Code:
Danke "wiedermal" im vorraus
Ich muss doch noch etwas nachfragen und daher ein bisschen ins Detail gehen...
Also ich habe den obe stehenden Code so bearbeitet das ich in einem Excel Arbeitsblatt nur in Spalte E jeweils die Buschstaben A, B, C, D, E eintrage und er mir jeweils Zeilen mit Nummern und Text (für A - E unterschiedlich) einfügt.
Dann wollte ich das der eingefügte Text und Nummern (also 2 Spalten und max 30 Zeilen) in einer kleineren bzw anderen Schrift dargestellt bzw. eingefügt wird.
Soweit so gut das funktioniert ja soweit auch doch der TEufel steckt im Detail.
Denn wenn der Text (2 Spalten und max. 30 Zeilen) eingefügt ist kann ich nur unterscheiden ob er ab Zeile null also Zeile wo ich den Buchstaben (A-E) eintrage oder ab Zeile 1 (den ersten eingefügten Text) den TExt verändert.
Ich möchte jedoch das der Buchstabe den ich eintrage normal dargestellt wird und der erste der eingefügt wird in der veränderten Schriftart...
Habe ich da ein denkfehler?
hier nochmal meinen Code:
With Cells(Target.Row + 1, 6).Font
.Name = "Times New Roman"
.Size = 8
.Bold = False
End With
Danke "wiedermal" im vorraus
Antwort 12 von Ralph0F3
Guten Morgen... Perfektion ist ein Fluch...
Ich muss doch noch etwas nachfragen und daher ein bisschen ins Detail gehen...
Also ich habe den obe stehenden Code so bearbeitet das ich in einem Excel Arbeitsblatt nur in Spalte E jeweils die Buschstaben A, B, C, D, E eintrage und er mir jeweils Zeilen mit Nummern und Text (für A - E unterschiedlich) einfügt.
Dann wollte ich das der eingefügte Text und Nummern (also 2 Spalten und max 30 Zeilen) in einer kleineren bzw anderen Schrift dargestellt bzw. eingefügt wird.
Soweit so gut das funktioniert ja soweit auch doch der TEufel steckt im Detail.
Denn wenn der Text (2 Spalten und max. 30 Zeilen) eingefügt ist kann ich nur unterscheiden ob er ab Zeile null also Zeile wo ich den Buchstaben (A-E) eintrage oder ab Zeile 1 (den ersten eingefügten Text) den TExt verändert.
Ich möchte jedoch das der Buchstabe den ich eintrage normal dargestellt wird und der erste der eingefügt wird in der veränderten Schriftart...
Habe ich da ein denkfehler?
hier nochmal meinen Code:
Danke "wiedermal" im vorraus
Ich muss doch noch etwas nachfragen und daher ein bisschen ins Detail gehen...
Also ich habe den obe stehenden Code so bearbeitet das ich in einem Excel Arbeitsblatt nur in Spalte E jeweils die Buschstaben A, B, C, D, E eintrage und er mir jeweils Zeilen mit Nummern und Text (für A - E unterschiedlich) einfügt.
Dann wollte ich das der eingefügte Text und Nummern (also 2 Spalten und max 30 Zeilen) in einer kleineren bzw anderen Schrift dargestellt bzw. eingefügt wird.
Soweit so gut das funktioniert ja soweit auch doch der TEufel steckt im Detail.
Denn wenn der Text (2 Spalten und max. 30 Zeilen) eingefügt ist kann ich nur unterscheiden ob er ab Zeile null also Zeile wo ich den Buchstaben (A-E) eintrage oder ab Zeile 1 (den ersten eingefügten Text) den TExt verändert.
Ich möchte jedoch das der Buchstabe den ich eintrage normal dargestellt wird und der erste der eingefügt wird in der veränderten Schriftart...
Habe ich da ein denkfehler?
hier nochmal meinen Code:
With Cells(Target.Row + 1, 6).Font
.Name = "Times New Roman"
.Size = 8
.Bold = False
End With
Danke "wiedermal" im vorraus
Antwort 13 von M.O.
Hallo Ralph,
dein Code funktioniert, allerdings für Spalte F.
Für Spalte E sieht er so aus:
Gruß
M.O.
dein Code funktioniert, allerdings für Spalte F.
Für Spalte E sieht er so aus:
With Cells(Target.Row + 1, 5).Font
.Name = "Times New Roman"
.Size = 8
End WithGruß
M.O.
Antwort 14 von Ralph0F3
Guten Morgen... Perfektion ist ein Fluch...
Ich muss doch noch etwas nachfragen und daher ein bisschen ins Detail gehen...
Also ich habe den obe stehenden Code so bearbeitet das ich in einem Excel Arbeitsblatt nur in Spalte E jeweils die Buschstaben A, B, C, D, E eintrage und er mir jeweils Zeilen mit Nummern und Text (für A - E unterschiedlich) einfügt.
Dann wollte ich das der eingefügte Text und Nummern (also 2 Spalten und max 30 Zeilen) in einer kleineren bzw anderen Schrift dargestellt bzw. eingefügt wird.
Soweit so gut das funktioniert ja soweit auch doch der TEufel steckt im Detail.
Denn wenn der Text (2 Spalten und max. 30 Zeilen) eingefügt ist kann ich nur unterscheiden ob er ab Zeile null also Zeile wo ich den Buchstaben (A-E) eintrage oder ab Zeile 1 (den ersten eingefügten Text) den TExt verändert.
Ich möchte jedoch das der Buchstabe den ich eintrage normal dargestellt wird und der erste der eingefügt wird in der veränderten Schriftart...
Habe ich da ein denkfehler?
hier nochmal meinen Code:
Danke "wiedermal" im vorraus
Ich muss doch noch etwas nachfragen und daher ein bisschen ins Detail gehen...
Also ich habe den obe stehenden Code so bearbeitet das ich in einem Excel Arbeitsblatt nur in Spalte E jeweils die Buschstaben A, B, C, D, E eintrage und er mir jeweils Zeilen mit Nummern und Text (für A - E unterschiedlich) einfügt.
Dann wollte ich das der eingefügte Text und Nummern (also 2 Spalten und max 30 Zeilen) in einer kleineren bzw anderen Schrift dargestellt bzw. eingefügt wird.
Soweit so gut das funktioniert ja soweit auch doch der TEufel steckt im Detail.
Denn wenn der Text (2 Spalten und max. 30 Zeilen) eingefügt ist kann ich nur unterscheiden ob er ab Zeile null also Zeile wo ich den Buchstaben (A-E) eintrage oder ab Zeile 1 (den ersten eingefügten Text) den TExt verändert.
Ich möchte jedoch das der Buchstabe den ich eintrage normal dargestellt wird und der erste der eingefügt wird in der veränderten Schriftart...
Habe ich da ein denkfehler?
hier nochmal meinen Code:
With Cells(Target.Row + 1, 6).Font
.Name = "Times New Roman"
.Size = 8
.Bold = False
End With
Danke "wiedermal" im vorraus
Antwort 15 von Ralph0F3
Danke das hatte ich schon ausprobiert wie steht es aber wenn ich Spalte E und F so Umformatieren will und nicht wie gesagt die Zeile wo ich die Buchstaben eintrage denn die Formatiert er gleich mit um und wenn ich ihn auf 1 setze formatiert er erst ab Zeile 1 damit hab ich praktich den ersten Eintrag der hinzugefügt wird unformatiert...
Antwort 16 von M.O.
Hallo Ralph,
ich weiß nicht, ob ich dich richtig verstanden habe.
Dieser Code formatiert die Spalten E und F in der neu eingefügten Zeile:
Wenn du die gesamte Spalte E und F formatieren willst, dann geht das so:
Gruß
M.O.
ich weiß nicht, ob ich dich richtig verstanden habe.
Dieser Code formatiert die Spalten E und F in der neu eingefügten Zeile:
With Range(Cells(Target.Row + 1, 5), Cells(Target.Row + 1, 6)).Font
.Name = "Times New Roman"
.Size = 8
End With
Wenn du die gesamte Spalte E und F formatieren willst, dann geht das so:
With Columns("E:F").Font
.Name = "Times New Roman"
.Size = 8
End WithGruß
M.O.
Antwort 17 von Ralph0F3
Danke das hatte ich schon ausprobiert wie steht es aber wenn ich Spalte E und F so Umformatieren will und nicht wie gesagt die Zeile wo ich die Buchstaben eintrage denn die Formatiert er gleich mit um und wenn ich ihn auf 1 setze formatiert er erst ab Zeile 1 damit hab ich praktich den ersten Eintrag der hinzugefügt wird unformatiert...
Antwort 18 von Ralph0F3
Also das Ergebniss
ist schon das richtige nur musst du sehen das eine Tabelle bereits vorformatiert existiert und ich in einer anderen Schristart (siehe oben) Zeilen und Text hinzufügen will wenn ich jetzt aber den oben stehenden Code anwende und die 0 eintrage formatiert er mir bei die Zeile wo ich A-E eintrage auch mit und wenn ich 1 eintrage lässt er die 1 Zeile der neu eingefügten Zeilen unformatiert...
With Range(Cells(Target.Row + 1, 5), Cells(Target.Row + 1, 6)).Font
.Name = "Times New Roman"
.Size = 8
End With
ist schon das richtige nur musst du sehen das eine Tabelle bereits vorformatiert existiert und ich in einer anderen Schristart (siehe oben) Zeilen und Text hinzufügen will wenn ich jetzt aber den oben stehenden Code anwende und die 0 eintrage formatiert er mir bei die Zeile wo ich A-E eintrage auch mit und wenn ich 1 eintrage lässt er die 1 Zeile der neu eingefügten Zeilen unformatiert...
Antwort 19 von Ralph0F3
Also das Ergebniss
ist schon das richtige nur musst du sehen das eine Tabelle bereits vorformatiert existiert und ich in einer anderen Schristart (siehe oben) Zeilen und Text hinzufügen will wenn ich jetzt aber den oben stehenden Code anwende und die 0 eintrage formatiert er mir bei die Zeile wo ich A-E eintrage auch mit und wenn ich 1 eintrage lässt er die 1 Zeile der neu eingefügten Zeilen unformatiert...
With Range(Cells(Target.Row + 1, 5), Cells(Target.Row + 1, 6)).Font
.Name = "Times New Roman"
.Size = 8
End With
ist schon das richtige nur musst du sehen das eine Tabelle bereits vorformatiert existiert und ich in einer anderen Schristart (siehe oben) Zeilen und Text hinzufügen will wenn ich jetzt aber den oben stehenden Code anwende und die 0 eintrage formatiert er mir bei die Zeile wo ich A-E eintrage auch mit und wenn ich 1 eintrage lässt er die 1 Zeile der neu eingefügten Zeilen unformatiert...
Antwort 20 von M.O.
Hallo Ralph,
vielleicht liegt's ja am warmen Wetter, aber ich verstehe nicht wirklich was du willst.
Wird generell bei einer Eingabe eine Zeile eingefügt oder nur wenn du die Buchstaben A-E eingibst? Bei meinem Ursprungscode kannst du eine Null eintragen, dann passiert gar nichts. Wenn du etwas in eine neu angelegte Zeile einträgst, erhhält die Eingabe natürlich die per VBA vorgenommene Formatierung
Also beschreibe dein Problem doch mal so, dass es auch jemand versteht, der deine Tabelle nicht vor Augen hat und poste auch mal deinen vollständigen Code.
Gruß
M.O.
vielleicht liegt's ja am warmen Wetter, aber ich verstehe nicht wirklich was du willst.
Wird generell bei einer Eingabe eine Zeile eingefügt oder nur wenn du die Buchstaben A-E eingibst? Bei meinem Ursprungscode kannst du eine Null eintragen, dann passiert gar nichts. Wenn du etwas in eine neu angelegte Zeile einträgst, erhhält die Eingabe natürlich die per VBA vorgenommene Formatierung
Also beschreibe dein Problem doch mal so, dass es auch jemand versteht, der deine Tabelle nicht vor Augen hat und poste auch mal deinen vollständigen Code.
Gruß
M.O.
Antwort 21 von Ralph0F3
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
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.
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:
Ansonsten brauche ich eine Glaskugel, da ich deinen Code ja nicht kenne.
Gruß
M.O.
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 SubAnsonsten brauche ich eine Glaskugel, da ich deinen Code ja nicht kenne.
Gruß
M.O.

