Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Eliminare riga scelta da userform

Ultimo Aggiornamento: 30/01/2017 22:23
Post: 101
Registrato il: 13/12/2015
Città: MILANO
Età: 58
Utente Junior
2010
OFFLINE
29/01/2017 22:02

Ciao a tutti,
nel foglio "DB" usando il pulsante "definisci rotolo" mi posiziono sulla riga che voglio trasferire e causalizzo il motivo ( Recuperato o Rottamato) e poi con "scarica dati" lo copio nel foglio "rotoli definiti" ma in realtà vorrei che dopo il trasferimento la riga fosse cancellata del foglio mittente (ossia DB).
Teoricamente basterebbe
Rows(ActiveCell.Row).Delete

Ma non è proprio cosi.Mi aiutate?

Grazie in anticipo.
https://www.dropbox.com/s/w3hahacpyfu3eka/Rot_segregatiV3CB_forum.xls?dl=0
[Modificato da BG66 30/01/2017 22:22]
BG66
Excel 2010
Post: 3.668
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
30/01/2017 08:16

hai fatto un uso massiccio di activecell, cosaa da evitare nel modo più assoluto proprio perché capitano questi inconvenienti, specialmente quando si lavora su due fogli. Ti consiglio di rivedere tutta la procedura.
una soluzione rapida la puoi ottenere così:
nel modulo1
Option Explicit
Public rigasel As Long
Sub ShowDBForm()
    DBForm.Show
End Sub

poi
Private Sub Precedente_Click()
    Cells(ActiveCell.Row - 1, 1).Select
    rigasel = ActiveCell.Row
        Setting
End Sub

Private Sub Successivo_Click()
    Cells(ActiveCell.Row + 1, 1).Select
    rigasel = ActiveCell.Row
        Setting
End Sub

Private Sub ExitExpenses_Click()
 ........
    End With
    Sheets(1).Rows(rigasel).Delete
    MsgBox "Trasferimento effettuato"
    DefForm.Hide
    
End Sub



[Modificato da patel45 30/01/2017 08:30]

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 101
Registrato il: 13/12/2015
Città: MILANO
Età: 58
Utente Junior
2010
OFFLINE
30/01/2017 08:34

Ciao Patel,
sono alla fine del progetto e ripartire da zero è pesante [SM=x423059]
A tuo avviso, si riesce a trovare una soluzione?
L'utilizzo di active cells era funzionale a separarare le due fasi ( carico e scarico) con responsabili diversi.

EDIT Sorry hai anticipato la mia richiesta di Help. Provo quanto indicatomi, è posto riscontro...a dopo.
Grazie in anticipo.

[Modificato da BG66 30/01/2017 08:37]
BG66
Excel 2010
Post: 3.669
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
30/01/2017 09:17

nel tuo caso basta usare activecell una sola volta e poi fare riferimento a rigasel.
Comunque ricordati per il futuro di limitare activecell e activesheet al minimo indispensabile e fare riferimento sempre a sheets("nome")

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 102
Registrato il: 13/12/2015
Città: MILANO
Età: 58
Utente Junior
2010
OFFLINE
30/01/2017 18:36

Ciao Patel,
la mia preparazione specifica non mi permette di comprendere in pieno il tuo consiglio del post precedente.
Se hai voglia e tempo, mi puoi scrivere lo script a modo tuo?
Mi aiuterebbe moltissimo poterlo studiare.

Grazie in anticipo
[Modificato da BG66 30/01/2017 18:37]
BG66
Excel 2010
Post: 3.674
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
30/01/2017 20:44

Private Sub Setting()
'   Settaggi
Dim NRc As Long

    NRc = Range("B" & Rows.Count).End(xlUp).Row + 1
    If rigasel < 7 Then Cells(7, 2).Select
    If rigasel > NRc Then rigasel = NRc
    Riga.Value = rigasel
    DataIns.Value = Cells(rigasel, 2).Value
    ...........

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 103
Registrato il: 13/12/2015
Città: MILANO
Età: 58
Utente Junior
2010
OFFLINE
30/01/2017 22:23

[RISOLTO]
Ciao Patel,
funziona alla grande.

Grazie ancora per la tua disponibilità.

Alla prossima.
BG66
Excel 2010
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 10:10. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com