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

VBA gegevens kopieren uit ander bestand

Status
Niet open voor verdere reacties.

jdel

Gebruiker
Lid geworden
24 okt 2011
Berichten
19
Goedemiddag,

Even een korte uitleg:

Ik ben wat aan het stoeien met VBA en ik ben wat aan het proberen met ons artikelbestand.

We hebben een database met artikelen, en daar willen we wat mee rekenen.
Uit deze database kunnen we een excel-bestand (met de naam Artikelbestand.xlsx) exporteren met alle gegevens. Zeg maar kolom A=artikelnummer, kolom B=artikelomschrijving, kolom C=prijs.

Nu zou ik graag hiervan in een nieuw document alle artikelen met een artikelnummer van 9 cijfers willen hebben staan, met daarnaast in een kolom de artikelomschrijving en in een kolom daarnaast de prijs.

Deze prijs zou ik dan bijv. automatisch willen vermeningvuldigen met een waarde die bijv. in cel E9 staat.

Hoe programmeer ik zoiets in VBA?

Alvast bedankt!

Mvg, Jeroen
 
jdel,

Je weet misschien al, dat je beter geholpen word, met een voorbeeld bestandje. (zonder gevoelige info)

Je kan natuurlijk ook de macroreorder gebruiken.
Deze neemt de handelingen op en schrijft de code voor je.
 
Laatst bewerkt:
Een voorbeeldje is een beetje lastig, dus heb het zo goed mogelijk proberen te omschrijven.
Werkt de macrorecorder ook bij meerdere bestanden?
En werkt de code dan ook als dat andere bestand gesloten is?
 
Dat had ik al bekeken uiteraard.

Wat ik vraag is om een stukje VBA wat de cellen in kolom A van bron.xls afgaat waar overal een getal van 9 cijfers instaat (van cel 1 t/m 20000) en deze plakt in kolom A van doel.xls

En dan een stukje VBA wat van alle cellen met waarde in kolom A van doel.xls bijv. vermeningvuldigt met cel E6 in doel.xls en dit wegschrijft naar kolom B.

Is dit zo duidelijker misschien? Of zeg ik het nog steeds verkeerd?
 
Hier kan je al mee starten.
Het kopieërt alle waarden met lengte 9 naar blad2 (met omschrijving en prijs) en vermenigvuldigt dan de prijzen in kolom C met de waarde in E1 van Blad2
Code:
Sub tst()
    With Sheets("Blad1")
    For Each cl In .Range(.Range("A1"), .Range("A" & Range("A" & Rows.Count).End(xlUp).Row))
        If Len(cl) = 9 Then cl.Resize(, 3).Copy Sheets("Blad2").Range("A1048576").End(xlUp).Offset(1)
    Next
    End With
    With Sheets("Blad2")
        .Range("E1").Copy
        .Range(.Range("C2"), .Range("C" & .Range("C" & Rows.Count).End(xlUp).Row)).PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply
    End With
    Application.CutCopyMode = False
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan