Print side | Luk vindue

Left(Application.VLookup(C, InitialRange, 19, Fals

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=3447
Udskrevet den: 27.Nov.2024 kl. 08:45


Emne: Left(Application.VLookup(C, InitialRange, 19, Fals
Besked fra: fiajakt
Emne: Left(Application.VLookup(C, InitialRange, 19, Fals
Posteringsdato: 17.Apr.2018 kl. 19:47
Hej.

Min kode virker når det er tal, men ikke når det er tekst.

Jeg ønsker at de første tre bogstaver bliver returneret.

Er det nogen som kender en løsning?

Sub test()

Dim AntalO As Integer
Dim AntalM As Integer
Dim res As String 
Dim CountryRange As Range, InitialRange As Range, C As Range

AntalO = Worksheets("ark1").Cells(2, 4).Value    
AntalM = Worksheets("ark1").Cells(4, 4).Value   

Set CountryRange = Sheets("Hoved").Range(Cells(2, 6), Cells(AntalM, 6))    
Set InitialRange = Sheets("ordre").Range("A1:R50000")     

For Each C In CountryRange    
    res = Left(Application.VLookup(C, InitialRange, 19, False), 3)    

    If Not IsError(res) Then   
        C.Offset(0, -1).Value = res
    End If

Next C

End Sub



Print side | Luk vindue