Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

If Schleife in VBA.NET

Betrifft: If Schleife in VBA.NET von: Alex
Geschrieben am: 20.09.2004 15:23:37

Hallo zusammen,

ich hab eine kleine Frage an euch, ist wahrscheinlich ganz banal aber ich bekomms nicht hin!

Ich habe eine If Anweisung, die jedoch nicht das tut was sie soll! Das Programm meldet mir zwar kein Fehler, jedoch wird nicht der Wert eingetragen in die Zeile. Wäre nett, wenn Ihr mal kurz schaut an was es leigen kann, und mir ein Tipp geben könnt.

If excelWorksheet2.Range("A" & cntr).Value Is excelWorksheet4.Range("A" & cntr).Value Then

If excelWorksheet3.Range("A7").Value Is excelWorksheet4.Range("B" & cntr).Value

Then

excelWorksheet3.Range("C7").Value = excelWorksheet4.Range("C" & cntr).Value

End If

End If



Viele Grüße aus Stuttgart

Alex

  


Betrifft: AW: If Schleife in VBA.NET von: Andre
Geschrieben am: 20.09.2004 15:31:38

Hi Alex,

ersetze mal "Is" durch "=", wahrscheinlich hilft das schon:

If excelWorksheet2.Range("A" & cntr).Value = excelWorksheet4.Range("A" & cntr).Value Then

If excelWorksheet3.Range("A7").Value = excelWorksheet4.Range("B" & cntr).Value

Then

excelWorksheet3.Range("C7").Value = excelWorksheet4.Range("C" & cntr).Value

End If

End If


Gruß Andre


  


Betrifft: AW: If Schleife in VBA.NET von: Alex
Geschrieben am: 20.09.2004 15:42:14

Hallo ihr zwei,

also ich habe Is genommen, weil ich es davor schon mit "=" versucht habe und es nicht geklappt hat.
Das komische ist, dass mir das Programm kein Fehler anzeigt, es sagt mir das alles geklappt hat, jedoch sehe ich keine Wert! Ich zeig euch mal den part davor, diesen trägt er nämlich komischerweise ein.

Module loadexperiment


Sub Main()


        'Anlegen der Zählervariablen
        Dim cntr As Int32

        'Anlegen der Variabeln, die nachher den Load- bzw. Savepfad zugewiesen bekommen
        Dim fileName As String
        Dim fileName2 As String
        Dim fileName3 As String
        Dim Dateiname As String
        Dim fileName4 As String

        'Erzeugen einer ExcelApplikation, eines Workbooks und Worksheets
        Dim excelApp As Excel.Application
        Dim excelWorkbook As Excel.Workbook
        Dim excelWorksheet As Excel.Worksheet
        Dim excelWorksheet3 As Excel.Worksheet

        'Erzeugen einer ExcelApplikation, eines Workbooks und Worksheets
        Dim excelApp2 As Excel.Application
        Dim excelWorkbook2 As Excel.Workbook
        Dim excelWorksheet2 As Excel.Worksheet

        Dim excelApp3 As Excel.Application
        Dim excelWorkbook3 As Excel.Workbook
        Dim excelWorksheet4 As Excel.Worksheet

        '

        'Festlegung der Pfade aus denen die Excelressourcen geladen werden 
        fileName = "C:\Profile\xk02740\Eigene Dateien\Visual Studio Projects\Loadexperiment\neuerinplan.xls"
        fileName3 = "C:\Profile\xk02740\Eigene Dateien\Visual Studio Projects\Loadexperiment\Kundenzuordnung.xls"
        fileName4 = "C:\Profile\xk02740\Eigene Dateien\Visual Studio Projects\Loadexperiment\Test.xls"
        fileName2 = "C:\Profile\xk02740\Eigene Dateien\Visual Studio Projects\Loadexperiment\Banken\"

        Try
            excelApp = CreateObject("Excel.Application")
            excelWorkbook = excelApp.Workbooks.Open(fileName)
            excelWorksheet = excelWorkbook.Worksheets("Titelblatt")
            excelWorksheet3 = excelWorkbook.Worksheets("Produkteinsatz")

            excelApp2 = CreateObject("Excel.Application")
            excelWorkbook2 = excelApp.Workbooks.Open(fileName3)
            excelWorksheet2 = excelWorkbook2.Worksheets("first")

            excelApp3 = CreateObject("Excel.Application")
            excelWorkbook3 = excelApp.Workbooks.Open(fileName4)
            excelWorksheet4 = excelWorkbook3.Worksheets("second")




            ' Schleife zur Befüllung des Templates für alle VB's
            For cntr = 1 To 2

                'Ermittlung der Speicheradresse! Als Speicheradresse wird die RZBK Nr. aus Spalte A des Sheets Kundenzuordnung genommen 
                Dateiname = excelWorksheet2.Range("A" & cntr).Value

                'Zellenzuweisung
                excelWorksheet.Range("I4").Value = excelWorksheet2.Range("L" & cntr).Value
                excelWorksheet.Range("D2").Value = excelWorksheet2.Range("C" & cntr).Value
                excelWorksheet.Range("I6").Value = excelWorksheet2.Range("M" & cntr).Value
                excelWorksheet.Range("B2").Value = excelWorksheet2.Range("A" & cntr).Value
                excelWorksheet.Range("J2").Value = System.DateTime.Now()






                If excelWorksheet2.Range("A" & cntr).Value = excelWorksheet4.Range("A" & cntr).Value Then

                    If excelWorksheet3.Range("A7").Value = excelWorksheet4.Range("B" & cntr).Value Then

                        excelWorksheet3.Range("C7").Value = excelWorksheet4.Range("C" & cntr).Value

                    End If

                End If

                'Speicherung der neuen Workbooks
                excelWorkbook.SaveAs(fileName2 & Dateiname & ".xls")

            Next cntr

            'Schliessen der Applicationen
            excelApp.Quit()
            excelApp2.Quit()
            excelApp3.Quit()

            'Bestätigung für die erfolgreiche Durchführung
            MsgBox("Daten wurden erfolgreich übertragen")

        Catch eIO As Exception

            'Wird ausgegeben im Falle eines Fehlers bei der Ausführung
            MsgBox("Fehler bei der Ausführung des Programms")

        End Try

    End Sub


End Module


  


Betrifft: AW: If Schleife in VBA.NET von: Andre
Geschrieben am: 20.09.2004 15:48:42

Also, die "=" müssen auf jeden Fall eingesetzt werden, sonst geht´s nicht!

Ansonsten würde ich sagen, dass dein Ereignis in der IF-Anweisung nicht ausgeführt wird, weil die Bedingungen nicht stimmen, sprich die Inhalte der Zellen sind einfach nicht gleich!

mfg Andre


  


Betrifft: AW: If Schleife in VBA.NET von: ANdreas
Geschrieben am: 20.09.2004 15:32:43

Hallo Alex,

wieso denn

If ... Is ... Then?

Meinst bestimmt
If ... = ... Then oder If ... Is Like ... Then

Gruß
Andreas


 

Beiträge aus den Excel-Beispielen zum Thema "If Schleife in VBA.NET"