21. maj 2007 - 11:42Der er
4 kommentarer og 1 løsning
Hvordan sletter man rækker i et VBA Array
Jeg har lavet et VBA Array med ca 400 0bservationer for 16 forskellige tidsserier. Mit problem er, at der for visse datoer ikke er observationer for alle 16 tidsserier. Dem vil jeg gerne slette, men uden at jeg skal lægge mit array ned i excel.
Den del af koden som det drejer sig om er :
ReDim TimeSeriesMatrix(UBound(DateVector), NumberOfTimeSeries) for i=1 to UBound(DateVector) for j=1 to NumberOftimeseries TimeSeriesMatrix(i,j)=x hvor x er et tal next j next i
Der er som sagt en del gange for der ikke findes et tal for alle tidsserierne. Derfor vil jeg gerne slette de rækker for hvilke der ikke er et x for alle tidsserierne.
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Jeg ved ikke hvordan du sletter en række, men du kan tømme den.
For i = 1 To UBound(Data, 1) For x = 1 To UBound(Data, 2) If IsEmpty(Data(i, x)) Then For y = 1 To UBound(Data, 2) Data(i, y) = Empty Next End If Next Next
Det kan også godt lade sig gøre, men det er ok nnemmer blot at følge kabbak's eksempel og så blot ignorere tomme data.
Ellers kan jeg forestille mig at du kan lave endnu et array, læse alle 'rækker' ind der indeholder data, tømme det 'gamle' og så kopiere det 'nye' over i det 'gamle'. Giver det mening uden for mit hoved?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.