Locatie toeveogen aan bestaande macro

Status
Niet open voor verdere reacties.

1965Peter

Gebruiker
Lid geworden
20 jun 2016
Berichten
197
Hallo,

Tijd geleden heeft iemand deze macro voor mij gemaakt (Top), welke een selectie maakt en plakt op een ander tabblad.

Nu is het geval dat de selectie SafdA nu "fin" ook "fin A'dam" kan bevatten en deze moet dan ook meegenomen worden in de selectie en worden geplakt.

Ik heb al geprobeerd : SafdA = "fin" or "fin A'dam", maar dat ging helaas niet.

Wie kan me helpen.



Code:
Sub Confignrs_Plaatsen_fin()

    'Vullen configuratienrs Urenfacturatie
    Dim SoortA As String
    Dim SafdA As String
    Dim yA As Integer
    Dim iA As Integer
    
    SoortA = "Urenfacturatie"
    SafdA = "fin"
    
    yA = 21
    For iA = 6 To 300
        With Sheets("Basisgegevens")
            If .Cells(iA, 1) = SoortA And .Cells(iA, 4) = SafdA Then
                Sheets("fin").Cells(yA, 1) = .Cells(iA, 6)
                yA = yA + 1
            End If
        End With
    Next iA
End Sub
 
Waarom niet gewoon de autofilter of advancedfilter gebruiken ?
 
SnB, de gemaakte macro, misschien wel door jou gemaakt ooit :) werkt perfect, alleen de situatie heeft zich veranderd doordat er 2 locaties mogelijk kunnen zijn. Dus ik dacht als??? het mogelijk is om deze mee te geven is dit de makkelijkste oplossing. En een geheel andere met filters te maken valt niet binnen mijn beperkte kennis van vba helaas.
 
Doe het eens zo:
Code:
Sub Confignrs_Plaatsen_fin()

    [COLOR="#008000"]'Vullen configuratienrs Urenfacturatie[/COLOR]
    Dim SoortA As String
    Dim SafdA As String
    Dim yA As Integer
    Dim iA As Integer
    
    SoortA = "Urenfacturatie"
    SafdA = [COLOR="#FF0000"]"fin*"[/COLOR]
    
    yA = 21
    For iA = 6 To 300
        With Sheets("Blad1")
            If .Cells(iA, 1) = SoortA And .Cells(iA, 4) [COLOR="#FF0000"]Like[/COLOR] SafdA Then
                Sheets("fin").Cells(yA, 1) = .Cells(iA, 6)
                yA = yA + 1
            End If
        End With
    Next iA
End Sub
 
Die is zeker niet door mij gemaakt.
En autofilter en advancedfilter zijn gewoon onderdeel van Excel.
Daar is geen VBA voor nodig.

Mijn macro zou er zo uitgezien hebben:
Code:
Sub M_snb()
  With Sheet1
    .Cells(1, 20).Resize(, 2) = Application.Transpose(Array(.Cells(1), "fin"))
    .Cells(1).CurrentRegion.Columns(1).AdvancedFilter 2, .Cells(1, 20).Resize(2), Sheet2.Cells(1)
  End With
End Sub
 
Edmoor, Yess, dat werkt zoals verwacht. Super bedankt.
snb natuurlijk ook bedankt voor het meedenken.
 
Begrijp je nu ook hoe eenvoduig mijn macro aan te passen is ?
 
snb, ik heb nog wel even geprobeerd, maar loopt helaas vast, de optie van Edmoor werkte perfect, maar jij ook alle respect, heb al veel van jouw macro's lopen :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan