Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler
17.01.2012 19:55:00 Gast88925
NotSolved
17.01.2012 22:52:22 Heiko
NotSolved

Ansicht des Beitrags:
Von:
Gast88925
Datum:
17.01.2012 19:55:00
Views:
1618
Rating: Antwort:
  Ja
Thema:
Laufzeitfehler

Hey,
ich muss seit langem malwieder VBA machen, und komme deshalb leider selber nichtmehr so schnell darauf, wo meine Fehler liegen, bzw. kenne ich mich nicht mehr so gut mit VBA aus. Ich wäre euch doch sehr verbunden, wenn ihr mal über meine Programmierung rüberschaut und mir sagt, weshalb die Meldung: "Laufzeitfehler - Index außerhalb des gültigen Bereichs" auftaucht.

Option Explicit

Sub Berechnung_freieZimmer()

Dim Zeile As Byte
Dim Spalte As Byte
Dim Einzelzimmer As Byte
Dim Doppelzimmer As Byte
Dim KomfortDZ As Byte
Dim TerassenDZ As Byte
Dim PanoramaDZ As Byte
Dim PanoramaTerassenDZ As Byte

Zeile = 2
Spalte = 12
Einzelzimmer = 0
Doppelzimmer = 0
KomfortDZ = 0
TerassenDZ = 0
PanoramaDZ = 0
PanoramaTerassenDZ = 0

Do

If Cells(Zeile, Spalte) = "Einzelzimmer" Then
    Select Case Cells(Zeile, Spalte + 1)
        Case "frei"
            Einzelzimmer = Einzelzimmer + 1
        Case "besetzt"
            Zeile = Zeile + 1
    End Select
ElseIf Cells(Zeile, Spalte) = "Doppelzimmer" Then
    Select Case Cells(Zeile, Spalte + 1)
        Case "frei"
            Doppelzimmer = Doppelzimmer + 1
        Case "besetzt"
            Zeile = Zeile + 1
    End Select
ElseIf Cells(Zeile, Spalte) = "KomfortDZ" Then
    Select Case Cells(Zeile, Spalte + 1)
        Case "frei"
            KomfortDZ = KomfortDZ + 1
        Case "besetzt"
            Zeile = Zeile + 1
    End Select
ElseIf Cells(Zeile, Spalte) = "TerassenDZ" Then
    Select Case Cells(Zeile, Spalte + 1)
        Case "frei"
            TerassenDZ = TerassenDZ + 1
        Case "besetzt"
            Zeile = Zeile + 1
    End Select
ElseIf Cells(Zeile, Spalte) = "PanoramaDZ" Then
    Select Case Cells(Zeile, Spalte + 1)
        Case "frei"
            PanoramaDZ = PanoramaDZ + 1
        Case "besetzt"
            Zeile = Zeile + 1
    End Select
ElseIf Cells(Zeile, Spalte) = "PanoramaTerassenDZ" Then
    Select Case Cells(Zeile, Spalte + 1)
        Case "frei"
            PanoramaTerassenDZ = PanoramaTerassenDZ + 1
        Case "besetzt"
            Zeile = Zeile + 1
    End Select
End If

Loop Until Cells(Zeile, Spalte) = ""


With Worksheets("tbl_Hotel")
    .Cells(3, 4) = Einzelzimmer
    .Cells(4, 4) = Doppelzimmer
    .Cells(5, 4) = KomfortDZ
    .Cells(6, 4) = TerassenDZ
    .Cells(7, 4) = PanoramaDZ
    .Cells(8, 4) = PanoramaTerassenDZ
End With

End Sub

MfG


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Laufzeitfehler
17.01.2012 19:55:00 Gast88925
NotSolved
17.01.2012 22:52:22 Heiko
NotSolved