Dubbels verwijderen

Status
Niet open voor verdere reacties.

Solidwolf

Gebruiker
Lid geworden
27 apr 2009
Berichten
8
Sub DubbelsVerwijderen()
Range("A2:A32").Select
Range("A32").Activate
If MsgBox("Mag ik de oorspronkelijke gegevens verwijderen?", _
vbYesNo + vbDefaultButton2 + vbQuestion, "opschonen") = vbYes Then
Columns("A:A").Delete
End If
Range("A32").Activate
Range("A1:A21").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"B1:B21"), Unique:=True
Range("B2:B9").Select
Range("B9").Activate
Selection.Sort Key1:=Range("B9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

End Sub


ik ben een beginner met vba
hoe kan ik vba met een input box laten vrage naar waar ik die kolom wil copieren?
ipv meteen dit te doen ( Range("A1:A21").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"B1:B21"), Unique:=True )

Hoop dat iemand me hierbij kan helpe

groeten
 
Laatst bewerkt:
Solidwolf,

Waarom staat dit dubbel in de code?
Code:
Range("B2:B9").Select
Range("B9").Activate
Range("B2:B9").Select
Range("B9").Activate
hoe kan ik vba met een input box laten vrage naar waar ik die kolom wil copieren?
ipv meteen dit te doen ( Range("A1:A21").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"B1:B21"), Unique:=True )
Je kunt toch een Inputbox voor deze regel zetten en deze variable gebruiken om de plaats te bepalen waar je de gegevens wil hebben.
Of denk ik nu te simpel?
 
Solidwolf,

Waarom staat dit dubbel in de code?
Code:
Range("B2:B9").Select
Range("B9").Activate
Range("B2:B9").Select
Range("B9").Activate

Je kunt toch een Inputbox voor deze regel zetten en deze variable gebruiken om de plaats te bepalen waar je de gegevens wil hebben.
Of denk ik nu te simpel?

dat lukt me nu net niet om goed te doen , die dubbel heb ik er van tusse gehaalt
 
Ik heb er dit van gemaakt, alleen vraag ik me af waarom hij de gekopieerde gegevens niet plakt.
Code:
Sub DubbelsVerwijderen()
Dim message As String
Range("A2:A32").Select
Range("A32").Activate
If MsgBox("Mag ik de oorspronkelijke gegevens verwijderen?", _
vbYesNo + vbDefaultButton2 + vbQuestion, "opschonen") = vbYes Then
Columns("A:A").Delete
End If
Cel = InputBox(" Waar wilt u het hebben?")
Range("A1:A21").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range(Cel), Unique:=True
Range("B2:B9").Select
Range("B9").Activate
Selection.Sort Key1:=Range("B9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
Het is niet de perfecte code, men zegt steeds niet Select en Activate te gebruiken.
Misschien heb ik je een beetje geholpen (de goede richting op), ik ben maar een amateur.

De code laat ik dan lopen met F8 en kan dan zien waarmee de variable is gevult.
 
hij geeft een compileer fout bij deze , weet iemand waarom?

of hoe het juister kan

alvast bedankt voor de hulp
 
hij geeft een compileer fout bij deze , weet iemand waarom?
Bij mij geeft hij deze fout niet, ik gebruik Excel2007.
Je kunt volgens mij maar 1 cel invullen C3 en geen C3:C10 (dan geef hij bij mij ook een fout melding)
 
Solidwolf,

Ik moest even naar het ziekenhuis voor controle, vandaar dat ik zo laat reageer.
Zet dan boven in "Dim Cel as Range" ik denk dat dan de melding weg is.
Zonder de " maar dat wist je wel denk ik.
 
Solidwolf,

Ik moest even naar het ziekenhuis voor controle, vandaar dat ik zo laat reageer.
Zet dan boven in "Dim Cel as Range" ik denk dat dan de melding weg is.
Zonder de " maar dat wist je wel denk ik.

geen probleem , ben al lang blij dat je reageert

hij blijft die zelfde fout msg geven ok als ik string in range verander
 
Het moet in de declaratie (als ik het goed schrijft) zitten.
Je kunt ook boven aan de macro Option Explicit weg halen die zegt dat steeds zodat je niet vergeet om te declareren.
 
hij vraagt me nu wel idd met een box waar ik het wil hebbe

maar als ik dan daar een cel invul , copieert ie het niet

of ja , ie geeft wel aan waar het moet kome maar zet er geen getallen
 
Laatst bewerkt:
Dat probleem had ik ook al ondervonden.
Ik ben er niet mee verder gegaan, straks ga ik nog wel even puzzelen.
Misschien dat een ander die er meer verstand van heb de oplossing hier voor heb.
 
ik heb net opgemerkt , als ik de oorpspronkelijke gegevens op ' nee klik ' zodat ze blijve staan

copieerd ie ze ook mooi

mss moet ik een lijn op een andere plaats zette?
 
Solidwolf,

Probeer deze code eens.
Code:
Sub DubbelsVerwijderen()
    Range("A2:A32").Select
    Range("A32").Activate
    If MsgBox("Mag ik de oorspronkelijke gegevens verwijderen?", _
vbYesNo + vbDefaultButton2 + vbQuestion, "opschonen") = vbYes Then
    Columns("A:A").ClearContents
Exit Sub
ElseIf vbNo Then
    Cel = InputBox(" Waar wilt u het hebben?", "Plakkeuze")
    Range("A1:A21").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range(Cel), Unique:=True
    Range("B2:B9").Select
    Range("B9").Activate
Selection.Sort Key1:=Range("B9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan