Eliminare rigo selezionato
Hai un problema con Excel? 
Eliminare rigo selezionato
di alexps81 data: 30/07/2015 15:14:06
Di nuovo un buongiorno a tutti. Qualcuno mi sa dire come si fa ad eliminare attraverso un pulsante un rigo che fa riferimento alla cella selezionata?
Cioè se mi sposto in C3 e clicco su un pulsante ELIMINA si deve eliminare tutto il contenuto del rigo 5, la stessa cosa deve fare se sono in F7, deve eliminare il contenuto del rigo 7.
Ho provato con qualcosa del genere, ma ovviamente elimina solo il contenuto della cella selezionata.
Grazia
Private Sub CommandButton1_Click()
Set can = ActiveSheet
Sheets("Foglio1").Select
ActiveCell.ClearContents
can.Select
End Sub |
di Luca73 data: 30/07/2015 15:25:19
Secondo me dovrebbe bastare aggiungere.EntireRow. dopo l'activecell
Private Sub CommandButton1_Click()
Set can = ActiveSheet
Sheets("Foglio1").Select
ActiveCell.EntireRow.ClearContents
can.Select
End Sub |
di Vecchio Frac data: 30/07/2015 15:33:36
Il riferimento alla variabile "can" è superfluo, anche perchè non viene utilizzata :)
L'istruzione però non elimina la riga ma ne cancella semplicemente il contenuto.
Private Sub CommandButton1_Click()
ActiveCell.EntireRow.ClearContents
End Sub |
di alexps81 data: 30/07/2015 16:47:07
Grazie funziona a meraviglia
di Luca73 data: 30/07/2015 17:03:26
Ciao
@ VF una domanda la "activecell" di un foglio viene memorizzata? Mi spiego se sono su un foglio con una activecell attivata e richiamo la activecell di un altro foglio sto richiamando la cella che era attiva quondo quel foglio era selezionato? Ovvero ancora Excel ha n activecell una per ogni foglio?
di Vecchio Frac data: 30/07/2015 17:09:36
Mi pare ieri rispondevo su questo.
No, c'è solo una actvecell ed è quella del foglio corrente.
Che io sappia Excel non espone l'active cell di ogni foglio, anche se cambiando foglio naturalmente rimane selezionata la ella precedentemente attiva (quindi da qualche parte viene conservata l'informazione).
Mi piacerebbe essere smentito su questo.
di Luca73 data: 31/07/2015 11:06:02
Cioa VF
confermo quanto hai detto ieri
activecell è figlia di window e non di sheet pertanto per ogni cartella ne esiste una ed una sola.
Ma la cella che diventerà attiva quando seleziono un foglio può essere conosciuta e richiamata oppure l'unica e attivare il foglio e successivamente usare activecell.
Mi spiego in Foglio1 attivo la cella L1 in Foglio 2 attivo la cella T2 se mi sposto da Foglio1 a Foglio2 e viceversa Excel si ricorda qual'è la Activecell per ciascun foglio. Ma se lancio una macro da Foglio1 riesco a richiamare quella che diventerebbe la activecell del Foglio2? oppure l'unica soluzione è attivare il foglio2?
Grazie
di Vecchio Frac data: 31/07/2015 11:23:27
cit. "oppure l'unica soluzione è attivare il foglio2? "
---> Questa è la soluzione che io suggerivo e mi pare anche l'unica praticabile. Attivare il foglio2, recuperare e assegnare l'activecell, quindi ritornare al foglio1 col prezioso dato memorizzato in una variabile di tipo Range.
Facciamo un semplice test per i primi tre fogli del file, prima di lanciare il codice selezionate celle diverse per ognuno dei tre fogli.
Option Explicit
Sub test_activecell()
Dim ac1 As Range, ac2 As Range, ac3 As Range
Sheets("Foglio1").Activate
Set ac1 = ActiveCell
Application.ScreenUpdating = False
Sheets("Foglio2").Activate
Set ac2 = ActiveCell
Sheets("Foglio3").Activate
Set ac3 = ActiveCell
Sheets("Foglio1").Activate
Application.ScreenUpdating = True
MsgBox "Queste sono le celle attive della cartella:" & vbCrLf & _
"Foglio1 = " & ac1.Address & vbCrLf & "Foglio2 = " & ac2.Address & vbCrLf & _
"Foglio3 = " & ac3.Address
End Sub |
di Luca73 data: 31/07/2015 11:29:27
Grazie
proprio come pensavo
Ciao
Eliminare rigo selezionato
di alexps81 data: 30/07/2015 15:17:44
Chiedo scusa in anticipo se ho postato la stessa discussione nell'altra sezione del forum ma ho sbagliato
Di nuovo un buongiorno a tutti. Qualcuno mi sa dire come si fa ad eliminare attraverso un pulsante un rigo che fa riferimento alla cella selezionata?
Cioè se mi sposto in C3 e clicco su un pulsante ELIMINA si deve eliminare tutto il contenuto del rigo 5, la stessa cosa deve fare se sono in F7, deve eliminare il contenuto del rigo 7.
Ho provato con qualcosa del genere, ma ovviamente elimina solo il contenuto della cella selezionata.
Grazie
Private Sub CommandButton1_Click()
Set can = ActiveSheet
Sheets("Foglio1").Select
ActiveCell.ClearContents
can.Select
End Sub |
di Vecchio Frac data: 30/07/2015 16:03:53
Chiudo questa discussione, che è un duplicato, per evitare confusione, visto che nell'altra ti è già stato risposto.
Vuoi Approfondire?