• 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 vervangen waarden

  • Onderwerp starter Onderwerp starter nuki
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

nuki

Gebruiker
Lid geworden
17 jun 2009
Berichten
12
Hallo,

Waarschijnlijk zeer makkelijk, maar vinden doe ik het zelf momenteel niet. Daarom zou ik graag weer jullie hulp vragen voor het volgende.:o

Ik heb een sheet met informatie in de kolommen A tot en met N. Mijn probleem situeert zich in kolom F en G. In kolom F staat een nummer en kolom G de omschrijving. Door een bug in het informaticasysteem ontbreekt soms de informatie in kolom F en G en zet het systeem "UNKNWN" in kolom F en "Unknown vendor" in kolom G. De informatie is echter op dezelfde sheet terug te vinden (meestal in de rij erboven). Het probleem is echter dat dit niet altijd het geval is, waardoor de macro die ik momenteel heb niet correct werkt (zie hieronder). Ik vraag me ook af of het misschien op een andere manier nog makkelijker zou kunnen; bijvoorbeeld indien "UNKNWN" dan zoeken in de sheet of er nog andere rijen zijn met de zelfde waarde in kolom A en B en indien dit het geval is de waarde van kolom F en G van die betreffende rij in de rij met UNKNWN plakken? In kolom A staat een tekst en kolom een nummer. Indien de waarde niet op de sheet staat, dan een messagebox die vraagt de informatie zelf in te vullen?

Dit is de macro die ik momenteel heb geschreven:

Sub test()


Columns("F:F").Replace _
What:="UNKNWN", Replacement:="", _
SearchOrder:=xlByColumns, MatchCase:=True

Columns("G:G").Replace _
What:="Unknown vendor", Replacement:="", _
SearchOrder:=xlByColumns, MatchCase:=True


Columns("F:F").Select
Dim Area As Range, LastRow As Long
On Error Resume Next
LastRow = Cells.Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, _
LookIn:=xlFormulas).Row
For Each Area In ActiveCell.EntireColumn(1).Resize(LastRow). _
SpecialCells(xlCellTypeBlanks).Areas
Area.Value = Area(1).Offset(-1).Value
Next



Columns("G:G").Select

LastRow = Cells.Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, _
LookIn:=xlFormulas).Row
For Each Area In ActiveCell.EntireColumn(1).Resize(LastRow). _
SpecialCells(xlCellTypeBlanks).Areas
Area.Value = Area(1).Offset(-1).Value
Next

End Sub

Alvast bedankt.

Nuki
 
Waarom de rij waar UNKNWN in staat niet gewoon verwijderen omdat je aangeeft dat er toch al een rij met de goede waarde ?
 
Dat zou inderdaad makkelijker zijn, maar jammer genoeg is niet de hele rij hetzelfde: alleen kolom A, B, F en G kunnen dezelfde waarden hebben, de andere kolommen hebben altijd een andere waarde.

Nuki
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan