Separatori di elenco

Anonimo
2015-10-02T16:51:57+00:00

Ciao a tutti,

il nuovo problema è questo.

Vorrei importare la mia rubrica telefonica di excell in Outlook e quindi salvo un file .csv che poi importo da Outlook, ma quando appare la mascherina con la Mappa dei campi, la parte a sinistra inizia con la prima riga della tabella tutta assieme, vale a dire:

cliente;indirizzo;cap;ecc..ecc. praticamente al primo campo riporta la riga delle intestazioni della tabella e li mette tutti in linea con il separatore ; mentre io vorrei la virgola e suppongo anche Outlook.

Come posso fare per salvarlo con il separatore virgola anzichè punto e virgola?

Grazie.

Tullio

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
2015-10-02T18:12:51+00:00

Ciao tullioniccoli,

Oltre al suggerimento di Mauro, per convertire un csv esistente in un file CSV con la virgola come separatore, prova qualcosa del genere:

  • Alt+F11 per aprire l'editor di VBA
  • Alt+IM per inserire un nuovo modulo di codice
  • Nel nuovo modulo vuoto, incolla il seguente codice:

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

Option Explicit

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

Public Sub ConvertireSeparatorePerCSV()

    Dim srcRng As Range

    Dim rRow As Range

    Dim rCell As Range

    Dim sStr As String

    Dim FName As Variant

    Const sSeparatoreVoluto As String = ","              '<<=== Modifica

    FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")

    If FName <> False Then

        If Selection.Cells.Count > 1 Then

            Set srcRng = Selection

        Else

            Set srcRng = ActiveSheet.UsedRange

        End If

        Open FName For Output As #1

        For Each rRow In srcRng.Rows

            sStr = ""

            For Each rCell In rRow.Cells

                sStr = sStr & """" & rCell.Value & """" & sSeparatoreVoluto

            Next

            While Right(sStr, 1) = sSeparatoreVoluto

                sStr = Left(sStr, Len(sStr) - 1)

            Wend

            Print #1, sStr

        Next

        Close #1

    End If

End Sub

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

  • Alt+Q per chiudere l'editor di VBA e tornare a Excel.
  • Alt+F8 per aprire  la finestra di gestione delle macro
  • Seleziona ConvertireSeparatorePerCSV | Esegui

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-10-06T08:12:39+00:00

    ok lo so è una risposta banale, ma è veloce, in genere funziona e non tocca le impostazioni di windows.

    Dopo che hai esportato il tuo csv da Excel, riaprilo in blocco note (clic col destro del mouse > Apri con > Blocco note) e li sostituisci in tutto il file il punto e virgola e con la virgola. La sostituzione è velocissima: scegli Modifica > Sostituisci.

    Adesso vado a nascondermi dietro la lavagna ;)

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-10-03T08:08:05+00:00

    Norman grazie,

    lo provo immediatamente.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-10-03T08:07:01+00:00

    Grazie Mauro,

    essenziale come sempre.

    Puoi indicarmi per favore il percorso per modificare le impostazioni ?

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-10-02T17:08:58+00:00

    Come posso fare per salvarlo con il separatore virgola anzichè punto e virgola?

    • Modifica in Windows il separatore di elenco, adattandolo a quello del file .csv.
    • Importa.
    • Ripristina il separatore di elenco.

    La risposta è stata utile?

    0 commenti Nessun commento