• 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.

Countif geeft eerste waarde dubbel

Status
Niet open voor verdere reacties.

Bjorkie

Gebruiker
Lid geworden
12 sep 2017
Berichten
147
In bijlage mijn sample. op sheet 2 is het.
ik heb in colom 2 een lijst met artikels.
In kolom I will ik een samenvatting met de aantallen ervan.
dus, ik gebruik volgende code:
Code:
Sub Create_Summary_List_Cameras()
'
' Create_Summary_List_Cameras Macro
'generate list on sheet 'Camera List'
    Range("C4:C515").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "I4"), Unique:=True
End Sub

nu heb ik 2 problemen.
1. de eerste waarde geeft hij steeds 2maal, hoe komt dit? wat kan ik er aan doen?
2. ik zou deze samenvatting graag op mijn laatste pagina bekomen (Equipment list), kan dit?

Bekijk bijlage camera oefening v2.xlsm

picture 1.JPG
 
Bij je eerste vraag zie ik nog niet direct wat er fout gaat, maar we gaan eens kijken.

Je tweede probleem:

Code:
Sub Macro2()
    Range("I4:I515").Copy
    Sheets("Equipment list").Select
    Range("A10").Select
    ActiveSheet.Paste
End Sub

Groet, Jan
 
ok,
ik wil eigenlijk alleen de waarden hebben, niet de formules.
verander ik dan de code in:
Code:
Sub Macro2()
    Range("I4:I515").Copy
    Sheets("Equipment list").Select
    Range("A10").Select
    ActiveSheet.[COLOR="#FF0000"]PasteSpecial Paste:=xlPasteValues[/COLOR]
End Sub
 
Laatst bewerkt:
Hoeft niet. Met ActiveSheet.Paste krijg je alleen de waarden, geen formules. Test maar
 
De range omzetten van formules naar waarden:
Code:
Sub Macro2()
    Range("I4:I515").Value = Range("I4:I515").Value
End Sub
 
Had volgende mogelijkheid ook gevonden.

Code:
Sub PasteSpecial_ValuesOnly()
'PURPOSE: How To Paste Values Only With PasteSpecial
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault
'Copy A Range of Data
  Worksheets("Camera List").Range("I4:J30").Copy
'PasteSpecial Values Only
  Worksheets("Equipment List").Range("A14").PasteSpecial Paste:=xlPasteValues
'Clear Clipboard (removes "marching ants" around your original data set)
  Application.CutCopyMode = False
  
End Sub
deze doet het ook prima.

bedankt alvast voor jullie hulp.
nog even en ik begin er iets van te snappen van VBA :)
 
Hoi,

Deze code is voldoende om de waarden van Camera List naar Equipment List:

Code:
Sub Macro1()
    Range("I4:I515").Copy
    Sheets("Equipment List").Range("A14").PasteSpecial Paste:=xlPasteValues
End Sub
 
Met deze code bewerkstellig je wat je wilt:

Code:
Sub UniqueList_A()
    Range("I3", Range("I65536").End(xlUp)).ClearContents
    Range("C3", Range("C65536").End(xlUp)).AdvancedFilter _
        Action:=xlFilterCopy, CopyToRange:=[I3], Unique:=True
    [I3] = "Summary List"
    
    Range("I4:I515").Copy
    Sheets("Equipment List").Range("A14").PasteSpecial Paste:=xlPasteValues
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan