Opgelost Inputbox om selectie laten vragen

Dit topic is als opgelost gemarkeerd

KeBr

Gebruiker
Lid geworden
25 apr 2016
Berichten
164
Beste,

Onderstaande code heb ik om een x aantal dagen bij een datum op te tellen of ervan af te halen.
Deze werkt goed. Echter zou ik willen dat de msgbox eerst vraagt om een selectie te maken in kolom D

Code:
Sub Startdatum_aanpassen()

Dim SelectedRange As Range

Set SelectedRange = Selection

    AddDays = InputBox("geef het aantal dagen op dat bij de datum moet worden opgeteld...", "Add Days to Date")

For Each cell In SelectedRange

    If IsDate(cell.Value) Then
        cell.Offset(0, 0).Value = DateAdd("d", AddDays, cell.Value)
    Else
        Exit Sub
    End If
Next cell

End Sub
 

Bijlagen

  • Map1.xlsm
    15,6 KB · Weergaven: 1
Maak gebruik van "Application.Inputbox", dan alleen maar "Inputbox".
In de parameter → 'type' geef je een 8 in zodat je alleen een range kan invullen.
 
Beste HSV,

Ik heb de genoemde wijzigingen aangebracht. Dit werkt niet. Krijg wel de vraag om cellen te selecteren. maar vervolgens geen vraag hoeveel er toegevoegd moet worden.
Code:
Sub Startdatum_aanpassen()

Dim SelectedRange As Range

Set SelectedRange = Selection

    AddDays = Application.InputBox("selecteer cellen om datum aan te passen", "Add Days to Date", , , , , , 8)

For Each cell In SelectedRange

    If IsDate(cell.Value) Then
        cell.Offset(0, 0).Value = DateAdd("d", AddDays, cell.Value)
    Else
        Exit Sub
    End If
Next cell

End Sub
 
Je wilt 2 dingen weten, dan zal je 2 vragen moeten stellen.
 
Ik heb het intussen opgelost, bedankt voor het meedenken.
Code:
Sub Startdatum_aanpassen()

Dim SelectedRange As Range


Set SelectedRange = Application.InputBox("selecteer cellen", Type:=8)

    AddDays = Application.InputBox("geef het aantal dagen op dat bij de datum moet worden opgeteld...", "Add Days to Date")
    
For Each cell In SelectedRange

    If IsDate(cell.Value) Then
        cell.Offset(0, 0).Value = DateAdd("d", AddDays, cell.Value)
    Else
        Exit Sub
    End If
Next cell

End Sub
 
En geef bij addDays type:= 1 in, zodat het alleen getallen mogen zijn.

En cell.value is gelijk aan cell.offset(0,0).value.
Met andere woorden; offset(0,0) doet niets.
 
Bedankt voor de aanvulling. Ik ga dit aanpassen.
 
Terug
Bovenaan Onderaan