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

In bestaande tabel met nummer van 20000 tot 30000

Status
Niet open voor verdere reacties.

flyertje007

Gebruiker
Lid geworden
22 jul 2011
Berichten
8
Geachte,

Ik heb een bestaande tabel waar nummers in staan van 20000 tot 30000, in de ander staat tekst met type.
Ik wil via een macro (knop op scherm) het volgende.
Nummer ingeven (voorbeeld 23865, en een datum)
Daarna wil ik dat er via een knop toevoegen het volgende gebeurt.
Hij gaat in kolom B zoeken waar nummer 23865 staat en automatisch moet hij de datum in kolom 3 zetten in de rij waar nummer 23865 staat.

Wie kan mij hier mee helpen.

met vriendelijke groet,
flyertje007
 
Test het eens flyertje.

Code:
Sub hsv()
Dim getal As Long, datum As Date, c As Range, n As Long
getal = Application.InputBox("Voer het zoekende getal in", "Als eerste:", "bv:23865", , , , , 1)
If getal = 0 Then Exit Sub
einde:
On Error Resume Next
If n > 1 Then
   MsgBox "Helaas is er niets weggeschreven", vbInformation
   Exit Sub
End If
 datum = Format(Application.InputBox("Vul een datum in", "Als tweede:", "bv: 31-07-2013"), "dd-mm-yyyy")
  If datum = "0:00:00" Then
    MsgBox "Voer een correcte datum in!" & vbLf & " (dd-mm-jjjj) ", vbCritical, "Foutief"
    n = n + 1
    GoTo einde
  End If
  On Error GoTo 0
Set c = Columns(2).Find(getal, , xlValues, xlWhole)
 If Not c Is Nothing Then
    c.Offset(, 1) = DateValue(datum)
  Else
    MsgBox "Nummer " & getal & " is Niet gevonden", vbExclamation, "Helaas"
 End If
End Sub
 
bedankt, daar kan ik al heel wat bij.
Nog 1 ding.
Mocht er reeds een datum in de cel staan dan zou ik graag foutmelding krijgen met melding "nummer reeds uitgeschreven".
Nu overschrijft hij de datum als deze er reeds instaat.

groet,
Koen
 
Laatste stukkie even aanpassen Koen.
Code:
Set c = Columns(2).Find(getal, , xlValues, xlWhole)
 If Not c Is Nothing And c.Offset(, 1) = "" Then
   c.Offset(, 1) = DateValue(datum)
 ElseIf Not c Is Nothing And c.Offset(, 1) > 0 Then
   MsgBox "Er staat al een datum bij " & getal
  Else
    MsgBox "Nummer " & getal & " is Niet gevonden", vbExclamation, "Helaas"
 End If
End Sub
 
Werkt perfect.

Zou het nog mogelijk zijn om naast de melding ook de datum te geven die er instaat.
voorbeeld melding 'volgende datum was reeds ingevuld bij dit nummer 14-05-2011'

Bedankt,
flyertje007
 
Mooi,

Weer het laatste stukje aanpassen.

Code:
On Error GoTo 0
Set c = Columns(2).Find(getal, , xlValues, xlWhole)
 If Not c Is Nothing And c.Offset(, 1) = "" Then
   c.Offset(, 1) = DateValue(datum)
 ElseIf Not c Is Nothing And c.Offset(, 1) > 0 Then
   MsgBox c.Offset(, 1).Value & " was reeds ingevuld bij nummer " & getal
  Else
    MsgBox "Nummer " & getal & " is Niet gevonden", vbExclamation, "Helaas"
 End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan