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

Macro Waardenplakken.

Status
Niet open voor verdere reacties.

inMilu

Gebruiker
Lid geworden
5 dec 2013
Berichten
35
Beste gebruikers,

Ik ben bezig met een sheet waarin ik een automatische nummer opvolging wil maken. Het betreft het aanmaken van nummers voor artikelen om later in te brengen in het systeem.

Wat ik wil bereiken a.d.h.v. een voorbeeld:

In Tab1 is mijn voorblad, waar ik het formulier voor het nummer invoer ( aanvrager, nummer, leverancier prijs etc. ). Op D4 wordt het nummer ingevuld, en D5 de leverancier code.. Dit laat ik nu gebeuren met een Vlookup vanuit Tab2. In Tab2 staan alle leveranciers op leverancier nummer (KolomA) en het laatst gebruikte nummer (KolomB).

Bij het ophalen van het nieuwste nummer gebruik ik nu dus: =ALS.FOUT(VERT.ZOEKEN(D5;Tab2!A2:B3;2;0)+1;""). Op deze manier heb ik het laatst gebruikte nummer, plus 1, dus nieuwe nummer.

Op het voorblad heb ik ook een knop toegevoegd met daarin de macro om het formulier te printen. Nu zou ik graag aan die macro willen toevoegen dat de waarde van de Vlookup in D4, als waarde geplakt wordt in Tab2 bij de juiste leverancier. Op deze manier heb ik dus meteen weer het opvolgende nummer.

Kan iemand mij hiermee helpen?

B.v.d.

inMilu
 
Ik weet niet of je dat zo moet doen; de waarde in de cel Nummer wordt dan namelijk ook gelijk met 1 verhoogd vanwege de Lookup. En bij elke printopdracht die je geeft, gaat ie nog een keer verder omhoog. Is niet erg bedrijfszeker, lijkt mij.
 
Nee daar had ik ook al over nagedacht, maar dat kan eventueel in een andere knop verwerkt worden. Dat ik een Printknop heb, die het huidige formulier print, en een knop die de waarde overzet. Ik heb ook een aparte knop voor het wissen van het formulier, zodat je meteen een nieuwe kunt maken,
 
Maar het kan natuurlijk wel:
Code:
    Sheets("Blad2").Range("A2").Value = ActiveSheet.Range("D4").Value
Moet je alleen nog even het adres van de juiste cel achterhalen ;)
 
Ik vrees dat ik dat niet helemaal begrijp.

Stel dat mijn voorblad er zo uit ziet:

A1: Datum: B1: 5-12-2013
A2: Aanvrager: B2: Karel
A3: Leverancier: B3: 313
A4: Nummer: B4: 1050001 ( Opgehaald uit tab 2 )

Stel dat mijn Tab2 er zo uitziet:
A1 313 B1: 1050000
A2 413 B2: 1060000
A3 513 B3: 1070000
A5 613 B4: 1080000
A5 713 B5: 1090000

Wanneer ik nu dus op de Knop zou drukken, wil ik graag dat de waarde van Voorblad:B4 overgezet wordt naar Tab2:B1.
Maar wanneer ik een andere leverancier gebruik, dit automatisch bij de juiste wordt bijgezet in Tab2.

Ben helaas helemaal nieuwe met macro's, dus indien mogelijk een wat duidelijkere uitleg.

B.v.d.

inMilu
 
Toevoeging:

Als ik maar 1 leverancier zou hebben zou onderstaande code voldoen. Maar de Range in TAB2 (nu B1 ) moet bepaald worden door het nummer dat gegeven is bij TAB1-B3 ( Deze zal dan overeenkomen met een nummer uit TAB2-AKolom, en aan de hand daarvan weet hij ook in welke cel in Kolom B hij het nieuwe nummer moet plakken). Anders komen ze allemaal bij dezelfde leverancier te staan, en dat willen we niet haha!

Sub Macro1()


Range("B4").Select
Selection.Copy
Sheets("TAB2").Select
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

B.v.d.

inMilu
 
Laatst bewerkt:
Jullie zijn allemaal bedankt voor de moeite maar er is al een antwoord gegeven op het andere forum.
Daar melding van maken is de moeite niet waard.
 
Heb inderdaad het antwoord gevonden. Bedankt.

Waarom is het trouwens zo'n probleem om op meerdere plekken om hulp te vragen. Dat kan geen kwaad toch..
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan