Riempire tabella dinamica



  • Riempire tabella dinamica
    di IngOsvy (utente non iscritto) data: 27/02/2013 15:34:39

    Salve a tutti, è la prima volta che scrivo.
    Spiego brevemente:
    devo riempire una tabella di celle di cui non conosco in anticipo il n° di righe;
    voglio riempire una riga per volta inserendo i dati da una userform.
    Ho provato ad usare un ciclo for allegato a un pulsante sulla userform.
    Ogni volta che premo il pulsante la tabella si riempie tutta immediatamente;
    io voglio invece che si compili una riga per volta.
     
    Private Sub CommandButton1_Click()
    Dim i As Integer
    For i = 1 To Range("D3")
      Cells(i + 2, 8) = i
    Next
    ListBox1.AddItem ComboBox1.Text
    End Sub



  • di HarryBosch data: 27/02/2013 19:03:16

    Ciao IngOsvy, porta pazienza ma non ho capito ^_^

    La tabella è sul foglio e vuoi riempirla riga per riga premendo il pulsante: ma con quali valori? con quelli inseriti nella Listbox?
    Attualmente il ciclo che hai inserito parte da 1 fino al valore inserito in D3. E la listbox viene caricata ad ogni pressione con il valore inserito nella combobox.

    Potresti fare un esempio pratico?




  • di IngOsvy (utente non iscritto) data: 28/02/2013 10:21:02

    Buongiorno HarryBosch, scusami ho preso l'argomento un po' alla larga.
    Si, la tabella è sul foglio e voglio riempirla riga per riga, premendo il pulsante con i valori delle varie combobox presenti nella userform: vorrei che ad ogni "premuta" del pulsante si riempia una riga della tabella sul foglio.
    Sto cercando di implementare un programmino per il calcolo di telai piani col metodo dei cedimenti.
    Ho creato una Userform dove inserisco da tastiera il n° dei nodi, le coordinate di ogni nodo. Vorrei che ogni volta che premo il pulsante una riga della tabella sul foglio si riempia con questi dati. Alla seconda "premuta" del pulsante si riempia la riga successiva e cosi' via. La tabella non ha un n°di righe predefinito ma tale n° dipende dal n° di nodi inseriti nella cella D3.
    Spero di essere stato piu' chiaro (GRAZIE INTANTO PER LA RISPOSTA)



  • di IngOsvy (utente non iscritto) data: 28/02/2013 19:23:57

    Sono riuscito a risolvere,
    era sbagliata l'impostazione del problema: non bisogna usare un ciclo FOR NEXT ma bisogna cercare la prima riga vuota per inserirci poi i valori presi dalla USERFORM.
    Ho aggiunto anche la formattazione automatica. Il codice è spartano ma sono alle prime prime armi. Spero sarà utile a qualcuno
     
    Private Sub CommandButton1_Click()
    Dim lRiga As Long
    With Worksheets("Foglio1")
    lRiga = .Range("H" & Rows.Count).End(xlUp).Row
    .Cells(lRiga + 1, 8).Select
    Cells(lRiga + 1, 8).Value = ComboBox1
    Cells(lRiga + 1, 9).Value = TextBox1
    Cells(lRiga + 1, 10).Value = TextBox2
    Cells(lRiga + 1, 12).Value = ComboBox2
    If CheckBox1 = Empty Then Cells(lRiga + 1, 11) = "no" Else: Cells(lRiga + 1, 11) = "si"
    End With
      Range(Cells(lRiga + 1, 8), Cells(lRiga + 1, 12)).Select
      
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorDark1
            .TintAndShade = -0.135145740745262
            .PatternTintAndShade = 0
        End With
    ListBox1.AddItem ComboBox1.Text
    End Sub