Ich habe folgendes Problem:
ich habe in einer Spalte entweder eine 1000 oder eine 100 oder eine 10 oder eine 1 stehen. Das sind meine Einheiten.(Datei "Prices FY 02_03") Der Preis der davor steht, soll in der anderen Datei ("Tan") in 1000 Einheit angegeben werden. Wenn also z.B. der Preis in 100 angegeben ist, muss er mit 10 multipliziert werden, ehe er in die andere Datei ("Tan") übertragen wird.
Hier mein Code:
Option Compare Text
Sub Preise()
Dim i, k, l
Dim sap, firm, wert, wert1, wehr, ein, share As String
Dim strPath As String, strName As String
strPath = "g:\EK\Bedarfsbündelung\Passiv\"
strName = "Prices FY 02_03.xls"
If WkbIsOpen(strName) = False Then
Beep
MsgBox ("Bitte öffnen Sie folgende Datei: G:\EK\Bedarfsbündelung\Passiv\Prices FY 02_03.xls ")
Exit Sub
End If
With Workbooks("Prices FY 02_03").Worksheets("Marketshare price")
Sheets("Tan").Select
For i = 2 To 1000
If Worksheets("Tan").Cells(i, 1).Value <> "" Then
wert = 0
sap = Worksheets("Tan").Cells(i, 1).Value
firm = Worksheets("Tan").Cells(i, 13).Value
For k = 2 To 10000
If .Cells(k, 1) = sap Then
If .Cells(k, 4).Value = "LPZ" Then
If InStr(.Cells(k, 5), Worksheets("Tan").Cells(i, 13).Value) Then
If .Cells(k, 8).Value = "1000" Then
wert1 = .Cells(k, 6).Value
wert = wert1
ElseIf .Cells(k, 8).Value = "100" Then
wert1 = (.Cells(k, 6).Value)
wert = wert1 * 10
ElseIf .Cells(k, 8).Value = "10" Then
wert1 = (.Cells(k, 6).Value)
wert = wert1 * 100
ElseIf .Cells(k, 8).Value = "1" Then
wert1 = (.Cells(k, 6).Value)
wert = wert1 * 1000
If .Cells(k, 7).Value = "EUR" Then
Worksheets("Tan").Cells(i, 20).Value = wert
ElseIf .Cells(k, 7).Value = "USD" Then
Worksheets("Tan").Cells(i, 20).Value = ""
Worksheets("Tan").Cells(i, 21).Value = wert
ElseIf .Cells(k, 7).Value = "JPY" Then
Worksheets("Tan").Cells(i, 21).Value = ""
Worksheets("Tan").Cells(i, 22).Value = wert
Else: Worksheets("Tan").Cells(i, 22).Value = ""
End If
End If
End If
End If
End If
Next k
End If
Next i
End With
End Sub
Ich hoffe mir kann jemand erklären, was ich falsch mache oder wie dies zu lösen ist.
Danke
Nora