PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAFiltreringFiltrering
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2009-11-10 13:45
 

Hej jag använder mig av ett VBA för att söka ut vissa delar av ord eller siffror ur ett ark.

Nu är detta ark ganska långt ca: 200 rader, och det tar sin lilla tid att gå igenom detta varje gång jag söker.

Jag behöver inte söka igenom hela arker 2000 rader varje gång, utan jag vet ibland att jag bara behöver söka mellan rad 1-150, eller mellan rad 350-500 Kan man med nedanstående VBA lägga detta i koden, eller finns det något annat sätt att få snabbare träffar.

Jag har exempelvis enkolumn med postnummer, och vill söka alla träffar med 16 i postnummer, men jag vet att dessa förekommer endast

i rad 1-150.

I nedanstående exempel, så söker jag endast i kolumn E, men kan man även begränsa denna sökning i detta VBA till att bara söka i kolumn E1-E150? och hur skriver jag det.

 

Sub FiltreraRadervst()
    Dim Rad As Long
    Dim Rader As Long
    Dim NamnStr As String
    Dim c As Range
    Dim ws As Worksheet
    Dim VisaRad As Boolean
   
    NamnStr = InputBox("Visa rader innehållandes", "Filtrera")
    ActiveSheet.Rows.Hidden = False
    Set ws = ActiveSheet
    Rader = ws.Range("A1").SpecialCells(xlCellTypeLastCell).Row
    For Rad = 10 To Rader
        VisaRad = False
        For Each c In ws.Range("e" & Rad & ":e" & Rad)
            If InStr(1, LCase(c.Value), LCase(NamnStr)) <> 0 Then
                VisaRad = True
                Exit For
            End If
        Next c
        ws.Rows(Rad).Hidden = Not VisaRad
        Application.StatusBar = Rad
    Next Rad
    Application.StatusBar = False
End Sub

 

 

Nytt inlägg
 2009-11-12 18:34
 

Det räcker med att skriva

For Rad = 10 To 150

istället för

For Rad = 10 To Rader

om du vill söka igenom listan mellan rad 10 och 150.


################# Anna Degerman Rosén #################

Anna Degerman Rosén

Excelforum drivs av Excelspecialisten som bedriver utveckling av program, utbildning samt support och hjälp i Excel och VBA.

www.excelspecialisten.se

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAFiltreringFiltrering

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter