[Visual Basic] [Excel] Werte beim Laden der Datei einlesen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von walkingtoaster, 7. September 2010 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 7. September 2010
    [Excel] Werte beim Laden der Datei einlesen

    Hi,

    vorweg ich kenn mich mit Visualbasic nicht besonders gut aus, hab mich die letzten paar Tage etwa eingelesen weil ich Makros in Excel verwendet habe.

    Ich habe ein Excel-Sheet mit mehreren Zeilen und Spalten die zeilenweise innerhalb des Makros zusammengerechnet werden. Mit Hilfe mehrere Checkboxen soll man auswählen können welche Spalten mit in die Rechnung aufgenommen werden sollen(Haken gesetzt in der CB) oder eben nicht und durch einen Button wird dann zusammengerechnet.
    Es funktioniert soweit alles, allerdings besteht das Problem, dass die Werte der Checkboxen erst "feststehen" wenn man jede Box einmal angeklickt hat, quasi das Click-Event bedient hat.

    Wenn man jetzt die Datei öffnet sind die Checkboxen ja bereits gesetzt aber die entsprechenden Werte sind noch nicht hinterlegt, meine Frage wäre wie man den Status der Checkboxen beim laden der Datei einlesen kann damit sofort die rictigen Werte hinterlegt sind

    Mein Quelltext sieht so aus:
    Spoiler
    Code:
    Public DE As Integer 'Globale Variable
    Public BE As Integer 'Globale Variable
    Public HW As Integer 'Globale Variable
    Public IBS As Integer 'Globale Variable
    Public KIBS As Integer 'Globale Variable
    Public HIBS As Integer 'Globale Variable
    
    Private Sub CheckBox1_Click() 'Checkboxwert für BE
    BE = 1
    If CheckBox1.Value = True Then
    BE = 1
    ElseIf CheckBox1.Value = False Then
    BE = 0
    End If
    End Sub
    
    Private Sub CheckBox2_Click() 'Checkboxwert für DE
    DE = 1
    If CheckBox2.Value = True Then
    DE = 1
    ElseIf CheckBox2.Value = False Then
    DE = 0
    End If
    End Sub
    
    Private Sub CheckBox3_Click() 'Checkboxwert für HW
    HW = 1
    If CheckBox3.Value = True Then
    HW = 1
    ElseIf CheckBox3.Value = False Then
    HW = 0
    End If
    End Sub
    
    Private Sub CheckBox4_Click() 'Checkboxwert für IBS
    IBS = 1
    If CheckBox4.Value = True Then
    IBS = 1
    ElseIf CheckBox4.Value = False Then
    IBS = 0
    End If
    End Sub
    
    Private Sub CheckBox5_Click() 'Checkboxwert für KIBS
    KIBS = 1
    If CheckBox5.Value = True Then
    KIBS = 1
    ElseIf CheckBox5.Value = False Then
    KIBS = 0
    End If
    End Sub
    
    Private Sub CheckBox6_Click() 'Checkboxwert für HIBS
    HIBS = 1
    If CheckBox6.Value = True Then
    HIBS = 1
    ElseIf CheckBox6.Value = False Then
    HIBS = 0
    End If
    End Sub
    
    Sub berechnen() 'Berechnung der Positionen nach Userauswahl mittels Variablen BE,DE etc.
    Dim x As Integer
    For x = 9 To 28
     Cells(x, 12) = BE * Cells(x, 2) + DE * Cells(x, 4) + HW * Cells(x, 7) + IBS * Cells(x, 9) + KIBS * Cells(x, 10) + HIBS * Cells(x, 11)
    Next x
    End Sub
    
    Private Sub CommandButton1_Click()
    Static n As Integer 'Statische Variable um den Wert bei weiteren Aufrufen bei zu behalten
    Dim x As Integer 'Laufvariable der For-Schleife
    
    If n = 0 Then 'Anweisung zur Wertezuweisung beim Dateiaufruf
     CheckBox6.Value = True
     CheckBox5.Value = True
     CheckBox3.Value = True
     CheckBox2.Value = True
     CheckBox1.Value = True
     CheckBox4.Value = True
     HIBS = 1
     KIBS = 1
     BE = 1
     DE = 1
     HW = 1
     IBS = 1
    
     ' For x = 9 To 28 'Berechnung der Gesammtkosten mit allen Punkten
     ' Cells(x, 12) = Cells(x, 2) + Cells(x, 4) + Cells(x, 7) + Cells(x, 9) + Cells(x, 10) + Cells(x, 11)
     ' Next x
    End If
    
    n = 1 'Damit die If-Bedingung nicht mehr aufgerufen wird
    
    Call berechnen 'Eigentlicher Programm aufruf
    
    End Sub
    


    Edit: Alles klar hat sich erledigt einfach die Abfrage ohne onclick-Bedingung machen...
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.