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

Zoek kopier macro maken?

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

sdk

Gebruiker
Lid geworden
13 dec 2008
Berichten
18
Ik probeer aan een makro te komen om mij te helpen bij het verwerken van een grote berg data.

Nu heb ik wat rondgezocht en 2 geschikte voorbeelden gevonden, echter ik zou ze graag combineren.

http://excelvbamacro.com/how-to-find-row-position-of-a-particular-text/
http://excelvbamacro.com/getting-cell-references-with-input-box/

Wat ik wil bereiken is dat ik een datum kan invoeren, die vervolgens wordt gezocht in een lijst met datums. Het rij nummer dient vervolgens verwerkt te worden tot begin en eind datum (-240 en +10). Hierna moet ik deze waardes gebruiken om de data te selecteren tussen deze 2 punten en vervolgens te kopieren. Het plakken kan ik eventueel zelf wel.

Ik heb wat pogingen gedaan maar mijn kennis van VBA is niet goed genoeg om er uit te komen. Is er iemand die een beetje kan helpen?

Ik had het idee dat ik dit kan bereiken door
-de find row functie op te roepen via de copycell sub met als waarde een datum ingegeven door een inputbox
-de gereturnde variabele (ben niet onder welke naam die terug komt) te verwerken naar 2 nieuwe variabelen:
begin = output - 240
eind = output +10
- de selectie te herschrijven naar begin - eind

edit:

code voor alleen het zoeken resulteert niet in een waarde
Code:
Dim rng As Range
Dim blaat As Long

Set rng = Cells.Find(What:="6-4-2000", LookIn:=xlValues, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=True, SearchFormat:=False)

If Not rng Is Nothing Then
blaat = rng.Row
ActiveSheet.Range("E4").Formula = blaat

Else: MsgBox "Not Found"
Vreemd genoeg kan hij de waarde niet vinden terwijl ik die met control+f WEL kan vinden.
 
Laatst bewerkt:
Code:
Sub tst()
On Error Resume Next
    [E4] = Sheets("Blad1").Columns(1).Find(CDate(Application.InputBox("Datum invullen", , _
        Format(Date, "dd/mm/yyyy"), , , , , 1)), , xlValues, xlWhole).Row
End Sub
 
Code:
Sub tst()
On Error Resume Next
    [E4] = Sheets("Blad1").Columns(1).Find(CDate(Application.InputBox("Datum invullen", , _
        Format(Date, "dd/mm/yyyy"), , , , , 1)), , xlValues, xlWhole).Row
End Sub

Bedankt, dat ziet er beter uit dan mijn fix.

Mijn fix:

exceldate = Format(InputDate, "Short Date")

dan moet je erdus op gokken dat excel steeds zo staat afgesteld als default om ze intern op die manier op te slaan. Wat ook hielp was de variable As Date zetten btw.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan