Avatar billede familienriis Nybegynder
23. januar 2008 - 23:11 Der er 7 kommentarer og
1 løsning

slette 5 ciffer i kolonne A

Jeg har ca. 1000 linier i kolonne A

Tallene består altid af 5 cifre.
Det sidste er 99% af gangene "4"

Kan man få en makro til at slette det sidste ciffer i alle linierne, hvis det er et 4-tal

Hvis det 5 ciffer ikke er et 4 tal skal den komme med en msg box der fortæller hvilket tal det er galt med og den skal så spørge om hvilket tal der istedet skal stå. Herefter skal den lave en erstatning af tallet på alle de restrende linier.

F.eks.

10004  = 1000
10104  = 1010

10105  = spørg om hvad det skal være i stedet for. Her kan man evt. skrive 1011 i msg boxen. Herefter erstattes ALLE linier med 10105 med 1011.

Herefter skal makroen fortsætte, så der til sidst kun er 4 cifre i alle linier i kolonne A.
Avatar billede jkrons Professor
23. januar 2008 - 23:33 #1
Kan alle andre tal end fire forekomme som sidste ciffer, eller er der kun et, der afviger?
Avatar billede gider_ikke_mere Nybegynder
24. januar 2008 - 00:37 #2
Der er en lille bug, med at den spørger efter sidste tal 2 gange, men det er sengetid:

Sub test()
Dim Talrække, SLUT As Long, I As Long
ReDim Rettede(0)
SLUT = Range("A65536").End(xlUp).Row

Talrække = Range("A1:A" & SLUT)

For I = 1 To UBound(Talrække)
    If Right(Talrække(I, 1), 1) <> 4 Then
       
        Skip = False
        For Z = 1 To UBound(Rettede)
            If Right(Talrække(I, 1), 1) = Rettede(Z) And Rettede(Z) <> "" Then
                Skip = True
            End If
        Next
        If Skip = False Then
                GlValue = Talrække(I, 1)
                NyValue = InputBox("Indsæt erstatningstal for " & Talrække(I, 1), Title, Default)
                ReDim Preserve Rettede(UBound(Rettede) + 1)
                Rettede(UBound(Rettede)) = NyValue
            For Y = I To UBound(Talrække)
                If Talrække(Y, 1) = GlValue Then Talrække(Y, 1) = NyValue
            Next
        End If
    End If
    Next
Range("A1:A" & SLUT) = Talrække
End Sub
Avatar billede gider_ikke_mere Nybegynder
24. januar 2008 - 07:57 #3
Sub test()
Dim Talrække, SLUT As Long, I As Long
ReDim Rettede(0)
SLUT = Range("A65536").End(xlUp).Row

Talrække = Range("A1:A" & SLUT)

For I = 1 To UBound(Talrække)
    If Right(Talrække(I, 1), 1) <> 4 And Len(Talrække(I, 1)) = 5 Then
        Skip = False
        For Z = 1 To UBound(Rettede)
            If Right(Talrække(I, 1), 1) = Rettede(Z) And Rettede(Z) <> "" Then
                Skip = True
            End If
        Next
        If Skip = False Then
                GlValue = Talrække(I, 1)
                NyValue = InputBox("Indsæt erstatningstal for " & Talrække(I, 1), Title, Default)
                ReDim Preserve Rettede(UBound(Rettede) + 1)
                Rettede(UBound(Rettede)) = NyValue
            For Y = I To UBound(Talrække)
                If Talrække(Y, 1) = GlValue Then Talrække(Y, 1) = NyValue
            Next
        End If
    Else
        Talrække(I, 1) = Left(Talrække(I, 1), 4)
    End If
Next
Range("A1:A" & SLUT) = Talrække
End Sub
Avatar billede familienriis Nybegynder
24. januar 2008 - 08:44 #4
Den virker fortæffeligt.
Lige som jeg havde i tankerne....I første huk.

Jeg takker mange gange.

Har du et svar til mig.
Avatar billede familienriis Nybegynder
24. januar 2008 - 08:45 #5
Du er da vist ikke helt rusten i vba, som du skrev i det sidste spørgsmål du hjalp mig med. :-)
Avatar billede gider_ikke_mere Nybegynder
24. januar 2008 - 22:08 #6
Det tager simpelthen for lang tid at lave for mig, og jeg kan ikke huske syntaksen jeg skal bruge.
Avatar billede familienriis Nybegynder
24. januar 2008 - 22:20 #7
Ja, det kan jeg selvfølgelig ikke se, men det virker :-)
Avatar billede gider_ikke_mere Nybegynder
24. januar 2008 - 22:33 #8
Takker for point.

Måske er jeg for skeptisk, men når det skal tage over 1½ time for den kode, synes jeg det går for sløvt. En gang imellem hvis jeg starter på en kode samtidig som bak eller kabbak, er jeg ikke engang halvvejs, når de er færdige - og det er når jeg er skarp. Hatten af for det.
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