Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
544to548
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
544to548
544to548
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleife Notenschlüssel per VBA

Schleife Notenschlüssel per VBA
11.01.2005 15:39:11
Fitz
Hallo zusammen!
Ich möchte einen prozentsatz mit einem Schlüssel vergleichen und eine Note eintragen lassen,und das Ganze über mehrere Zellen.
Untenstehend mein Ansatz:
Sub Note()
Dim c As Range
For Each c In Range("I5:I12")
If ActiveCell.Offset(0, -1) > Cells(20, 2) And Cells(5, 8) ActiveCell = "1"
ElseIf ActiveCell.Offset(0, -1) > Cells(21, 2) And Cells(5, 8) ActiveCell = "2"
ElseIf ActiveCell.Offset(0, -1) > Cells(22, 2) And Cells(5, 8) ActiveCell = "3"
ElseIf ActiveCell.Offset(0, -1).Offset(0, -1) > Cells(23, 2) And Cells(5, 8) ActiveCell = "4"
ElseIf ActiveCell.Offset(0, -1) > Cells(24, 2) And Cells(5, 8) ActiveCell = "5"
End If
Next
Ps:unbedingt VBA

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

Betreff
Datum
Anwender
Anzeige
AW: Schleife Notenschlüssel per VBA
11.01.2005 15:49:17
Matthias
Hallo Andy,
Du mach eine Schleife (For Each c in...) und dann taucht c nirgends mehr auf...
Versuch's mal mit
If c.Offset(0,-1)... usw.
Gruß Matthias
AW: Schleife Notenschlüssel per VBA
Fitz
Danke für die Antwort
Ich habe es geändert, es funktioniert aber leider noch nicht.

Sub NoteForum()
Dim c As Range
For Each c In Range("I5:I12")
If c.Offset(0, -1) > Cells(20, 2) And Cells(5, 8) < Cells(20, 1) Then
ActiveCell = "1"
ElseIf c.Offset(0, -1) > Cells(21, 2) And Cells(5, 8) < Cells(21, 1) Then
ActiveCell = "2"
ElseIf c.Offset(0, -1) > Cells(22, 2) And Cells(5, 8) < Cells(22, 1) Then
ActiveCell = "3"
ElseIf c.Offset(0, -1).Offset(0, -1) > Cells(23, 2) And Cells(5, 8) < Cells(23, 1) Then
ActiveCell = "4"
ElseIf c.Offset(0, -1) > Cells(24, 2) And Cells(5, 8) < Cells(24, 1) Then
ActiveCell = "5"
End If
Next
End Sub

Anzeige
AW: Schleife Notenschlüssel per VBA
11.01.2005 16:14:30
Matthias
Hallo Andy,
ich kann anhand des Codes leider nicht sehen, was überhaupt funktionieren soll.
Gruß Matthias
AW: Schleife Notenschlüssel per VBA
RR
bei note 4 ist einmal
.Offset(0, -1)
zuviel.
vielleicht klappt es dann!
AW: Schleife Notenschlüssel per VBA
Fitz
Ich habe auf untenstehenden Code geändert und jetzt funkioniert die Schleife nur der Wertevergleich funktioniert noch nicht
If c.Offset(0, -1) > Cells(20, 2) And c.Offset(0, -1)

Sub NoteForum()
Dim c As Range
For Each c In Range("I5:I12") "das sind die Zellen in denen die Note eingetragen wird"
If c.Offset(0, -1) > Cells(20, 2) And c.Offset(0, -1) < Cells(20, 1) Then
c = "1"
ElseIf c.Offset(0, -1) > Cells(21, 2) And c.Offset(0, -1) < Cells(21, 1) Then
c = "2"
ElseIf c.Offset(0, -1) > Cells(22, 2) And c.Offset(0, -1) < Cells(22, 1) Then
c = "3"
ElseIf c.Offset(0, -1).Offset(0, -1) > c.Offset(0, -1) And Cells(5, 8) < Cells(23, 1) Then
c = "4"
ElseIf c.Offset(0, -1) > Cells(24, 2) And c.Offset(0, -1) < Cells(24, 1) Then
c = "5"
End If
Next
End Sub

Anzeige
AW: Schleife Notenschlüssel per VBA
Fitz
Danke für die Antwort
Ich habe es geändert, es funktioniert aber leider noch nicht.

Sub NoteForum()
Dim c As Range
For Each c In Range("I5:I12")
If c.Offset(0, -1) > Cells(20, 2) And Cells(5, 8) < Cells(20, 1) Then
ActiveCell = "1"
ElseIf c.Offset(0, -1) > Cells(21, 2) And Cells(5, 8) < Cells(21, 1) Then
ActiveCell = "2"
ElseIf c.Offset(0, -1) > Cells(22, 2) And Cells(5, 8) < Cells(22, 1) Then
ActiveCell = "3"
ElseIf c.Offset(0, -1).Offset(0, -1) > Cells(23, 2) And Cells(5, 8) < Cells(23, 1) Then
ActiveCell = "4"
ElseIf c.Offset(0, -1) > Cells(24, 2) And Cells(5, 8) < Cells(24, 1) Then
ActiveCell = "5"
End If
Next
End Sub

Anzeige
AW: Schleife Notenschlüssel per VBA
AndréL.
Hallo Andy,
ich hab mal ein kleines Beispiel
gebastelt.
Musst Du aber noch erweitern.

Sub Note()
Dim c As Range
For Each c In Range("B3:B7")
If c.Value > "91" Then
c.Offset(0, 1) = "1"
ElseIf c.Value > "82" And c.Value < "91" Then
c.Offset(0, 1) = "2"
End If
Next
End Sub

https://www.herber.de/bbs/user/15930.xls
Gruß
AndréL.
AW: Danke an alle
Fitz
Es funktioniert bestens und Ich bedanke mich recht herzlich.

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige