COPIARE LA DATA DIGITATA IN INPUT BOX IN UNA CELLA

Anonimo
2011-06-22T08:00:18+00:00

Buongiorno,

tramite VBA eseguo una estrazione di dati da una data all'altra.

Riporto una parte del codice:

Do Until IsDate(S1)

    S1 = InputBox("Data Iniziale")

    If S1 = "" Then Exit Sub

Loop

DataIni = CDate(S1)

Do Until IsDate(S2)

    S2 = InputBox("Data Finale")

    If S2 = "" Then Exit Sub

Loop

DataFin = CDate(S2)

Ho la necessità, dopo l'immissione della "Data Iniziale" e "Data Finale", di far ricopiare le due date in cella A1 (la data Iniziale) e in cella A2 (la data Finale).

Qual'è il relativo codice che deve essere integrato? E dove lo dovrò scrivere?

Grazie.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2011-06-22T14:36:23+00:00

Ciao Mauro, forse facevo bene a postare tutto il codice in modo che tu potessi valutarlo nel suo insieme.

<cut>

 

Quindi dovrei intercettare le date che inserisco nell'Input box e fargliele copiare in A1 e A2.

Ho provato ad estrapolare qualcosa del tuo codice ma non sono riuscito a farlo funzioare, Vedi se ti riesce di modificare questo codice.

Grazie.

Il mio codice fa quanto stai chiedendo, scrive in A1 e A2 del Foglio1 le date che inserisci nelle InputBox. Se modifichi Foglio1 con Foglio2 hai tutto quello che ti serve. Basta un:

Call m

dove vuoi che venga eseguita la macro m().

Il tuo codice non è chiaro, scusa.

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2011-06-22T16:52:57+00:00

Grazie per la collaborazione, sono riuscito ad utilizzare le tue istruzioni

Perfetto. Grazie per il cortese riscontro e buon lavoro.

La risposta è stata utile?

0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2011-06-22T16:49:41+00:00

    Grazie per la collaborazione, sono riuscito ad utilizzare le tue istruzioni

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2011-06-22T14:19:04+00:00

    Ciao Mauro, forse facevo bene a postare tutto il codice in modo che tu potessi valutarlo nel suo insieme.

    In pratica con questo codice provvedo ad estrarre da un elenco alcuni record in base ad una data iniziale ed una finale.

    La mia necessità è quella di riprendere le due date , iniziale e fianle e riportarle dall' input box nelle celle   A1   (DATA iNIZIALE)  e A2 (DATA FINALE) del foglio2.

    Ti posto l'intero codice:

    Do Until IsDate(S1)

        S1 = InputBox("Data Iniziale")

    If S1 = "" Then Exit Sub

    Loop

    DataIni = CDate(S1)

    Do Until IsDate(S2)

        S2 = InputBox("Data Finale")

        If S2 = "" Then Exit Sub

    Loop

    DataFin = CDate(S2)

    If Not IsEmpty(SourceRange(2, 1)) Then

        Set SourceRange = SourceRange.Resize _

        (SourceRange.End(xlDown).Row - SourceRange.Row + 1)

    End If

    If Not IsEmpty(TargetRange(2, 1)) Then

        Set TargetRange = TargetRange.Resize _

        (TargetRange.End(xlDown).Row - TargetRange.Row + 1)

    End If

    Range(TargetRange(2, 1), TargetRange.Offset(, NumCol)).ClearContents

    ' Filtro

    For Each i In SourceRange

        If DataIni <= i.Offset(, 1) And i.Offset(, 1) <= DataFin Then

            j = j + 1

            For k = 1 To NumCol

                TargetRange(j, k) = i(1, k)

            Next

        End If

    Next

    ' Ordinamento

    Range(TargetRange(1, 1), TargetRange(j, NumCol)).Sort _

        Key1:=TargetRange(1, SortCol), _

        Order1:=xlAscending, _

        Orientation:=xlSortColumns, _

        Header:=xlNo

    Quindi dovrei intercettare le date che inserisco nell'Input box e fargliele copiare in A1 e A2.

    Ho provato ad estrapolare qualcosa del tuo codice ma non sono riuscito a farlo funzioare, Vedi se ti riesce di modificare questo codice.

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2011-06-22T09:00:38+00:00

    Buongiorno,

    tramite VBA eseguo una estrazione di dati da una data all'altra.

    Riporto una parte del codice:

     

     

    Do Until IsDate(S1)

        S1 = InputBox("Data Iniziale")

        If S1 = "" Then Exit Sub

    Loop

    DataIni = CDate(S1)

    Do Until IsDate(S2)

        S2 = InputBox("Data Finale")

        If S2 = "" Then Exit Sub

    Loop

    DataFin = CDate(S2)

    Ho la necessità, dopo l'immissione della "Data Iniziale" e "Data Finale", di far ricopiare le due date in cella A1 (la data Iniziale) e in cella A2 (la data Finale).

    Qual'è il relativo codice che deve essere integrato? E dove lo dovrò scrivere?

    Grazie.

    Questa macro inserisce in A1 e A2 del Foglio1 le date iniziali e finali come richiesto dalle InputBox:

    Public Sub m()

    On Error GoTo RigaErrore

        Dim sh As Worksheet

        Dim dDataIniziale As Date

        Dim dDataFinale As Date

        With Application

            dDataIniziale = CDate(.InputBox("Inserire data iniziale nel formato: dd/mm/yyyy o d/m/yy"))

            dDataFinale = CDate(.InputBox("Inserire data finale nel formato: dd/mm/yyyy o d/m/yy"))

        End With

        Set sh = ThisWorkbook.Worksheets("Foglio1")

        With sh

            .Range("A1").Value = dDataIniziale

            .Range("A2").Value = dDataFinale

        End With

    RigaChiusura:

        Set sh = Nothing

        Exit Sub

    RigaErrore:

        MsgBox "Date uinserite in formato non valido."

        Resume RigaChiusura

    End Sub

    Non ho capito però cosa devi fare tu. Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento