You are here:Home-Domande su Excel VBA e MACRO-[RISOLTO] inserire riga in listbox-Rispondi a: [RISOLTO] inserire riga in listbox
Rispondi a: [RISOLTO] inserire riga in listbox2018-01-07T16:18:18+01:00

Home Forum Domande su Excel VBA e MACRO [RISOLTO] inserire riga in listbox Rispondi a: [RISOLTO] inserire riga in listbox

Avatarfranco56
Partecipante
    Post totali: 19

    Ciao, io lo modificato cosi ma sicuramente ci vorranno delle  correzioni.

    Private Sub CommandButton2_Click() ‘inserisce i dati nell’archivio
    Dim r, c, x, i
    If idXX = -1 Then ‘inserimento a fine elenco
    If Sh1.Cells(2, 1) = “” Then r = 2 Else r = Sh1.Cells(Rows.Count, 1).End(xlUp).Row + 1
    Sh1.Cells(r, 1) = Sh1.Cells(r – 1, 1) + 1
    Sh1.Cells(r, 2) = CDate(TextBox1)
    Sh1.Cells(r, 3) = ComboBox2
    Sh1.Cells(r, 4) = ComboBox3
    If TextBox2 <> “” Then Sh1.Cells(r, 5) = CDbl(TextBox2)
    If TextBox3 <> “” Then Sh1.Cells(r, 6) = CDbl(TextBox3)
    If r = 2 Then
    Sh1.Cells(r, 7) = Sh1.Cells(2, 14) ‘riporto saldo precedente da cella “N2”
    Else
    Sh1.Cells(r, 7).FormulaR1C1 = _
    “=IF(RC[-5]=””””,””””,IF(AND(OR(RC[-2]<>””””,RC[-1]<>””””,OR(RC[-2]=””””,RC[-1]=””””))),R[-1]C+RC[-2]-RC[-1]))”
    End If
    If TextBox4 <> “” Then Sh1.Cells(r, 8) = CDbl(TextBox4)
    If TextBox5 <> “” Then Sh1.Cells(r, 9) = CDbl(TextBox5)
    End If
    If idXX > -1 Then ‘inserisce una nuova riga dati sotto la riga selezionata
    r = idXX + 3
    Sh1.Activate
    Range(Sh1.Cells(r, 1), Sh1.Cells(r, 9)).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sh1.Cells(r, 1).Select
    Sh1.Cells(r, 1) = Sh1.Cells(r – 1, 1) + 1
    Sh1.Cells(r, 2) = CDate(TextBox1)
    Sh1.Cells(r, 3) = ComboBox2
    Sh1.Cells(r, 4) = ComboBox3
    If TextBox2 <> “” Then Sh1.Cells(r, 5) = CDbl(TextBox2)
    If TextBox3 <> “” Then Sh1.Cells(r, 6) = CDbl(TextBox3)
    Sh1.Cells(r, 7).FormulaR1C1 = _
    “=IF(RC[-5]=””””,””””,IF(AND(OR(RC[-2]<>””””,RC[-1]<>””””,OR(RC[-2]=””””,RC[-1]=””””))),R[-1]C+RC[-2]-RC[-1]))”
    Sh1.Cells(r + 1, 7).FormulaR1C1 = _
    “=IF(RC[-5]=””””,””””,IF(AND(OR(RC[-2]<>””””,RC[-1]<>””””,OR(RC[-2]=””””,RC[-1]=””””))),R[-1]C+RC[-2]-RC[-1]))”   ‘aggiunto<<<<<<<<<<<<<<<<<<<<<<<<<

    If TextBox4 <> “” Then Sh1.Cells(r, 8) = CDbl(TextBox4)
    If TextBox5 <> “” Then Sh1.Cells(r, 9) = CDbl(TextBox5)

    For x = r + 1 To Cells(Rows.Count, 1).End(xlUp).Row ‘aggiorna la numerazione per l’inserimento   modificato<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    Sh1.Cells(x, 1) = x – 1
    Next x

    End If
    ListBox1.ListIndex = -1

    ‘aggiunto<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    ComboBox1 = ComboBox1 + 1
    ListBox1.ListIndex = idXX

    With Sh1
    ComboBox1.RowSource = _
    “‘” & .Name & “‘!” & .Range(“A2”, .Range(“A65536”).End(xlUp)).Address

    ListBox1.RowSource = _
    “‘” & .Name & “‘!” & .Range(“I2”, .Range(“A65536”).End(xlUp)).Address

    End With

     

     

    End Sub

    • Questa risposta è stata modificata 2 anni, 8 mesi fa da Avatarfranco56.