Ergebnis 1 bis 6 von 6

Thema: VBA > Laufzeitfehler "9"

  1. #1
    HTML Newbie
    Registriert seit
    18.05.2010
    Beiträge
    3
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard VBA > Laufzeitfehler "9"

    Hallo Zusammen,
    Ich bin neu bei VBA und habe da mal ein kleines Programm entwickelt.
    Mein Problem ist,dass ich einen Laufzeitfehler bekomme,welcher nicht angezeigt wird. Vielleicht könnt ihr mir ja helfen.


    Code:
    Sub Layoutplanung()
    
          Const n = 9                       'Anzahl der Maschinen und Stellplätze
          
          Dim VZ(1 To n) As Single           'Menge der vorläufig zugeordneten Maschinen
                                              '(als Vektor von Binärvariablen abgebildet)
          Dim VN(1 To n) As Single           'Menge der vorläufig nicht zugeordenten Maschinen
          Dim EZ(1 To n) As Single           'Menge der endgültig zugeordneten Maschinen
          Dim EN(1 To n) As Single           'Menge der endgültig nicht zugeordneten Maschinen
    
          Dim VZS(1 To n) As Single           'Menge der vorläufig zugeordneten Stellplätzen
          Dim VNS(1 To n) As Single           'Menge der vorläufig nicht zugeordenten Stellplätzen
          Dim EZS(1 To n) As Single           'Menge der endgültig zugeordneten Stellplätzen
          Dim ENS(1 To n) As Single           'Menge der endgültig nicht zugeordneten Stellplätzen
           AnzahlVZS = 8
           AnzahlVZ = 8
          
          
          Dim d(1 To n, 1 To n) As Single             'Entfernungen zwischen Stellplatz k und Stellplatz l
          Dim m(1 To n, 1 To n) As Single            'Transportmengen von Maschine i zu Maschine j
          Dim g(1 To n, 1 To n) As Single            'Gesamttransportmenge
    
          Dim ZeilenMin(1 To n) As Single     'minimale Transportkosten zu Kunde j
          Dim ZeilenMax(1 To n) As Single
        
        
          'Initialisieren der Standortmengen
        For i = 1 To 9
            VZS(i) = 0: VNS(i) = 1: EZS(i) = 0: ENS(i) = 0
        Next i
        
        For k = 1 To 9
            VZS(k) = 0: VNS(k) = 1: EZS(k) = 0: ENS(k) = 0
        Next k
       
          'Initialisieren der verfügbaren Standorte bzw. Maschinen
        
    
          'Daten einlesen
        Worksheets("Layoutplanung").Select
        For k = 1 To n
            For l = 1 To n
                d(k, l) = Cells(4 + k, 3 + l).Value
            Next l
        Next k
        For i = 1 To n
            For j = 1 To n
                m(i, j) = Cells(23 + i, 3 + j).Value
            Next j
        Next i
      y = 1
    for y = 1 to 9
          'Bildung des Zeilenmin für Entfernungen
       Min = 1000000
       For k = 1 To 9                   'bin in 1.Zeile
            If VZS(k) = 1 Then
                Sum = 0
                For l = 1 To n           'nehme 1.Spalte
                   Sum = Sum + d(k, l)  'summiere die Entfernungen auf
                Next l
                If Sum < Min Then
                    Min = Sum
                    ind2 = k
                    Sp = Cells(4 + k, 3).Value
                End If
            End If
       Next k
       
        EZS(ind2) = 1: VZS(ind2) = 0: AnzahlVZS = AnzahlVZS - 1
        Worksheets("Aufgabe1a").Select
            a = 1
            Cells(1, a) = Sp
            a = a + 1
    
        'Zusammenaddieren der Transportmengendaten zur Gesamttransportmenge
        For i = 1 To n
            For j = 1 To n
                w = i
                s = j
                g(i, j) = m(i, j) + m(s, w)
            Next j
        Next i
          
          'Bildung des Zeilenmax für Gesamttransportmenge
       SpaltMax = 0
       For i = 1 To n                     'bin in 1.Zeile
           If VZ(i) = 1 Then
                Sum2 = 0
                For j = 1 To n             'nehme 1.Spalte
                   Sum2 = Sum2 + g(i, j)  'summiere die Entfernungen auf
                Next j
                If Sum2 > SpaltMax Then
                SpaltMax = Sum2
                ind = i
                Ma = Cells(23 + i, 3).Value
                End If
            End If
       Next i
       EZ(ind) = 1: VZ(ind) = 0: AnzahlVZ = AnzahlVZ - 1
        Worksheets("Aufgabe1a").Select
        b = 1
        Cells(1, b) = Ma
        b = b + 1
    
    next y    
    
            
    End Sub
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von DeDenny (18.05.2010 um 08:10 Uhr)

  2. #2
    Forum Guru Avatar von driver
    Registriert seit
    10.04.2006
    Alter
    34
    Beiträge
    20.729
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: VBA > Laufzeitfehler "9"

    schonmal den debug-modus verwendet ?
    >> die icq-schreiberlinge bitte dies hier beachten



    1679 entdeckte Gottfried Wilhelm Leibniz das Binärsystem, bei einem Gespräch mit seiner Mutter: "Ja..., Nein..., Nein..., Nein..., Ja..., Ja..., Nein..."

  3. #3
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: VBA > Laufzeitfehler "9"

    weiterhin sonst über einzelschritt probieren, den fehler einzugrenzen.

    Hab grade keine zeit mit das anzusehen, aber sonst lade doch einmal eine beispiel-datei hoch (excel) dann kann ich mir das ggf. mal ansehen, wenn ich zu hause bin

    mfg
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  4. #4
    Forum Guru Avatar von driver
    Registriert seit
    10.04.2006
    Alter
    34
    Beiträge
    20.729
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: VBA > Laufzeitfehler "9"

    was mich spontan irgendwie verwundet, ist dies hier
    Code:
    For i = 1 To 9
            VZS(i) = 0: VNS(i) = 1: EZS(i) = 0: ENS(i) = 0
        Next i
        
        For k = 1 To 9
            VZS(k) = 0: VNS(k) = 1: EZS(k) = 0: ENS(k) = 0
        Next k
    entweder überseh ich da was... oder.... der macht doch des gleich ?
    ob ich jetzt als zähler i oder k nehm is wurscht...
    >> die icq-schreiberlinge bitte dies hier beachten



    1679 entdeckte Gottfried Wilhelm Leibniz das Binärsystem, bei einem Gespräch mit seiner Mutter: "Ja..., Nein..., Nein..., Nein..., Ja..., Ja..., Nein..."

  5. #5
    HTML Newbie
    Themenstarter

    Registriert seit
    18.05.2010
    Beiträge
    3
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: VBA > Laufzeitfehler "9"

    For i = 1 To 9
    VZS(i) = 0: VNS(i) = 1: EZS(i) = 0: ENS(i) = 0
    Next i

    For k = 1 To 9
    VZS(k) = 0: VNS(k) = 1: EZS(k) = 0: ENS(k) = 0
    Next k
    Der setzt mir einfach nur die Maschinen und Standpunkte auf voläufig nicht zugeordneter Standort. Ja es ist hier noch relativ ob ich k oder j nehme. Damit das aber übersichtlicher wird,halte ich beide getrennt.

    Ich werde nun mal den Debugger nehmen. Vllt finde ich ja den Fehler.

  6. #6
    HTML Newbie
    Themenstarter

    Registriert seit
    18.05.2010
    Beiträge
    3
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Also es klappt nun wunderbar. Ich habe nun kein Laufzeitfehler mehr. Das einzige was nun nicht hinhaut ist meine Ausgabe. Kann mir jemand sagen warum er keine Ausgabe macht?

    Code:
    sub Layoutplanung()
    
          Const n = 9                       'Anzahl der Maschinen und Stellplдtze
          
          Dim VNM(1 To n) As Integer           'Menge der vorlдufig zugeordneten Stellplдtzen
          Dim VNS(1 To n) As Integer           'Menge der vorlдufig nicht zugeordenten Stellplдtzen
          Dim EZS(1 To n) As Integer           'Menge der endgьltig zugeordneten Stellplдtzen
          Dim EZM(1 To n) As Integer           'Menge der endgьltig nicht zugeordneten Stellplдtzen
          
          
          
          Dim d(1 To n, 1 To n) As Integer             'Entfernungen zwischen Stellplatz k und Stellplatz l
          Dim m(1 To n, 1 To n) As Integer            'Transportmengen von Maschine i zu Maschine j
          Dim g(1 To n, 1 To n) As Integer            'Gesamttransportmenge
    
          Dim ZeilenMin(1 To n) As Integer     'minimale Transportkosten zu Kunde j
          Dim ZeilenMax(1 To n) As Integer
        
        
          'Initialisieren der Standortmengen
        For i = 1 To 9
            VNS(i) = 1: EZS(i) = 0
        Next i
        
        For k = 1 To 9
            VNM(k) = 1: EZM(k) = 0
        Next k
        
          'Daten einlesen
        Worksheets("Layoutplanung").Select
        For k = 1 To n
            For l = 1 To n
                d(k, l) = Cells(4 + k, 3 + l)
    Next l
        Next k
        For i = 1 To n
            For j = 1 To n
                m(i, j) = Cells(23 + i, 3 + j).Value
            Next j
        Next i
     
     y = 1
     For y = 1 To 9
          'Bildung des Zeilenmin fьr Entfernungen
       Min = 1000000
       For k = 1 To 9                   'bin in 1.Zeile
            If VNS(k) = 1 Then
                Sum = 0
                For l = 1 To n           'nehme 1.Spalte
                   Sum = Sum + d(k, l)  'summiere die Entfernungen auf
                Next l
                If Sum < Min Then
                    Min = Sum
                    ind2 = k
                    Sp = Cells(4 + k, 3).Value
                End If
            End If
       Next k
       
        EZS(ind2) = 1: VNS(ind2) = 0
        Worksheets("Aufgabe1a").Select
            a = 1
            Cells(1, a).Value = Sp
            a = a + 1
    
        'Zusammenaddieren der Transportmengendaten zur Gesamttransportmenge
        For i = 1 To n
            For j = 1 To n
                g(i, j) = m(i, j) + m(j, i)
            Next j
        Next i
          
          'Bildung des Zeilenmax fьr Gesamttransportmenge
       SpaltMax = 0
       For i = 1 To n                     'bin in 1.Zeile
           If VNM(i) = 1 Then
                Sum2 = 0
                For j = 1 To n             'nehme 1.Spalte
                   Sum2 =
    If Sum2 > SpaltMax Then
                SpaltMax = Sum2
                ind = i
                Ma= Cells(23 + i, 3).Value
                End If
            End If
       Next i
       EZM(ind) = 1: VNM(ind) = 0
        Worksheets("Aufgabe1a").Select
        b = 1
        Cells(2, 1).Value = Ma
        b = b + 1
    Next y
        
        
    End Sub
    Mein Problem ist nun,dass ich keine Ausgabe habe...

Ähnliche Themen

  1. Wie erstelle ich ein Element "fixed" aber trotzdem mit "position: relative"?
    Von nilss im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 17.03.2010, 16:35
  2. Dürrenmatts "Der Besuch der alten Dame" und Sophokles' "Ödipus Tyrannos"
    Von Unregistriert im Forum Off Topic und Quasselbox
    Antworten: 3
    Letzter Beitrag: 21.01.2010, 22:22
  3. Border-Bottom: noch "zarter" als "1px dashed"?
    Von Mütze im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 19.09.2008, 18:10
  4. php: "bitte warten" oder "login läuft"
    Von phore im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 05.04.2006, 18:18
  5. Text immer "unten" und "rechts" am Frame
    Von Valdyn im Forum HTML & CSS Forum
    Antworten: 5
    Letzter Beitrag: 25.05.2004, 19:14

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •