elenco a discesa da file diverso

Anonimo
2011-11-11T16:00:42+00:00

Buonasera

vorrei creare una finestra che si apra con un click in una determinata cella. la finestra dovrà contenere un elenco di frasi presente in un altro file.  scelgo la frase dall'elenco e questa viene inserita nella cella da cui ho aperto la finestra.

prima di crearla vorrei sapere se questo tipo di "collegamenti" tra file hanno dei limiti ad esempio: se i 2 file devono stare nella stessa cartella per funzionare. oppure mettiamo il caso che io ho selezionato una frase, questa è stata inserita nella cella, salvo e chiudo. poi devo inviare il file per email. se non invio il file contenente l'elenco, ovviamente non potò usare la finestra creata, ma le frasi che ho scelto in precedenza prima del salvataggio rimangono nella cella o no ?

grazie a tutti in anticipo!

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-11-17T08:37:14+00:00

se cancello con canc. 

se elimino la riga tutto ok

Ultimo tentativo(ripeto, non riesco a priprodurre il problema). Modifica così la solita parte:

RigaErrore:

    If Err.Number = -2147352571 Then

        With Me.ComboBox1

            .RemoveItem .ListCount - 1

        End With

        Resume RigaChiusura

    Else

        MsgBox Err.Number & vbNewLine & Err.Description

        Resume RigaChiusura

    End If

La risposta è stata utile?

0 commenti Nessun commento

46 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2011-11-14T16:40:01+00:00

    grazie!

    comunque si è come hai capito tu.

    Se ho la frase "ciao oggi è soleggiato" è tutto ok.

    Se ho la frase "ciao, oggi è soleggiato" mi da errore di sintassi (operatore mancante) nell'espressione della query 'Dato1='ciao, oggi è soleggiato.".

    Controlla questa riga:

            .Open "SELECT * FROM [Foglio1$] WHERE Dato1 ='" & Me.ComboBox1.Text & "'", cn, 3

    C'è un apice semplice dopo l'uguale e fea gli ultimi due apici doppi. Sicuro che non ci sia un apice o doppi apici nella frase nella tabella Listini?

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2011-11-14T16:23:20+00:00

    grazie!

    comunque si è come hai capito tu.

    Se ho la frase "ciao oggi è soleggiato" è tutto ok.

    Se ho la frase "ciao, oggi è soleggiato" mi da errore di sintassi (operatore mancante) nell'espressione della query 'Dato1='ciao, oggi è soleggiato.".

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2011-11-14T16:13:16+00:00

    sono riuscito a risolvere quasi tutto.

    adesso funziona soltanto per frasi che non hanno la virgola ',' all'interno. come devo fare per fargli accettare la virgola ?

    Non ho capito, scusa. La virgola in una frase tipo:

    Ciao mamma, io sto bene

    se inserita in una cella dovrebbe essere ininfluente.

    Puoi spiegare bene cosa fai. Grazie. E complimenti per averci provato. Davvero bravo!

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2011-11-14T16:11:11+00:00

    sono riuscito a modificare i riferimenti per il nome dei file e dell'elenco. 

    però mi da errore dicendo nessun valore specificato per alcuni parametri necessari.

    si riferisce al fatto che prima selezionando un dato ne inseriva 3 dato che adesso ho soltanto una colonna con i dati ?

    Puoi aiutarmi su questo problema ?

    Sarebbe meglio che tu avessi postato la riga con l'errore.

    Comunque se l'elenco ha solo un campo(colonna), modifica qui:

        With rs

            .CursorLocation = 2

            .Open "SELECT * FROM [Foglio1$] WHERE Dato1 ='" & Me.ComboBox1.Text & "'", cn, 3

            ActiveCell.Value = .Fields(0).Value

            ActiveCell.Offset(0, 1).Value = .Fields(1).Value

            ActiveCell.Offset(0, 2).Value = .Fields(2).Value

        End With

    così:

        With rs

            .CursorLocation = 2

            .Open "SELECT * FROM [Foglio1$] WHERE Dato1 ='" & Me.ComboBox1.Text & "'", cn, 3

            ActiveCell.Value = .Fields(0).Value

        End With

    La risposta è stata utile?

    0 commenti Nessun commento