|
Login
  • Page:
  • 1
  • 2

TOPIC: Memorizzare dati a destra

Memorizzare dati a destra 3 years 7 months ago #12173

  • rugantino
  • rugantino's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 221
  • Thank you received: 4
  • Karma: 5
Ciao,
Giornalmente, tramite una form devo memorizzare un dato partendo dalla cella C,( a destra di questa), se vuota, oppure in D o in E ecc.

Mi spiego meglio:
se in D1, E1 e F1 contengono già dei dati, il nuovo dato da memorizzare andrà in G1
Mi serve una macro che dice:
se la cella D contiene un dato vai alla cella E
se la cella E contiene un dato vai alla cella F
se la cella F contiene un dato vai alla cella G …e così via…

Ciao
Rugantino
The administrator has disabled public write access.

Memorizzare dati a destra 3 years 7 months ago #12177

  • Marius44
  • Marius44's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 185
  • Thank you received: 38
  • Karma: 14
Ciao Rugantino

in assenza di un tuo file potresti provare ad adattare la macro che ti suggerisco, inserendola nel codice della tua Form al punto opportuno
Sub individua_colonna_più_a_destra_vuota()

colonna = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column + 1

End Sub

La macro cerca, da destra a sinistra, la prima cella non vuota. Aggiungendo 1 ti dà la prima colonna vuota.

Fai sapere. Ciao,
Mario
The administrator has disabled public write access.

Memorizzare dati a destra 3 years 6 months ago #12220

  • rugantino
  • rugantino's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 221
  • Thank you received: 4
  • Karma: 5
Ciao Mario e grazie per l’intervento
Purtroppo non riesco ad adattare il tuo codice alla mia Form :(
Adesso, dopo tanti tentativi, mi inserisce il dato, come da allegato file, sempre nella cella G anche se questa contiene già un dato.
Sto sicuramente sbagliando in qualcosa, ma dove? :blush:
Rettifico: dovrà inserire il dato partendo dalla colonna “G”
Ti ringrazio per l’attenzione
Rugantino


File Attachment:

File Name: colonna_pi_a_destra_vuota.xls
File Size: 150 KB
The administrator has disabled public write access.

Memorizzare dati a destra 3 years 6 months ago #12221

  • Marius44
  • Marius44's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 185
  • Thank you received: 38
  • Karma: 14
Ciao Rugantino

prova cambiando le righe di codice tra With sh ... End With con queste:
    With sh
        For lng = 2 To lRiga
            If .Range("A" & lng).Value = _
                Me.ListBox1.List(Me.ListBox1.ListIndex, 0) Then
                Stop
                'individua_colonna_più_a_destra_vuota della riga lng
                colonna = ActiveSheet.Cells(lng, Columns.Count).End(xlToLeft).Column + 1
                .Cells(lng, colonna).Value = Me.TextBox7.Text
                Stop
                Exit For
            End If
        Next
        TextBox7.Text = ""
    End With
Viene inserito il dato di TextBox7 nella cella (lng e colonna) dove lng è la riga dove ha trovato concordanza tra il testo in col.A e il testo selezionato nella ListBox e la colonna è la prima vuota della riga individuata.

Ho inserito due Stop per darti modo di individuare meglio cosa cambia. Se non chiaro, chiama.
Ciao,
Mario
The administrator has disabled public write access.

Memorizzare dati a destra 3 years 6 months ago #12233

  • rugantino
  • rugantino's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 221
  • Thank you received: 4
  • Karma: 5
Ciao Mario

Scusa il ritardo ma sono stato fuori per motivi familiari.
Ho appena finito di provare il tuo codice.
E’ perfetta così come l’hai scritta :silly:

Antora una volta ti ringrazio tanto
Rugantino
The administrator has disabled public write access.

Memorizzare dati a destra 3 years 6 months ago #12263

  • rugantino
  • rugantino's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 221
  • Thank you received: 4
  • Karma: 5
Ciao

Riapro la discussione in quanto il codice postato da Mauro, che funziona alla perfezione, vorrei automatizzarlo al massimo.
Mi spiego meglio: il codice in questione mi permette di aggiungere un dato (tempo di guida) nella prima cella vuota di una singola riga e, quindi, occorre farlo uno alla volta e, comunque, dopo aver selezionato di volta in volta un nominativo.

Ripeto, fino qui va benissimo.
Questo dato però viene inserito solo dopo che, tramite una UserForm, è stato predisposto un “calendario di guide” della settimana.
Per cui mi sono chiesto: se ho già una Form con i nominativi e di fianco il relativo tempo di guida, occorrerebbe una macro che individua il nominativo ed assegni automaticamente il relativo tempo di guida associato :dry:
Finora, con i tentativi fatti, sono riuscito solo a farmi venire un gran mal di schiena… :pinch:

Allego il file
Rugantino
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Time to create page: 0.562 seconds