Hopper meget mærkeligt i mellem ark!?
Nedestående er et udsnit af min kode.. Den kører fint lige ind til den når følgende:With valuta.ActiveSheet
ant_valuta = .UsedRange.Rows.Count -2
For z = 0 To ant_valuta
If ISO = Range("b3").Offset(z, måned
Den tæller ant_valuta fint, til 33 rækker, men når jeg bruger ISO = er den på mærkværdigvis gået ind i et HELT andet ark og siger offsetværdien er lig med 100.. Hvilket absoult ikke passer..
Jeg har en større del af min kode neden for:
Call udregn_dk(salg, valuta)
'gemmer de udregnede tal
Workbooks(salgs_data_navne(x)).Close Savechanges:=True
Workbooks(valuta_data_navne(y)).Close Savechanges:=True
End If
'næste (fil i arrayet)
Next
'næste y (fil i arrayet)
Next
'sletter arrayne
Erase salgs_data_navne
Erase valuta_data_navne
Workbooks("Kundevaluta").Close
Application.ScreenUpdating = True
End Sub
'denne sub udregner alle beløb til danske kroner
Private Sub udregn_dk(ByRef salg As Workbook, valuta As Workbook)
'denne store problemstilling her var at vi ikke kunne få vores ankerceller til at fungere, vi brugte ikke .range, men range()
Dim Kunder As Range
Dim KundeId As Integer
Dim i As Integer
Dim dato As Date
Dim måned As Integer
Dim omregnetbeløb As Currency
Dim ISO As Variant, ISO2 As Variant
Dim ArrValuta() As Variant
Dim arrAntHandler() As Variant
Dim arrKunder() As Variant
Dim h As Integer
Dim WB_kunder As Workbook
Dim kurs As String
Dim beløb_DKKR
Dim ant_valuta As Integer
Dim z As Integer
Dim beløb As Currency
With salg.ActiveSheet
'antal handler
arrAntHandler = Range("B2", Range("B2").End(xlDown))
End With
'finder antalkunder i arket kundevalutaer
Set WB_kunder = Workbooks.Open(ThisWorkbook.Path & "\Kundevaluta")
'finder antal kunder i alt og indlæser til array
arrKunder = Range("a2", Range("a2").End(xlDown))
ArrValuta = Range("b2", Range("b2").End(xlDown))
WB_kunder.Close
With salg.ActiveSheet
For i = LBound(arrAntHandler) To UBound(arrAntHandler)
KundeId = .Range("B1").Offset(i, 0)
dato = .Range("B1").Offset(i, -1)
beløb = .Range("b1").Offset(i, 1)
'tager det 4 ciffer, som er der måned er angivet og 2 cifre, dvs "01" til "12", ved "01" returneres 1
måned = CInt(Mid(dato, 4, 2))
For h = LBound(arrKunder) To UBound(arrKunder)
If KundeId = arrKunder(h, 1) Then
ISO = ArrValuta(h, 1)
End If
Next
With valuta.ActiveSheet
ant_valuta = .UsedRange.Rows.Count - 2
For z = 0 To ant_valuta
If ISO = Range("b3").Offset(z, måned) Then
kurs = .Range("C3").Offset(0, måned)
beløb_DKKR = beløb * kurs / 100
End If
Next
End With
Next
End With
End Sub