Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1588to1592
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
Inhaltsverzeichnis

Wenn Zelle= dann Bereich beschreiben

Wenn Zelle= dann Bereich beschreiben
30.10.2017 07:55:14
Peter
Guten Morgen,
falls in Spalte A ein "x" steht, sollen die 10 darüber liegenden Zellen in Spalte B mit einem a beschrieben werden und der aktuelle Wert darin überschrieben werden.
Beispiel:
"x" in Zelle A67, dann soll der Wert in jede Zelle des Bereichs B58-B67 durch ein "a" ersetzt werden. In welcher Zeile das "x" in Spalte A auftritt ändert sich jedoch, da die Tabelle fortlaufend gefüllt wird.
Kann mir dazu jemand einen Tipp geben, soweit ich weiß ist dies nur mit VBA möglich.
Vielen Dank im voraus!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Zelle= dann Bereich beschreiben
30.10.2017 08:03:42
Nepumuk
Hallo Peter,
werden die x'e manuell eingetragen oder steckt da eine Formel dahinter? Was wenn z.B. in A5 ein x erscheint?
Gruß
Nepumuk
AW: Wenn Zelle= dann Bereich beschreiben
30.10.2017 08:25:03
Peter
Hallo Nepumuk,
die x'e werden per Formel eingetragen. Wenn in A5 ein x erscheint, soll B1-B5 null gesetzt werden.
Also die letzten 20 Zeilen, esseiden es existieren weniger als 20.
Ich habe die relevanten Daten der Tabelle erst bei 20 Beginnen lassen, sodass immer mindestens 20 (irrelevante) Zeilen davor liegen.
Gruß Peter
AW: Wenn Zelle= dann Bereich beschreiben
30.10.2017 08:10:52
Matthias
Hallo
Hier eine Variante
Code gehört ins Tabellenblatt
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 9 Then
If Target.Count > 1 Then Exit Sub
If Target = "x" Then Range("B" & Target.Row, "B" & Target.Row - 9) = "a"
End If
End Sub
Gruß Matthias
Anzeige
AW: Wenn Zelle= dann Bereich beschreiben
30.10.2017 08:40:15
Peter
Hallo Matthias,
deine Lösung funktioniert!
Vielen Dank euch beiden für die Hilfe.
Gibt es eine Möglichkeit, das Makro auf alle außer das erste Tabellenblatt anzuwenden?
Gruß Peter
AW: Wenn Zelle= dann Bereich beschreiben
30.10.2017 08:47:28
Matthias
Hallo
Für alle Tabellen den Code in DieseArbeitsmappe
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column = 1 And Target.Row > 9 Then
If Target.Count > 1 Then Exit Sub
If Target = "x" Then Range("B" & Target.Row, "B" & Target.Row - 9) = "a"
End If
End Sub

Du hast doch aber an Nepumuk geschrieben:
die x'e werden per Formel eingetragen
Dann müsste man das Calculate-Ereignis nehmen.
Gruß Matthias
Anzeige
AW: Wenn Zelle= dann Bereich beschreiben
30.10.2017 09:01:57
Peter
Hallo,
wenn ich es in die Arbeitsmappe schreibe, gilt es doch aber auch für das erste Tabellenblatt oder? Dafür soll es ja nicht gelten.
Ich habe die Zelle per Formel füllen lassen und es hat funktioniert. Ich hoffe, dass das nicht nur ein dummer Zufall war.
Unterscheidet VBA darin, wie die Zelle ausgefüllt wurde? Habe das jetzt so interpretiert, dass es mit Target schaut, ob in der Zelle ein "x" steht, egal wie das da hingekommen ist...
das erste Blatt heißt "Tabelle1"?
30.10.2017 09:08:47
Matthias
Hallo
Ja, hast Recht Hatte es überlesen.
das erste Blatt heißt "Tabelle1"? (sonst im Code ändern)
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name  "Tabelle1" Then
If Target.Column = 1 And Target.Row > 9 Then
If Target.Count > 1 Then Exit Sub
If Target = "x" Then Range("B" & Target.Row, "B" & Target.Row - 9) = "a"
End If
End If
End Sub
Gruß Matthias
Anzeige
AW: das erste Blatt heißt "Tabelle1"?
30.10.2017 09:13:32
Peter
Hallo,
vielen Dank!
Gruß Peter

348 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige