Avatar billede k_hornuff Nybegynder
21. maj 2007 - 11:42 Der 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.

Nogen gode ideer
Avatar billede kabbak Professor
21. maj 2007 - 18:10 #1
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
Avatar billede k_hornuff Nybegynder
22. maj 2007 - 14:52 #2
Ok, det kan dog ikke lige bruges i dette tilfælde :(

Jeg har i stedet lavet et nyt array, hvor jeg har indlæst alle de datoer for hviklke, der ikke mangler nogle observationer.

Tænkte blot, at det måske var muligt, at slette hele rækker ligesom i excel.
Avatar billede mikker Nybegynder
23. maj 2007 - 10:02 #3
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?
Avatar billede k_hornuff Nybegynder
23. maj 2007 - 16:51 #4
Ja det giver fin mening.
Det er også hvad jeg har gjort (se kommentar pr 22/05)
Avatar billede k_hornuff Nybegynder
05. juli 2007 - 14:16 #5
Jeg lukker tråden
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester