Logo Valentano.net Logo Valentano.net
Ultimo Urlo - Inviato da: Pro Loco - Venerdì, 04 Settembre 2015 09:08
 
Forum Community sul Comune di Valentano (VT)
Maggio 01, 2024, 10:47:56 *
Benvenuto, Visitatore. Per favore, effettua il login o registrati.
Hai perso la tua email di attivazione?

Login con username, password e lunghezza della sessione
News:
Valentano Negli Occhi; tante FOTO da vedere,ammirare,commentare.
 
   Home   Help Ricerca Calendario Utenti Login Registrati  
Pagine: [1]   Vai Giù
  Stampa  
Autore Topic: Excel e righe  (Letto 11950 volte)
ghisirds
Alluccato
*
Offline Offline

Posts: 9


Guarda Profilo WWW
« il: Marzo 24, 2009, 19:10:39 »

Salve a tutti voi.
Avrei bisogno del vostro aiuto per realizzare un pezzo di codice che andrà a comporre una complicata macro.
In pratica, io seleziono un numero di celle variabile in una sola colonna e devo riuscire ad eliminare tutte le righe corrispondenti alle celle selezionate tranne la prima riga e deve rimanere attiva la prima cella in alto delle selezione iniziale.
Veloce esempio:
Seleziono C3:C5
Eseguo la macro
Rimane selezionata e attiva la cella C3 ma vengono eliminate le righe 4 e 5.
La colonna sarà sempre la C ma il numero di celle selezionate e la loro posizione è variabile
Qual è il codice VBA più semplice e pulito per realizzare questa operazione?
Grazie

__________________
Mai visto regali ragazza così? (regalos bodas in spagnolo), bambini dislessici, fulgieri swarovski
Loggato
ciocchetto
Moderator
Guitto
*****
Offline Offline

Posts: 1193


Coltivate Linux, Windows si pianta da solo


Guarda Profilo WWW
« Risposta #1 il: Marzo 24, 2009, 20:06:55 »

Se vuoi che vengano cancellate solo le celle (e non le righe) della selezione tranne quelle della prima righa, devi fare qualcosa del tipo questo:

Citazione

Sub eliminaCelleMenoUna()
  inizio = Selection.Row
  colonna = Selection.Column
  altezza = Selection.Rows.Count
  With ActiveSheet
    .Range(.Cells(inizio+1,colonna), .Cells(inizio-1+altezza, colonna)).Select
  End With
  Selection.Delete Shift:=xlUp
  ActiveSheet.Cells(inizio, colonna).Select
End Sub



Questo fa quello che hai chiesto e sposta tutte le celle al di sotto di quelle cancellate immediatamente sotto la cella che rimane selezionata; se invece vuoi lasciare le celle vuote, devi togliere la parte che ti ho colorato di blu (Shift:=xlUp) dalla terz'ultima riga.

Loggato

http://www.emmeeffe.org
Con i piedi caldi e asciutti si può andare lontano ('l mi' ba')
ghisirds
Alluccato
*
Offline Offline

Posts: 9


Guarda Profilo WWW
« Risposta #2 il: Marzo 24, 2009, 23:07:22 »

Vado a provarla
grazie intanto
ciao

ps. ma sposta le celle o le righe? io avrei bisogno che rimanesse tutto allineato, quindi eliminare e spostare righe intere...
Loggato
ciocchetto
Moderator
Guitto
*****
Offline Offline

Posts: 1193


Coltivate Linux, Windows si pianta da solo


Guarda Profilo WWW
« Risposta #3 il: Marzo 25, 2009, 08:16:01 »

Vado a provarla
grazie intanto
ciao

ps. ma sposta le celle o le righe? io avrei bisogno che rimanesse tutto allineato, quindi eliminare e spostare righe intere...

Eh, ma tu avevi parlato di una singola colonna... 
Se devi cancellare e spostare intere righe devi modificare il programma così:

Citazione

Sub eliminaCelleMenoUna()
  inizio = Selection.Row
  colonna = Selection.Column
  altezza = Selection.Rows.Count
  With ActiveSheet
    .Range(.Rows(inizio + 1), .Rows(inizio - 1 + altezza)).Select
  End With
  Selection.Delete Shift:=xlUp
  ActiveSheet.Cells(inizio, colonna).Select
End Sub



Non è necessario selezionare le righe intere, basta che selezioni le celle di una sola colonna
Al solito, se vuoi solo cancellare le righe lasciandole vuote basta che togli il pezzo Shift:=xlUp
Loggato

http://www.emmeeffe.org
Con i piedi caldi e asciutti si può andare lontano ('l mi' ba')
Pagine: [1]   Vai Su
  Stampa  
 
Salta a:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines
Traduzione Italiana a cura di SMItalia
XHTML 1.0 Valido! CSS Valido!
Pagina creata in 0.109 secondi con 22 queries.

Google ha visitato per ultimo questa pagina Aprile 14, 2019, 00:35:50
Privacy Policy

Alfeuss Site Admin & Webmaster

Piotr The Writer

Valentano.net è pubblicato sotto una Creative Commons License. Leggi il Disclaimer
LO-FI Version

MKPortal ©2003-2005 All rights reserved
Pagina generata in 0.04828 secondi con 6 query