Programmieren - alles kontrollieren 4.936 Themen, 20.625 Beiträge

Excel-VBA - Was macht dieser Code?

Christoph Maus / 2 Antworten / Flachansicht Nickles

Hi, ich muss meine letzte Arbeit in AWE berichtigen und brauch dazu mal Infos, was der folgende Code macht.
Ich bin schon soweit, dass ich versteher was das Programm im großem und ganzem macht, aber ich bruch noch genauere Infos zu den einzelenen Sub's...
Auskommentiert hab ich's schon so gut ich es konnte, aber mittlerweile bin ich mit meinem Latein am Ende.


Hier mal der Code:


'Das Programm tauscht die vom User eingegeben Spalten


Const endwert As Integer = 10 'Constantenvariable "endwert" definieren und den Wert "10" zuweisen
Dim zaehler As Integer 'Integervariable "zaehler" definieren
Dim zahl1 As Integer, zahl2 As Integer 'Integervariablen "zahl1" und "zahl2" definieren


Dim wert1(endwert) As String 'String-Array "wert1" definieren
Dim wert2(endwert) As String 'String-Array "wert2" definieren


Sub aufgabe2_teil1() 'Prozedur einleiten


zahl1 = InputBox("Geben Sie die erste Zahl ein") 'Benutzer auffordern eine Zahl einzugeben
zahl2 = InputBox("Geben Sie die zweite Zahl ein") 'Benutzer auffordern eine Zahl einzugeben


For zaehler = 0 To endwert - 1 'For-Schleife einleiten
    wert1(zaehler) = Cells(zahl1, zaehler + 1).Value
    wert2(zaehler) = Cells(zahl2, zaehler + 1).Value
    Cells(zahl1, zaehler + 1).Value = wert2(zaehler)
    Cells(zahl2, zaehler + 1).Value = wert1(zaehler)
Next zaehler 'For-Schleife beenden


End Sub 'Prozedur beenden


Sub aufgabe2_teil2() 'Prozedur einleiten


zahl1 = InputBox("Geben Sie die erste Zahl ein") 'Benutzer auffordern eine Zahl einzugeben
zahl2 = InputBox("Geben Sie die zweite Zahl ein") 'Benutzer auffordern eine Zahl einzugeben


For zaehler = 0 To endwert - 1 'For-Schleife einleiten
    wert1(zaehler) = Cells(zaehler + 1, zahl1).Value
    wert2(zaehler) = Cells(zaehler + 1, zahl2).Value
    Cells(zaehler + 1, zahl1).Value = wert2(zaehler)
    Cells(zaehler + 1, zahl2).Value = wert1(zaehler)
Next zaehler 'For-Schleife beenden


End Sub 'Prozedur beenden


Sub aufgabe2_teil3() 'Prozedur einleiten


Dim zahler2 As Integer 'Integervariable "zaehler2" definieren


zahl1 = InputBox("Geben Sie die erste Zahl ein") 'Benutzer auffordern eine Zahl einzugeben
zahl2 = InputBox("Geben Sie die zweite Zahl ein") 'Benutzer auffordern eine Zahl einzugeben


'Die For-Schleifen löschen alle Zelleninhalte bis zu der vom Benutzer eigegeben Adresse


For zaehler = 1 To zahl1 'For-Schleife einleiten
    For zaehler2 = 1 To zahl2 'For-Schleife einleiten
        Cells(zaehler, zaehler2).ClearContents 'Zellen löschen
    Next zaehler2 'For-Schleife beenden
Next zaehler 'For-Schleife beenden


End Sub 'Prozedur beenden


 


thx!!!


cm

bei Antwort benachrichtigen
Borlander Christoph Maus „Excel-VBA - Was macht dieser Code?“
Optionen
Sub aufgabe2_teil1() 'Prozedur einleiten
[...]
For zaehler = 0 To endwert - 1 'For-Schleife einleiten
' Schleife durchläuft die Spalten 1 bis endwert

  wert1(zaehler) = Cells(zahl1, zaehler + 1).Value
  wert2(zaehler) = Cells(zahl2, zaehler + 1).Value
  ' Wert der Zeile zahl1/2 zwischenspeichern

  Cells(zahl1, zaehler + 1).Value = wert2(zaehler)
  Cells(zahl2, zaehler + 1).Value = wert1(zaehler)
  ' Werte der Zeilen durch die Werte der anderen Zeile ersetzen (vertauschen)

Next zaehler 'For-Schleife beenden
End Sub 'Prozedur beenden

Sub aufgabe2_teil2()'wie teil1, nur das Spalten getauscht werden
[...]

Dim zahler2 As Integer 'Integervariable "zaehler2" definieren

[...]

'Die For-Schleifen löschen alle Zelleninhalte bis zu der vom Benutzer eigegeben Adresse

For zaehler = 1 To zahl1 'For-Schleife einleiten
' Zeile 1 bis zahl1 durchlaufen
 &nbspFor zaehler2 = 1 To zahl2 'For-Schleife einleiten
  ' Spalte 1 bis zahl2 durchlaufen
    Cells(zaehler, zaehler2).ClearContents 'Zellen löschen
  Next zaehler2 'For-Schleife beenden
Next zaehler 'For-Schleife beenden

End Sub 'Prozedur beenden


'CU Borlander
bei Antwort benachrichtigen
Danke dir!!! cm Christoph Maus