• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

mailinglijst maken met vert_zoeken

Status
Niet open voor verdere reacties.

ImagineThis

Gebruiker
Lid geworden
21 dec 2006
Berichten
8
Als totale beginner heb ik een vraag:

In het bijgevoegde bestandje heb ik op blad 1 een opsomming van bedrijven.
In kolom A staat of ze een mailing willen ontvangen of niet.
Bedrijven die dit wel willen moeten op tabblad 2 komen te staan.

Ik heb al verschillende berichten gelezen op dit forum maar ik begrijp de codes niet die ze gebruiken in de formules.

kan iemand mij helpen?

Thanx
 

Bijlagen

Laatst bewerkt:
Als het meerdere keren is, dan zou ik voor een kleine macro gaan. Anders een andere - simpelere - manier.
 
Het zijn 800 adressen (adressenbestand) en het worden er meer.

Ik koppel de gegevens van tabblad 2 aan een word document welke ik regelmatig mail of uitprint en verstuur.

Beantwoord dat je vraag?

Groet.
 
Dan zal een kleine macro iets beter zijn. Hopelijk straks nog, anders komt 'ie morgen.
 
Toch nog wat tijd gevonden ... :D

Hier is de code:

Code:
Sub mailing()
Dim rng As Range, lastRow As Long
Application.ScreenUpdating = False
lastRow = Range("B" & Rows.Count).End(xlUp).Row

With ActiveSheet
    If Not .AutoFilterMode Then
        .Range("A1").AutoFilter
        .Range("A1").AutoFilter Field:=1, Criteria1:="mailing"
    End If
End With

With ActiveSheet.AutoFilter.Range
    On Error Resume Next
        Set rng = .Offset(1).Resize(.Rows.Count - 1, 1).SpecialCells(xlCellTypeVisible)
    On Error GoTo 0
    If rng Is Nothing Then
        MsgBox "Geen rijen met ""mailing"" in de lijst."
    Else
        Sheets("mailing").Cells.Clear
        .Copy Sheets("mailing").Range("A1")
    End If
End With

ActiveSheet.AutoFilterMode = False
Range("A1").Select
Application.ScreenUpdating = True
End Sub

Ga naar VBA met Alt-F11. Dubbelklik op de naam van je bestand in de project verkenner. Doe dan Insert > Module. Plak de code die ik voor je geschreven heb. Doe opnieuw Alt-F11 om terug te keren naar Excel. Ga naar het tabblad Bedrijven. Doe vervolgens Alt-F8 en voer de macro uit (de naam is: mailing).

Een hele boterham, maar euh ... lukt het? :)

Wigi
 
Super, het werkt.

Kan het ook zo zijn dat je niet elke keer alt+F8 hoeft te gebruiken maar dat dit automatisch gebeurt bij het toevoegen van een adres op tabblad 1?
 
Kan het ook zo zijn dat je niet elke keer alt+F8 hoeft te gebruiken maar dat dit automatisch gebeurt bij het toevoegen van een adres op tabblad 1?

U vraagt, wij draaien :)

Delete eerst de module die je toevoegde daarstraks.

Zet deze code achter blad Bedrijven (dus geen aparte module, ook niet ThisWorkbook, en neem het juiste bestand).

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range, lastRow As Long
    Application.ScreenUpdating = False
    If Target.Count > 1 Then Exit Sub
    If Target.Column <= 2 Then
        lastRow = Range("B" & Rows.Count).End(xlUp).Row
        With ActiveSheet
            If Not .AutoFilterMode Then
                .Range("A1").AutoFilter
                .Range("A1").AutoFilter Field:=1, Criteria1:="mailing"
            End If
        End With
        
        With ActiveSheet.AutoFilter.Range
            On Error Resume Next
                Set rng = .Offset(1).Resize(.Rows.Count - 1, 1).SpecialCells(xlCellTypeVisible)
            On Error GoTo 0
            If rng Is Nothing Then
                MsgBox "Geen rijen met ""mailing"" in de lijst."
            Else
                Sheets("mailing").Cells.Clear
                .Copy Sheets("mailing").Range("A1")
            End If
        End With
        
        ActiveSheet.AutoFilterMode = False
        Target.Select
        Application.ScreenUpdating = True
    End If
End Sub

De code wordt uitgevoerd als je "mailing" zet in kolom A, of een bedrijf in kolom B. Andere mogelijkheden kunnen ook.

Wigi
 
"zet deze code" , ik ben beginner, dus waar en hoe???

Sorry even te snel. Maar aangezien je het perfect deed met die nieuwe module, en dit simpeler is, dacht ik dat het wel zou gaan.

Wat je moet doen, is in VBA in de project verkenner dubbelklikken op je bestandsnaam. Dan dubbelklikken op "Bedrijven". In het witte scherm plak je de 2de code die ik voor je geschreven heb. Sluit VBA af.

Gaat het?

Wigi
 
SUUUUUUUUUPER

het werkt als een zonnetje.

Ik zal je verzoek op je site voor donatie opvolgen :)

Thanx en fijne feestdagen
 
SUUUUUUUUUPER

het werkt als een zonnetje.

Ik zal je verzoek op je site voor donatie opvolgen :)

Thanx en fijne feestdagen

Bedankt.

Bij nieuwe vragen, begin gewoon een nieuwe vraag en iemand springt wel in naar bestvermogen.

Ook voor jou een prettige jaarwisseling gewenst!

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan