Visualizzazione dati in textbox in userform

Anonimo
2023-09-23T13:43:35+00:00

Buongiorno a tutti,

Ho la necessità di visualizzare dei dati che stanno all'interno di sheet1 (colonne da A:E, righe dalla numero 2 e via via) nelle textbox.

Io inserisco tramite userform dei dati che vanno a popolare il database in sheet1 quindi le righe possono variare.

Questo codice serve a visualizzare i dati e se una data parola non è presente nel database mi esce l'avviso:

Private Sub mCaricaListBox(ByVal s As String)
    Dim lRiga As Long
    Dim lng As Long, r As Long
    Dim sh As Worksheet
    Dim elenco  As Variant
    Dim myr As Range
    Dim lista
    Dim mRow As Variant
    Dim i, c
    Dim no
    Dim parola As String
    Set sh = Sheet1
        With sh
            lRiga = .Range("B" & .Rows.Count).End(xlUp).Row
        End With

        With Me.ListBox1
            .Clear
            If s = "CaricaDati" Then
                For lng = 2 To lRiga
                    .AddItem (sh.Range("B" & lng).Value)
                Next
            ElseIf s = "FiltraDati" Then
                sh.Cells(1, "AA").CurrentRegion.Clear
                elenco = sh.Cells(Rows.Count, 1).End(xlUp).Row
                For i = 2 To elenco
                    mRow = Application.Transpose(Application.Transpose(Range("A" & i & ":E" & i)))
                    If InStr(Join(mRow, ""), Me.TextBox1.Value) > 0 Then
                        r = r + 1
                        sh.Cells(i, 1).Resize(, 5).Copy sh.Cells(r, "AA")
                    End If
                Next i
                If r = 0 Then
                    parola = TextBox1.Value
                    MsgBox "The following term(s) '" & parola & " is/are not present in the database.", vbExclamation, "Attenzione"
                    Exit Sub
                Else
                   Set myr = sh.Cells(1, "AA").CurrentRegion
                   .ColumnCount = myr.Columns.Count
                   lista = myr
                End If
                Set myr = sh.Cells(1, "AA").CurrentRegion
                     .Clear
                     .ColumnCount = myr.Columns.Count
                     lista = myr
                     .List = lista
            End If
      End With
End Sub

nella textbox della ricerca parziale del testo ho questo codice:

Private Sub TextBox1_Change()
    'UserForm1.ListBox1.Visible = True
    Call mCaricaListBox("FiltraDati")
End Sub

e nella userform ho quest'altro codice (serve a caricare i dati dal database):

Private Sub UserForm_Initialize()
Dim wbFrom As Workbook, wbTo As Workbook, wkFrom As Worksheet
Dim Righe As Long, Colonne As Long, r As Long, c As Long, arrLstBox() As Variant
Dim rng As Range
    Set wbFrom = Workbooks("Prova Sidra.xlsm")
    Set wbTo = ThisWorkbook
    Set wkFrom = wbFrom.Sheets("Sheet1")
    With wkFrom.Range("A1").CurrentRegion
        Righe = .Rows.Count - 1
        Colonne = .Columns.Count
        Set rng = .Offset(1, 0).Resize(Righe, Colonne)
    End With
    Righe = wkFrom.Range("A2").CurrentRegion.Rows.Count - 1
    Colonne = wkFrom.Range("A2").CurrentRegion.Columns.Count
    Me.ListBox1.ColumnCount = 5
    ReDim arrLstBox(1 To Righe, 1 To Colonne)
    For r = 1 To Righe
        For c = 1 To Colonne
            arrLstBox(r, c) = wkFrom.Cells(r + 1, c)
        Next c
    Next rMe.ListBox1.List() = (arrLstBox)
End Sub

Io vorrei conservare la textbox per la ricerca parziale del testo MA vorrei visualizzare i dati nelle textbox.

Ad esempio:

Textbox1 scrivo: ciao

(ciao è nella riga 2, colonna B)

la colonna A2 nella textbox 2 --> (altro dato che è presente nel database della colonna e riga corrispondente)

La colonna B2 nella textbox 3 --> (ciao)

La colonna C2 nella textbox 4 --> (altro dato che è presente nel database della colonna e riga corrispondente)

La colonna D2 nella textbox 5 --> (altro dato che è presente nel database della colonna e riga corrispondente)

La colonna E2 nella textbox 6. --> (altro dato che è presente nel database della colonna e riga corrispondente)

Textbox1 scrivo: zz9z0

(zz9z0 è nella riga 10, colonna A)

la colonna A10 nella textbox 2 --> (zz9z0)

La colonna B10 nella textbox 3 --> (altro dato che è presente nel database della colonna e riga corrispondente)

La colonna C10 nella textbox 4 --> (altro dato che è presente nel database della colonna e riga corrispondente)

La colonna D10 nella textbox 5 --> (altro dato che è presente nel database della colonna e riga corrispondente)

La colonna E10 nella textbox 6. --> (altro dato che è presente nel database della colonna e riga corrispondente)

Textbox1 scrivo: ggdde

(ggdde è nella riga 5, colonna A)

la colonna A5 nella textbox 2 --> (ggdde)

La colonna B5 nella textbox 3 --> (altro dato che è presente nel database della colonna e riga corrispondente)

La colonna C5 nella textbox 4 --> (altro dato che è presente nel database della colonna e riga corrispondente)

La colonna D5 nella textbox 5 --> (altro dato che è presente nel database della colonna e riga corrispondente)

La colonna E5 nella textbox 6. --> (altro dato che è presente nel database della colonna e riga corrispondente)

Quindi nelle textbox vorrei mi visualizzasse la riga del dato corrispondente che scriverò nella textbox che contiene il codice per la ricerca parziale del testo.

Potete aiutarmi gentilmente?

Grazie mille per l'aiuto e se serve sapere altro, non esitate a chiedere.

Sol39

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

2 risposte

Ordina per: Più utili
  1. Eleuterio Tedeschi 18,750 Punti di reputazione Moderatore volontario
    2023-09-25T07:08:30+00:00

    Leonardo_Y, la domanda è stata posta nella sezione corretta.

    Sol39, per una migliore risposta ti inviterei alla pubblicazione del file per evitare di ricreare uno scenario che potrebbe non essere il tuo generando soluzioni non attinenti,

    grazie.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-09-24T19:23:58+00:00

    La risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o parole insolite.

    Ciao

    Grazie per aver pubblicato un post su Microsoft Community.

    Sembra che si stia tentando di popolare una casella di riepilogo con i dati del Foglio1 nelle colonne da A a E, a partire dalla riga 2. Il codice fornito sembra essere utilizzato per visualizzare i dati e filtrarli in base a una determinata parola.

    In base alla tua descrizione, sembra che la tua preoccupazione sia più appropriata nel nostro forum della community sorella chiamato Microsoft Q&A. È lì che normalmente discutono di questo tipo di problemi. Non preoccuparti, farò in modo che tu possa condividere la tua preoccupazione sul loro forum della comunità.

    Segui la guida riportata di seguito su come pubblicare post nel forum della community di domande e risposte Microsoft.

    Ho controllato il forum della community Q & A di Microsoft per eventuali argomenti aperti relativi alla tua richiesta, ma non sono stato in grado di trovarne nessuno, quindi sarebbe meglio procedere con la nostra raccomandazione iniziale di iniziare un argomento.

    Lascerò il thread per MVP o altri membri della comunità che potrebbero avere conoscenza di questo problema

    Nota : Domande e risposte Microsoft è disponibile solo in inglese o impostazioni locali. Potresti aver bisogno di un traduttore

    Sinceramente

    Leonardo_Y

    La risposta è stata utile?

    0 commenti Nessun commento