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"