Avatar billede spoi Nybegynder
17. oktober 2006 - 07:31 Der er 2 kommentarer og
1 løsning

problemer med kode der henter data fra tekststreng

koden ser således ud
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$3" Then
        Dim Sti As String, RW As Long, Linie As String, i
        Range("A9:A100").ClearContents    ' tømmer fra A7 til A100 inden koden køres
        Range("C9:C100").ClearContents  'tømmer fra C7 til C100 inden koden køres
        Range("H9:H100").ClearContents  'tømmer fra H7 til H100 inden koden køres
        Range("G9:G100").ClearContents  'tømmer fra I7 til I100 inden koden køres
        'Range("O9:O100").ClearContents  'tømmer fra P7 til P100 inden koden køres
        Sti = "H:\pakkeinstruktioner\TEST af makro\0"
        If Dir(Sti & Target & ".txt") <> "" Then    ' tjekker om filer eksisterer
            Open Sti & Target & ".txt" For Input As #1
            RW = 9
            While Not EOF(1)
                Line Input #1, Linie
                Cells(RW, "A") = Val(Trim(Right(Split(Linie, ";")(10), (Len(Split(Linie, ";")(10)) - 4))))
                Cells(RW, "C") = Mid(Split(Linie, ";")(28), 5, (Len(Split(Linie, ";")(28)) - 5))
                Cells(RW, "G") = Split(Linie, ";")(3)
                Cells(RW, "H") = Split(Linie, ";")(29)
                RW = RW + 1
            Wend
            Close (1)
        Else
            MsgBox " pakkebatchnummer findes ikke"
        End If
    End If
End Sub



Det der volder problemer er denne linie.

Der der her hentes er nogle æsketyper.

Der er dog nogle få kunder hvor varen ikke pakkes i æsker og der er tekstfelt nr 28 tom

For disse kunder vil der i mit excelark stå BLK - 1 somer koncepterne for denne kunde i felt F3 eller F4. Der er primært to hovetyper af vare. Det ene kører efter konceptet i F3 og Det andet efter konceptet i F4. Inden for hver hovedtype kan der være mange forskellige varer som ikke påvirker noget af det her.

Er der nogen der kan gennemskue havd jeg mener.

Der skal vel laves noget med at hvis der i felt f3 står BLK -1 så skal der kund fyldes data i Cells(RW, "A") ......

Eller andre ideer. Har ikke helt styr på det, tror jeg ;O)

LN
Avatar billede kabbak Professor
17. oktober 2006 - 08:14 #1
noget i denne stil

While Not EOF(1)
        Line Input #1, Linie
        If [F3] = "BLK - 1" Then
            Cells(RW, "A") = Val(Trim(Right(Split(Linie, ";")(10), (Len(Split(Linie, ";")(10)) - 4))))
        Else
            Cells(RW, "A") = Val(Trim(Right(Split(Linie, ";")(10), (Len(Split(Linie, ";")(10)) - 4))))
            Cells(RW, "C") = Mid(Split(Linie, ";")(28), 5, (Len(Split(Linie, ";")(28)) - 5))
            Cells(RW, "G") = Split(Linie, ";")(3)
            Cells(RW, "H") = Split(Linie, ";")(29)
            RW = RW + 1
        End If
    Wend
    Close (1)
Avatar billede spoi Nybegynder
17. oktober 2006 - 11:34 #2
med en lille tilrettelse virker det
Så giv et savr så får du point

tak for hjælpen

LN
Avatar billede kabbak Professor
17. oktober 2006 - 11:53 #3
et svar ;-))
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