Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema RefEdit
BildScreenshot zu RefEdit RefEdit-Seite mit Beispielarbeitsmappe aufrufen

If-Abfrage Bereich

Betrifft: If-Abfrage Bereich von: Stephan
Geschrieben am: 01.08.2014 16:55:59

Hallo,

ich würde gerne, wenn in Spalte A6:15 „Autor 1“ steht in Spalte B „Glückwunsch“ einfügen.

Bisher verwende ich folgenden Code: If ws.Range("A6").Value Like "Autor 1" Then
ws.Range("B6").Value = "Glückwünsch"

Ich dachte, dass die Lösung, wie folgt aussieht:

If ws.Range("A6:A15").Value Like "Autor 1" Then
ws.Range("B6:B15").Value = "Glückwünsch"

Leider erhalte ich einen Fehlermeldung. Freue mich über Hilfe, wie ich das Problem löse.

https://www.herber.de/bbs/user/91831.xlsm

Grüße

Stephan

  

Betrifft: AW: If-Abfrage Bereich von: Matthias L
Geschrieben am: 01.08.2014 17:11:53

Hallo Stephan

Probiers mal so:

Private Sub CommandButton1_Click()
Dim RnG As Range
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Tabelle1")
For Each RnG In ws.Range("A6:A15")
 If RnG.Value Like "Autor 1" Then
  RnG.Offset(, 1).Value = "Glückwunsch"
 End If
Next
End Sub
obwohl Du das:
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Tabelle1")


nicht bräuchtest, da Du Dich ja in der entsprechenden Tabelle befindest.

Gruß Matthias


  

Betrifft: AW: If-Abfrage Bereich von: Stephan
Geschrieben am: 01.08.2014 17:42:55

Hallo Matthias,

perfekt vielen Dank! Neu ist für mich Offset(, 1). Ich meine die 1 steht für die Spalte B, wobei ich eigentlich die 2 vermuten würde. Vielleicht kannst du mir Offset kurz erläutern oder auf einen anderen Link verweisen.

Danke und schönes Wochenende!

Stephan


  

Betrifft: Offset(, 1) von: Matthias L
Geschrieben am: 01.08.2014 18:18:13

Hallo Stephan

Offset(, 1) oder Offset(0, 1) bedeutet:

die 1 steht hier für eine Zelle nach rechts.
Hinter dem Komma steht die Spalte also hier (1) Vor dem Komma die Zeile hier also (0)
Es ist also ein Versatz von Zeilen und/oder Spalten in eine bestimmte Richtung.

Soll heißen, das wenn wir uns in Spalte(A) befinden ist Offset(0, 1) die Spalte(B)
Würden wir uns in Spalte(B) befinden ist Offset(0, 1) die Spalte(C)

aber nun zurück zu Spalte(A)
schreibt man jetzt Offset(0, 5) sind es also 5 Spalten nach rechts, also Spalte(F)

Befindest Du Dich in Spalte(F) geht es auch nach links.
Hier wäre dann z.B. Offset(0, -2) also Spalte(F)-2 also 2 Spalten nach links (weil minus (-2) )

Analog geht es mit den Zeilen die vor dem Komma stehen.

System verstanden?



 

Beiträge aus den Excel-Beispielen zum Thema "If-Abfrage Bereich"