Das heißt: Wenn ich in einer beliebigen Zelle innerhalb der Tabelle den Buchstaben „a“ und „v“ einfüge, dann soll in den dazwischenliegenden Zellen der Buchstabe „a“ erscheinen. Das Ganze soll auch funktionieren, wenn ich beispielsweise den Buchstaben „a“ und „bv“ einfüge (siehe Tabelle!) Vorab bedanke ich mich für die Unterstützung! Viele Grüße Dirk
ginge z.B. so - Code gehört in das Modul vom Tabellenblatt, wo er wirken soll.
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) 'Variablendeklarationen Dim iCnt1%, iCnt2% 'Ereignisse deaktivieren Application.EnableEvents = False 'Wenn mehr als eine Zelle betroffen, dann Ende If Target.Cells.Count > 1 Then GoTo ende 'Wenn was anderes al b oder bv eingegeben wurde, dann Ende If Target.Value <> "b" And Target.Value <> "bv" Then GoTo ende 'Wenn ausserhalb des Bereichs, dann Ende If Intersect(Target, Range("C5:N15")) Is Nothing Then GoTo ende 'Schleife ueber alle Zeilen von unten For iCnt1 = Target.Row To 5 Step -1 'Schleife ueber alle Spalten von rechts For iCnt2 = 14 To 3 Step -1 'In Eingabezeile erst neben der Eingabe beginnen If Target.Row = iCnt1 And Target.Column < (iCnt2 + 1) Then Else 'Wenn v drin steht, dann Ende If Cells(iCnt1, iCnt2).Value = "v" Then GoTo ende 'a eintragen Cells(iCnt1, iCnt2).Value = "a" 'Ende In Eingabezeile erst neben der Eingabe beginnen End If 'Ende Schleife ueber alle Spalten von rechts Next 'Ende Schleife ueber alle Zeilen von unten Next ende: 'Ereignisse aktivieren Application.EnableEvents = True End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
01.06.2020, 06:05 (Dieser Beitrag wurde zuletzt bearbeitet: 01.06.2020, 06:31 von Dirk O..)
Hallo schauan, vielen Dank im Voraus für die schnelle Antwort. Habe den Code in das Modul für das Tabellenblatt eingefügt, funktioniert aber leider nicht. Könntest du den Code vielleicht noch einmal überprüfen? Vielen Dank! Habe auch gerade festgestellt, dass mir bei der Erstellung des Themas ein Fehler unterlaufen ist.
Richtig ist: Wenn ich in einer beliebigen Zelle innerhalb der Tabelle den Buchstaben „v“ und „b“ einfüge, dann soll in den dazwischenliegenden Zellen der Buchstabe „a“ erscheinen. Das Ganze soll auch funktionieren, wenn ich beispielsweise den Buchstaben „v“ und „bv“ einfüge (siehe Tabelle!). Sorry! :33:
Vielen Dank schauan, jetzt klappt es! Möchte gleich mal die Gelegenheit nutzen und euch allen danke sagen. Tolles Forum, macht weiter so! Wünsche euch noch einen schönen Pfingstmontag. Viele Grüße Dirk
wende mich heute noch einmal mit oben genannten Thema an Euch. Könntet Ihr den Code im Tabellenblatt überarbeiten und folgende Probleme beseitigen:
1. Wenn ich beispielsweise in einer beliebigen Zelle (z.B. P18) den Buchstaben "b" einfüge, dann werden die davorliegenden Zellen bis zum Anfang der Zeile (C18) mit dem Buchstaben "a" gefüllt und mir in diesem Zusammenhang der Laufzeitfehler 1004 (Anwendungs- oder objektdefinierter Fehler) angezeigt.
2. Des Weiteren werden die im Vorfeld mit "b" gefüllten Zellen durch nachfolgende mit "b" gefüllte Zellen überschrieben.
In der anliegenden Tabelle findet Ihr einige Beispiele, die mal erklären sollen, wie ich mir das so vorstelle.
Beispiele:
1. Beispiel: Wenn in Zelle AE27 "v" und in Zelle AQ27 "b" dann in Zelle AF27:AP27 "a" und wenn in Zelle AU27 "v" und in Zelle BB27 "b" dann in Zelle AV27:BA27 "a" usw.
2. Beispiel: Wenn in Zelle U31 "v" und in Zelle AD31 "b" dann in Zelle V31:AC31 "a" und wenn in Zelle AM31 "b" dann Zelle AE31:AL31leer.
3. Beispiel: Wenn in Zelle N36 "v" und in Zelle S37 "b" dann in Zelle O36:R37 "a". Der Buchstabe "a" soll sich in diesem Beispiel auch auf die darüberliegende bzw. darunterliegende Zeile beziehen.
Könntet Ihr vielleicht auch mal den Zellenbereich mit dem Code abgleichen.
1) ich habe z.B. in C18 ein v eingetragen und in P18 ein b und erhalte keinen Laufzeitfehler. Auch wenn ich in C17 ein v eintrage und dann in P18 klappt alles wie gewollt. Das Du zu einem b vorher kein v eingibst hast Du nicht beschrieben. Das klappt nur in der ersten Zeile weil da der auszufüllende Bereich zu Ende ist.
2) ich habe z.B. in C20 ein v eingetragen und in F20, D20 und E20 erhalten ein a. Dann habe ich in I20 ein v eingegeben und in K20, nur j20 erhält ein a. Dann in O20 ein V und in U20 ein b, auch hier erhalte ich die a nur dazwischen. Andere Bereiche werden nicht überschrieben. Das Du zu einem b vorher kein v eingibst hast Du nicht beschrieben.
3) bei mir hab ich überall a drin.
Zitat: 'Schleife ueber alle Spalten von rechts For iCnt2 = 380 To 3 Step -1
Dein auszufüllender Bereich geht nur bis Spalte 99 und nicht bis Spalte 380 ...
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)