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

Status
Niet open voor verdere reacties.

Bertus78

Gebruiker
Lid geworden
17 aug 2017
Berichten
209
Wie kan mij even helpen.


Ik ben opzoek naar een vba code voor excel.
Ik vul een zoekopdracht in een sheet (in dit geval een nummer)
In een andere sheet staan onder A nummers, daarachter staat tekst in diverse kolommen t/m F

Ik wil dat hij mijn ingevoerde nummer (sheet 1) in een andere sheet 2 opzoekt in kolom A
Zodra die is gevonden bv. in rij 12, dan moet hij in kolom F een woord veranderen in DEFECT.

msexcel 2010

Ik ben nog een beginner in VBA code's
 
Zonder het bestand te hebben gezien, zou het zoiets kunnen worden.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
 If Not IsError(Application.Match(Target, Sheets(2).Columns(1), 0)) Then Target.Offset(, 6) = "DEFECT"
End If
End Sub
Plaatsen in bladmodule sheets(1).
 
Bekijk bijlage Automaten 1.xlsm

Als ik het goed heb gedaan staat het document erbij.
Hopelijk wordt het duidelijk zo.

In de sheet "koffieautomaten" wil ik dat hij zoekt in Kolom A wat ik in de eerste sheet heb opgegeven bij automaat nummer.
Daarna wil ik dat de storing daarachter vermeld wordt als "defect"
 
Laatst bewerkt:
In bladmodule; Let op: "storring melden".

Als je geen samengevoegde cellen had zou ik het anders schrijven.
Dus...., vermijd samengevoegde cellen anders kom je vroeg of laat toch in de problemen met Vba.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" Then
 Application.EnableEvents = False
  Range("B11") = ""
 If Not IsError(Application.Match(Target, Sheets("koffieautomaten").Columns(1), 0)) Then Target.Offset(6) = "DEFECT"
 Application.EnableEvents = True
End If
End Sub
 
Nu krijg ik steeds een foutmelding "sub end verwacht"
er schijnt iets boven te moeten.
 
Hier geen foutmeldingen hoor.
 

Bijlagen

Inderdaad, daar werkt hij.

Erg bedankt voor het mee denken.

Echter wil ik hem onder de knop "1e lijn" hebben, als ik kopieer en plak krijg ik die foutmelding.
tevens komt het woord "defect" in de zelfde sheet, maar hij moet naar sheet "koffieautomaten"

Gr. Bertus
 
In welk kolom moet "defect" komen; Kolom F is al bezet.
 
Volgens je bestand staat daar 'opdrachtgever' en in kolom G 'werkt'.
 
Hang onderstaande code aan de knop.
Code:
Sub defect()
Dim gev
With Sheets("koffieautomaten")
 gev = Application.Match(.Range("B5"), .Columns(1), 0)
  If Not IsError(gev) Then .Cells(gev, 7) = "Defect"
 End With
End Sub
 
ik ga lastig worden.
Krijg weer een fout melding, ik wil laten zien wat ik doe, maar hoe krijg ik hier de code in.
 
HTML:
'selecteer de database
    Sheets("Doorbellen").Select
    Range("B13").Select
    ActiveCell.Offset(1, 0).Select


Sub defect()
Dim gev
With Sheets("koffieautomaten")
 gev = Application.Match(.Range("B5"), .Columns(1), 0)
  If Not IsError(gev) Then .Cells(gev, 7) = "Defect"
 End With
End Sub


MsgBox ("Storing doorbellen !!!")
 
gelukt........

Je ziet dat ik erboven al opdrachten in heb staan.
Ik blak uw tekst er tussen maar dan krijg ik dat er een melding "end sub"
 
Verwijder regel 7 en 13.
 
ja hij gaat nu weer door.

maar ......
:shocked:

Het zal wel aan mij liggen maar werkt niet.

Maar ik mis ook sheet "storing melden"
Daar moet hij zijn informatie vandaan hebben.
Op sheet "koffieautomaat" veranderd niets

Sorry hoor..... dat ik je hiermee lastig val
 
Dat was mijn fout door alle veranderingen.
Code:
Dim gev
With Sheets("koffieautomaten")
 gev = Application.Match([COLOR=#ff0000]Sheets("storing melden")[/COLOR].Range("B5"), .Columns(1), 0)
  If Not IsError(gev) Then .Cells(gev, 7) = "Defect"
 End With
 
YES YES YES,


HET WERKT,
ik ben hier al de gehele dag mee bezig.

Echt bedankt. SUPER
Ben er erg blij mee.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan