Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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

VBA If

VBA If
13.05.2020 13:24:31
Gregor
Hallo,
habe was im web gefunden, was für mich passen könnte.
Möchte aber zwei Zellen vergleichen.
Wenn in diesen der Wert steht dann schreibe in Zelle X100 folgenden Wert.
Also die Zeile:
marks = rg.Cells(i, 3).Value
mit zwei Zellen
' Description: The same as the ElseDemo

Sub above except this writes out
' the results to column E in the table.
' Worksheet: Marks
' https://excelmacromastery.com/vba-if

Sub ElseDemo2()
' Get the data range
Dim rg As Range
Set rg = shMarks.Range("A1").CurrentRegion
' Clear existing classifications
rg.Columns(5).Offset(1).Cells.ClearContents
Dim i As Long, marks As Long, class As String
' Go through the marks columns
For i = 2 To rg.Rows.Count
' Get the marks
marks = rg.Cells(i, 3).Value
' check the marks using if and ElseIf
If marks >= 85 Then
class = "High Destinction"
ElseIf marks >= 75 Then
class = "Destinction"
ElseIf marks >= 55 Then
class = "Credit"
ElseIf marks >= 40 Then
class = "Pass"
Else
' All other marks
class = "Fail"
End If
rg.Cells(i, 5).Value = class
Next i
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: VBA If
13.05.2020 13:35:38
Thomas

Sub test
if cells(zeile,spalte)=cells(zeile,spalte) then cells(zeile/spalte)="Dein Text"
End Sub
wenn du den code nur spezifisch auf einem Tabellenblatt laufen lassen willst musst du vor das Ifstatement ein with sheets(SHEETNAME) setzen und dannach ein end with. vor alle cells kommt dann ein punkt
Gruß
AW: VBA If
13.05.2020 13:53:08
Gregor
Ok weiß nicht ob ich es falsch versanden habe.
Am liebsten wäre mir
marks = rg.Cells(i, 3).Value
and
marks = rg.Cells(i, 4).Value
dann könnte ich dies verwenden und erweitern

' check the marks using if and ElseIf
If marks >= 85 Then
class = "High Destinction"
ElseIf marks >= 75 Then
class = "Destinction"
ElseIf marks >= 55 Then
class = "Credit"
ElseIf marks >= 40 Then
class = "Pass"
Else
' All other marks
class = "Fail"
End If

Anzeige
AW: VBA If
13.05.2020 13:43:53
Jürgen
Hallo Gregor,
wie möchtest Du die zwei zellen vergleichen?

if rg.cells(i,1) 

oder

if rg.cells(i,1) 

oder

if rg.cells(i,1) 

oder

if rg.cells(i,1) 
Bitte genauer beschreiben.
Gruß
Jürgen
AW: VBA If
13.05.2020 13:58:10
Gregor
Sorry vielleicht nicht vergleichen sondern.
Wenn in C2 und C3 die Werte= Sonne und König stehen
Dann schreibe in Zelle X100 Frankreich.
marks = rg.Cells(i, 3).Value
und
marks = rg.Cells(i, 4).Value

' Get the marks
marks = rg.Cells(i, 3).Value
' check the marks using if and ElseIf
If marks >= Sonnen König Then
class = "Frankreich"
ElseIf marks >= 75 Then
class = "Destinction"
ElseIf marks >= 55 Then
class = "Credit"
ElseIf marks >= 40 Then
class = "Pass"
Else
' All other marks
class = "Fail"
End If
rg.Cells(i, 5).Value = class
Next i
Sollte Frosch und König stehen
dann
Taucher
hoffe passt so
Anzeige
AW: VBA If
15.05.2020 09:38:26
Jürgen
Hallo Gregor,
das "i" in deinem Code deutete darauf hin, dass du in einer For...Next-Schleife arbeitest.
Da Macht die Kombination C2 & C3 --> X100 keinen Sinn.
Sinn macht hier die Kombination C2 & D2 --> X2.
Der (ungetestete) Code wäre dann in etwa so:

sub Test ()
dim strMarks1 as string, strMarks2 as string, strSuch as string
strMarks1 = rg.Cells(i, 3).Value
strMarks2 = rg.Cells(i, 4).Value
strSuch = strMarks1 & " " & strMarks2
'Alternativ geht auch
strSuch = rg.Cells(i, 3).Value & " " & rg.Cells(i, 4).Value
' check the marks using if and ElseIf
If strSuch = "Sonnen König" Then
class = "Frankreich"
ElseIf strSuch = "Frosch König" Then
class = "Taucher"
Else
' All other marks
class = "Fail"
End If
rg.Cells(i, 5).Value = class

Bitte achte bei der Suche mit Strings auch auf die Leerzeichen!
Mit "Sonnen_König" muss das trennende "_" auch im strSuch enthalten sein.
Gruß
Jürgen
Anzeige
AW: VBA If
19.05.2020 08:57:47
Gregor
Hi Danke Jürgen,
habe den Code schon aufgegeben, aber werde es jetzt nochmal versuchen.
Habe jetzt eine alternative aber mein Problem ist das ich die Zellen nie verbunden bekomme zum abfragen.
Also wenn Wert Sonnen steht und der nächste Wert König in Zelle steht und so weiter, dann schreibe in Zelle das Wort Sonnenkönig France.
Das ganze wiederholen wenn andere Wörter stehen Regen satt Sonne

Sub InhaltChecken2222()
Dim strName As String
If Sheets("Blatt1").Cells(1, 1).Value = "Sonnen" Then
ElseIf Sheets("Blatt1").Cells(1, 2).Value = "König" Then
ElseIf Sheets("Blatt1").Cells(1, 3).Value = "France" Then
End If
'strName = Application.InputBox("Name eingeben")
Else
Exit Sub
End If
'MsgBox strName
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$1" Then
Application.EnableEvents = False
If Target = "Sonnen König France"" Then Target = "France 4 ever"
Application.EnableEvents = True
End If
End Sub

Anzeige
AW: VBA If
19.05.2020 11:55:18
Gregor
Hi Danke Jürgen,
habe den Code schon aufgegeben, aber werde es jetzt nochmal versuchen.
Habe jetzt eine alternative aber mein Problem ist das ich die Zellen nie verbunden bekomme zum abfragen.
Also wenn Wert Sonnen steht und der nächste Wert König in Zelle steht und so weiter, dann schreibe in Zelle das Wort Sonnenkönig France.
Das ganze wiederholen wenn andere Wörter stehen Regen satt Sonne
Habe jetzt versucht mal den Code so anzupassen.
Bekomme aber noch einen Fehler mit der class oder Syntax Fehler in der vorletzten Zeile.

Sub Test()
Dim strMarks1 As String, strMarks2 As String, strSuch As String, class As String
strMarks1 = Sheets("Marks").Cells(2, 3).Value
strMarks2 = Sheets("Marks").Cells(2, 4).Value
strSuch = strMarks1 & " " & strMarks2
'Alternativ geht auch
'strSuch = Sheets("Marks").Cells(2, 3).Value & " " & Sheets("Marks").Cells(2, 4).Value
' check the marks using if and ElseIf
If strSuch = "Sonnen König" Then
class = "Frankreich"
ElseIf strSuch = "Frosch König" Then
class = "Taucher"
Else
' All other marks
class = "Fail"
End If
Sheets("Marks").Cells(2, 5).Value = class
End Sub

Anzeige
AW: VBA If
19.05.2020 13:53:19
Gregor
Boah endlich habe ich es danke euch !!!

Sub Test()
Dim strMarks1 As String, strMarks2 As String, strMarks3 As String, strSuch As String, class As  _
String
strMarks1 = Sheets("Marks").Cells(2, 2).Value
strMarks2 = Sheets("Marks").Cells(2, 3).Value
strMarks3 = Sheets("Marks").Cells(2, 4).Value
strSuch = strMarks1 & " " & strMarks2 & " " & strMarks3
'Alternativ geht auch
'strSuch = Sheets("Marks").Cells(2, 3).Value & " " & Sheets("Marks").Cells(2, 4).Value
' check the marks using if and ElseIf
If strSuch = "Snyder Sonnen König" Then
class = "Frankreich"
ElseIf strSuch = "Snyder Frosch König" Then
class = "Taucher"
Else
' All other marks
class = "Fail"
End If
Sheets("Marks").Cells(2, 5).Value = class
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige