[Excel] Macro, waarde zoeken, gedeelte rij verwijderen

Pagina: 1
Acties:

  • cdl
  • Registratie: Mei 2003
  • Laatst online: 24-02 15:26
Ik ben bezig met een klantendatabase. Op elke rij, tussen de klommen C en J staan de klantgegevens, met in kolom C de klantID (deze is uniek). Nou wil ik dmv een macro klanten kunnen verwijderen. Daarbij moeten de volgende checks gedaan worden:

1) Klanten lopen van rij 8 t/m ... Wat is de laatste rij met klantgegevens?
2) Binnen dit bereik moet gezocht worden naar een klantID. De zoekwaarde vul ik in in cell 'O22'. Dan moet er gezocht worden in kolom C naar deze waarde
3) De betreffende rij die deze waarde bevat, daarbij moet cell B t/m K verwijderd worden en heel de boel moet omhoog schuiven.
4) Als de zoekwaarde niet gevonden wordt, een melding laten zien dat de zoekwaarde niet aanwezig is.

Op Google al een hoop dingen gezien en uitgeprobeerd, ook hier op GoT gezocht, maar ik kom er niet uit. Ik hoop dat iemand me kan helpen?

Dat zeg ik!


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Zonder een regel macro code wordt het toch al heel erg lastig om je op weg te helpen.

Heb je al geprobeerd je acties handmatig uit te voeren terwijl je een macro opneemt. Wat voor code levert dat op en in hoeverre ben je in staat dat generiek te maken zodat het toepasbaar is voor meerdere klanten

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • cdl
  • Registratie: Mei 2003
  • Laatst online: 24-02 15:26
BtM909 schreef op vrijdag 08 februari 2008 @ 14:42:
Zonder een regel macro code wordt het toch al heel erg lastig om je op weg te helpen.

Heb je al geprobeerd je acties handmatig uit te voeren terwijl je een macro opneemt. Wat voor code levert dat op en in hoeverre ben je in staat dat generiek te maken zodat het toepasbaar is voor meerdere klanten
Excuus, zonder macro schiet het idd niet op. Ik ben inmiddels iets verder. Dit is wat ik nu heb:

code:
1
2
3
4
5
6
7
8
SearchValue = Range("O22").Value
Set Rng = Range("C1").SpecialCells(xlCellTypeLastCell)
LastRow = [C:C].Find(What:="*", After:=[C1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For i = LastRow To 8 Step -1
    If Cells(i, "C").Value = SearchValue Then
        Cells(i, "C").EntireRow.Select
    End If
Next i


Er wordt netjes gekeken wat de laatste rij (LastRow) is die een waarde bevat. Binnen het bereik LastRow en rij 8 wordt er gezocht naar de waarde. Dit doet ie ook goed. Als er wat gevonden wordt, dan selecteert ie de hele rij. Graag wil ik dit veranderen dat ie de kolommen B t/m K van de gevonden rij selecteert. Ik weet niet hoe dat moet.

Dat zeg ik!


  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 14:08

NielsNL

DigiCow

Neem een macro op, selecteer daarin de gewenste kolomen, en kijk hoe dat er uit ziet...
edit zo dus:
code:
1
2
Range("C7,F7,H7").Select
Selection.ClearContents

[ Voor 30% gewijzigd door NielsNL op 08-02-2008 15:43 ]

M'n Oma is een site aan het haken.


  • cdl
  • Registratie: Mei 2003
  • Laatst online: 24-02 15:26
Het is inmiddels gelukt! Dit is de code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
SearchValue = Range("O22").Value
Set Rng = Range("C1").SpecialCells(xlCellTypeLastCell)
LastRow = [C:C].Find(What:="*", After:=[C1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For i = LastRow To 8 Step -1
    If Cells(i, "C").Value = SearchValue Then
        Range(Cells(i, "B"), Cells(i, "K")).Select
        Selection.Delete Shift:=xlUp
        SearchFound = 1
    End If
Next i
If Not SearchFound = 1 Then
    MsgBox "Klant niet gevonden!"
End If

Dat zeg ik!