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

VBA Problem Schule

VBA Problem Schule
18.07.2003 23:49:44
Hans
Bitte um Hilfe!
Habe eine Schülerliste, welche 400 Schüler in den Klassen
1a bis 1i,
2a bis 2i
3a bis 3i
4a bis 4i beinhaltet. Nun möchte ich per VBA am Schulende alle Schüler um eine Schulstufe anheben, sodass alle die in die klassen 1a bis 1i gehen nach 2a bis 2i aufsteigen usw.. Bei den Schülern der 4. Klassen sollte der Wert dann auf "NS" (neue Schule)gesetzt werden.
Habe dies auf die herkömmliche Art probiert und die funktioniert auch, doch dafür benötige ich ca. 30 Seiten in VBA und das ist nicht das Wahre.
hier ein Beispiel für eine Zelle: und ich habe 400 davon
If Range("i6") = "2a" Then
Range("i6") = "3a"
Call i7
End
Else
End If
If Range("i6") = "3a" Then
Range("i6") = "4a"
Call i7
End
Else
End If
If Range("i6") = "4a" Then
Range("i6") = "-"
Call i7
Else
End If

If Range("i6") = "2b" Then
Range("i6") = "3b"
Call i7
End
Else
End If
If Range("i6") = "3b" Then
Range("i6") = "4b"
Call i7
End
Else
End If
If Range("i6") = "4b" Then
Range("i6") = "-"
Call i7
Else
End If
If Range("i6") = "2i" Then
Range("i6") = "3i"
Call i7
End
Else
End If
If Range("i6") = "3i" Then
Range("i6") = "4i"
Call i7
End
Else
End If
If Range("i6") = "4i" Then
Range("i6") = "-"
Call i7
Else
End If
If Range("i6") = "2s" Then
Range("i6") = "3s"
Call i7
End
Else
End If
If Range("i6") = "3s" Then
Range("i6") = "4s"
Call i7
End
Else
End If
If Range("i6") = "4s" Then
Range("i6") = "-"
Call i7
Else
End If
End Sub

Mit der Bitte um Hilfe!!!!
Danke im Voraus!
Hj

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Problem Schule
18.07.2003 23:59:52
Ramses
Hallo,

die Spalte musst du noch definieren ;-)


Option Explicit

Sub Change_Class()
Dim i As Integer
Dim cr As Integer, cc As Integer
'Die Spalte definieren wo deine Klassen sind
'1 = A, 2 = B usw.
cc = 1
'Letzte Zeile suchen
cr = Cells(65536, cc).End(xlUp).Row
For i = 1 To cr
    Select Case Left(Cells(i, 1), 1)
        Case Is < 4
            Cells(i, cc) = Left(Cells(i, cc), 1) + 1 & Right(Cells(i, cc), 1)
        Case 4
            Cells(i, cc) = "NS"
    End Select
Next
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16



Gruss Rainer


Anzeige
AW: VBA Problem Schule
20.07.2003 12:05:14
Hans
Danke Rainer für Deine superschnelle Antwort!!!!
Ich habe Deinen Code in mein Modul eingegeben und dieses einem Button zugewiesen. Den Eintrag cc=1 habe ich auf cc=9 gesetzt, da sich meine Klassen nur in der Spalte "i" befinden und zwar folgend: 1a bis 4i (zusammengeschrieben). Wenn ich nun Dein Makro aufrufe, dann rührt sich überhaupt nichts. Was mache ich da falsch?
Bitte um Hilfe!
Danke im Voraus!!

Gruß Hj


AW: VBA Problem Schule
20.07.2003 15:57:40
Ramses
Hallo Hans,

Sorry, kleiner Lapsus ;-)

Ändere die Zeile

Select Case Left(Cells(i, 1), 1)

in

Select Case Left(Cells(i, cc), 1)

Gruss Rainer


Anzeige
AW: VBA Problem Schule
22.07.2003 13:04:19
Hans
Danke Rainer für Deine Hilfe!!
Hat funktioniert. Toll, wenn Leute was von Ihrem Handwerk verstehen!!
Vielen Dank nochmals
Gruß Hj


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige