Wie o wie kan mij helpen?
Via een collega de vraag gekregen of er in Excel 2007 gezocht kan worden naar een bepaalde waarde waarna de volledige rij wordt verwijdert. Vol goede moed ben ik met mijn beperkte kennis van macro's begonnen om met behulp van het internet tot een oplossing te komen.
Ik heb de code vooralsnog werkend op 1 onderdeel na:
- Hij vraagt welke code ik zoek
- Vervolgens begint hij in het eerste blad te zoeken
- De gevonden code's worden gekleurd
- Er volgt een box of je de rijen wil verwijderen (OK/Cancel)
- Bij OK gaat hij verder naar het volgende blad waarna alles overnieuw gebeurt (volgens mij....)
Dan krijg ik wel weer de box met de vraag of ik de gevonden rijen wil verwijderen maar ik zou ook graag willen dat excel het betreffende blad laat zien. Hierbij ervan uitgaande dat je dan de selectie kan zien en kan beoordelen of ze in dit blad ook daadwerkelijk weg moeten.
Is dit mogelijk?
Daarnaast zou ik willen dat hij bij Cancel ook verder gaat naar het volgende blad i.p.v. de macro stopt.
Maar dan zou ik ook willen dat hij de kleur weer weghaalt voordat hij het nieuwe blad gaat bekijken.
Deze code heb ik momenteel bij elkaar gesprokkeld......
Het weergeven van het volgende blad lukt me dus niet en het weer weghalen van de kleuren ook niet bij Cancel. Ben al de hele dag bezig maar verder dan dit ben ik nog niet gekomen.
Via een collega de vraag gekregen of er in Excel 2007 gezocht kan worden naar een bepaalde waarde waarna de volledige rij wordt verwijdert. Vol goede moed ben ik met mijn beperkte kennis van macro's begonnen om met behulp van het internet tot een oplossing te komen.
Ik heb de code vooralsnog werkend op 1 onderdeel na:
- Hij vraagt welke code ik zoek
- Vervolgens begint hij in het eerste blad te zoeken
- De gevonden code's worden gekleurd
- Er volgt een box of je de rijen wil verwijderen (OK/Cancel)
- Bij OK gaat hij verder naar het volgende blad waarna alles overnieuw gebeurt (volgens mij....)
Dan krijg ik wel weer de box met de vraag of ik de gevonden rijen wil verwijderen maar ik zou ook graag willen dat excel het betreffende blad laat zien. Hierbij ervan uitgaande dat je dan de selectie kan zien en kan beoordelen of ze in dit blad ook daadwerkelijk weg moeten.
Is dit mogelijk?
Daarnaast zou ik willen dat hij bij Cancel ook verder gaat naar het volgende blad i.p.v. de macro stopt.
Maar dan zou ik ook willen dat hij de kleur weer weghaalt voordat hij het nieuwe blad gaat bekijken.
Deze code heb ik momenteel bij elkaar gesprokkeld......
Code:
Sub ZoekCode()
'deze wist de rijen met opgegeven waarde in opgegeven kolom
Dim MeVal As Variant
Dim rUnion As Range, resultaat As Range, FirstAddress As String
MeVal = InputBox("Welke code zoeken?", "Zoekwaarde opgeven", Code)
For I = 1 To ActiveWorkbook.Worksheets.Count '- 5
With Sheets(I).Cells
'Set resultaat = .Find(MeVal, lookat:=xlPart)
Set resultaat = .Find(MeVal, lookat:=xlWhole, MatchCase:=False)
If Not resultaat Is Nothing Then
FirstAddress = resultaat.Address
Set rUnion = resultaat
Do
ActiveSheet.Activate
Set rUnion = Union(rUnion, resultaat)
Set resultaat = .FindNext(resultaat)
Loop While Not resultaat Is Nothing And resultaat.Address <> FirstAddress
End If
End With
With rUnion.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.599993896298105
.PatternTintAndShade = 0
End With
Response = MsgBox("De volgende rijen zullen worden verwijderd : " & rUnion.EntireRow.Address, vbOKCancel)
If Response = vbCancel Then Exit Sub
'With rUnion.Interior
' .Pattern = xlNone
' .TintAndShade = 0
' .PatternTintAndShade = 0
'End With
If Response = vbOK Then
rUnion.EntireRow.Delete Shift:=xlUp
End If
Next I
End Sub
Het weergeven van het volgende blad lukt me dus niet en het weer weghalen van de kleuren ook niet bij Cancel. Ben al de hele dag bezig maar verder dan dit ben ik nog niet gekomen.