CONVERTIRE STRINGA TESTO IN DATA

Anonimo
2017-08-11T06:23:46+00:00

salve a tutti

ho una serie di dati importati in foglio 1 - intervallo A1: A3. vorrei trasformarli in data "ordinabile" dal meno recente eliminando l'orario riportato in ogni cella.

chi può suggerirmi un codice che mi restituisca i dati di ogni cella nel formato "dd/mm/aa", senza l'orario?

di seguito indico i dati che importo da un database esterno

Foglio 1

A1 -

A2 04/08/17 - 17.35.47

A3 04/08/17 - 16.58.46

specifico che il formato della cella in cui i dati vengono importati è di tipo "generale"

grazie a tutti

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
2017-08-11T10:23:02+00:00

Ciao am.value,

ho una serie di dati importati in foglio 1 - intervallo A1: A3. vorrei trasformarli in data "ordinabile" dal meno recente eliminando l'orario riportato in ogni cella.

chi può suggerirmi un codice che mi restituisca i dati di ogni cella nel formato "dd/mm/aa", senza l'orario?

di seguito indico i dati che importo da un database esterno

Foglio 1

A1 -

A2 04/08/17 - 17.35.47

A3 04/08/17 - 16.58.46

specifico che il formato della cella in cui i dati vengono importati è di tipo "generale"

grazie a tutti

  • Seleziona le celle di interesse
  • Scheda Dati
  • Testo on colonne
  • Delimitato
  • Avanti
  • Seleziona l'opzione Altro e immetti un trattino -
  • Avanti
  • Per l'opzione Data imposta GMA

  • Per la seconda colonna, seleziona l'iopzione Non importare colonna

  • Fine

                  

===

Regards,

Norman

La risposta è stata utile?

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

Risposta accettata dall'autore della domanda

Anonimo
2017-08-12T09:22:41+00:00

Ciao am.value,

grazie mille Norman. semplice ed efficace. scriverò una macro seguendo le tue istruzioni. 

Ti ringrazio per il cortese riscontro.

Per effettuare un'operazione analoga con VBA, prova qualcosa del genere:

'=========>>

Option Explicit

'--------->>

Public Sub Tester()

    Dim WB As Workbook

    Dim SH As Worksheet

    Dim Rng As Range

    Dim arrIn As Variant

    Dim LRow As Long, i As Long

    Const sFoglio As String = "Foglio1"             '<<=== Modifica

    Set WB = ThisWorkbook

    Set SH = WB.Sheets(sFoglio)

    With SH

        LRow = LastRow(SH, .Columns("A:A"))

        Set Rng = .Range("A2:A" & LRow)

    End With

    arrIn = Rng.Value

    For i = 1 To UBound(arrIn)

        arrIn(i, 1) = CDate(Split(arrIn(i, 1), " - ")(0))

    Next i

    Rng.Value = arrIn

End Sub

'--------->>

Public Function LastRow(SH As Worksheet, _

                        Optional Rng As Range, _

                        Optional minRow As Long = 1)

    If Rng Is Nothing Then

        Set Rng = SH.Cells

    End If

    On Error Resume Next

    LastRow = Rng.Find(What:="*", _

                       after:=Rng.Cells(1), _

                       Lookat:=xlPart, _

                       LookIn:=xlFormulas, _

                       SearchOrder:=xlByRows, _

                       SearchDirection:=xlPrevious, _

                       MatchCase:=False).Row

    On Error GoTo 0

    If LastRow < minRow Then

        LastRow = minRow

    End If

End Function

'<<=========

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2017-08-12T07:24:10+00:00

    grazie mille Norman. semplice ed efficace. scriverò una macro seguendo le tue istruzioni.

    La risposta è stata utile?

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