Author Topic: excel o open office: compattare tabella  (Read 11000 times)

0 Members and 1 Guest are viewing this topic.

Massimo.T

  • Guest
excel o open office: compattare tabella
« on: 23 November , 2011, 09:37:14 AM »
mi ritrovo con una tabella di molte righe e due sole colonne.
molte righe risultano vuote.
qual è una funzione per creare una nuova tabella senza le righe vuote?

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re: excel o open office: compattare tabella
« Reply #1 on: 23 November , 2011, 11:28:14 AM »
mi ritrovo con una tabella di molte righe e due sole colonne.
molte righe risultano vuote.
qual è una funzione per creare una nuova tabella senza le righe vuote?

credo devi scrivertela tu
« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

Offline quattropassi

  • Esperto del forum
  • ***
  • Posts: 226
  • Karma: 49
  • Neo - Laureato
Re: excel o open office: compattare tabella
« Reply #2 on: 23 November , 2011, 12:12:15 PM »
mi ritrovo con una tabella di molte righe e due sole colonne.
molte righe risultano vuote.
qual è una funzione per creare una nuova tabella senza le righe vuote?

appiccicagli una colonna che ti dà l'occupato o il vuoto della riga (con un "se" è banale, non elegante, ma banale): es 0 = riga libera 1 = riga occupata...
poi un paio di macro per filtrare...
poi un copia incolla valori...
Insomma: giochini.   ;)

Oppure usi un filtro automatico e fai un copia incolla speciale.
Oppure... vabbè, ti posto un esempio in un xlt così son sicuro che ti si porta dietro anche le macro, va'.

http://www.box.com/s/go0o8tr0d3insmszgogd
* Se ci scambiamo un dollaro, ognuno rimane con un dollaro.
* Se ci scambiano un'informazione, ognuno rimane con due informazioni.

zax2010

  • Guest
Re: excel o open office: compattare tabella
« Reply #3 on: 23 November , 2011, 12:24:34 PM »
Intanto che Quattropassi scriveva, io avevo provato a nascondere le righe vuote, e quindi a fare copia&incolla.
Peccato che nell'incollare vengono coinvolte anche le righe vuote, per cui si ritorna al problema di prima. Anche con incolla speciale non c'è nulla da fare.

Invece con l'opzione filtro che dice Quattropassi, per quanto sembri che alla fine Excel non faccia altro che nascondere le righe che non interessino (per eliminare gli effetti del filtro infatti o si seleziona il comando "Rimuovi filtro", oppure selezionando più righe, il comando "Mostra" fa la stessa cosa), invece il copia incolla funziona eliminando le righe vuote di cui non si ha bisogno.

Massimo.T

  • Guest
Re: excel o open office: compattare tabella
« Reply #4 on: 23 November , 2011, 12:32:05 PM »
for four step: no macro!
l'unica mi pare sia quella di fare N-1 tabelle (N= n° di righe della prima tabella)
in cui la i+1-esima tabella è uguale all'i-esima a meno che l'i-esima riga sia nulla (il che fa traslare la tabella).

zax2010

  • Guest
Re: excel o open office: compattare tabella
« Reply #5 on: 23 November , 2011, 12:42:12 PM »
L'opzione Filtro che ti ha suggerito Quattropassi non è una macro.
L'attivi, ottieni la tabella 'piena', copi tutto il contenuto, la vai ad incollare in altro foglio/altra parte del foglio. Disattivi infine il filtro.
Ovviamente così è tutto manuale.

Ma se le tue tabelle fossero tutte uguali, come posizione nel foglio e come numero di colonne, intendo, nulla vieta di eseguire la sequenza delle operazioni una sola volta (e selezionando un bel po di righe, anche oltre la fine della tabella stessa) intanto che registri una macro.
A quel punto potrai riutilizzare la macro appena registrata (di cui non hai scritto alcuna riga di codice) per tutte le tabelle che vuoi (anche per quelle un pò più lunghe di quella 'prototipo').

Offline quattropassi

  • Esperto del forum
  • ***
  • Posts: 226
  • Karma: 49
  • Neo - Laureato
Re: excel o open office: compattare tabella
« Reply #6 on: 23 November , 2011, 12:53:36 PM »
Nella mia macro  che "copre":
anzicHé "hidden", scrivici "delete"
Secondo me ammazza tutta la "row" ... e così sei a posto.

Easy.
:)
* Se ci scambiamo un dollaro, ognuno rimane con un dollaro.
* Se ci scambiano un'informazione, ognuno rimane con due informazioni.

Offline quattropassi

  • Esperto del forum
  • ***
  • Posts: 226
  • Karma: 49
  • Neo - Laureato
Re: excel o open office: compattare tabella
« Reply #7 on: 23 November , 2011, 12:57:17 PM »
Code: [Select]
Sub NASCONDIRIGHE()
Application.ScreenUpdating = False
MsgBox "Copro le righe fra le 700 che hanno 0 su prima colonna"
'
'
'
'
' IMpostoCalcManuale Macro
' Macro registrata il 2009-11-18 da
'
'
    Range("A1").Select
    With Application
        .Calculation = xlManual
        .MaxChange = 0.001
    End With
    ActiveWorkbook.PrecisionAsDisplayed = False
'
'
'
tot = 0
For r = 700 To 1 Step -1
If Cells(r, 1).Value = "0" Then
'
'
'Cells(r, 3).EntireRow.Hidden = True
'=================== x Massimo T.    prova a metterci:
Cells(r, 3).EntireRow.Delete
'===================
'
tot = tot + 1
End If
Next
MsgBox "NASCOSTE N." & tot & " righe"
Set x = Range(Cells(1, 1), Cells(1, 1).End(xlDown))
restano = x.Rows.Count
MsgBox "di 500    Rimangono N. " & restano & " righe scoperte che non hanno su prima colonna lo ZERO"
'
'
'
'
' ImpostoCalcoloAutomatico Macro
' Macro registrata il 2009-11-18 da
'
'
    With Application
        .Calculation = xlAutomatic
        .MaxChange = 0.001
    End With
    ActiveWorkbook.PrecisionAsDisplayed = False
    Range("A1").Select
'   End Sub
'
'   la macro ti legge tutte le celle a partire dalla riga 1000 e scalando verso la prima ti NASCONDE le righe dove la cella è vuota, nella colonna 3 ( la C ), poi ti avvisa con due messaggi: sia le righe tolte, sia le righe rimaste che quindi contengono valori.
'   Ti dovrebbe andar bene, fami sapere, ciao ennius
'   http://www.ennius.altervista.org/domande/dom51.htm
End Sub

Sub SCOPRIRIGHE()
    Cells.Select
    Range("A1").Activate
    Selection.EntireRow.Hidden = False
End Sub
« Last Edit: 23 November , 2011, 13:00:06 PM by quattropassi »
* Se ci scambiamo un dollaro, ognuno rimane con un dollaro.
* Se ci scambiano un'informazione, ognuno rimane con due informazioni.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re: excel o open office: compattare tabella
« Reply #8 on: 23 November , 2011, 15:57:29 PM »
Secondo me qui qualcuno non ha proprio idea di cosa sia una funzione.
Infatti si chiede una funzione che "crea una tabella eliminando le righe vuote"; è come dire: vorrei poter scrivere in una cella la funzione "=creatabella_senza_vuoti()" ed automaticamente excel lo fa.
« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

Offline quattropassi

  • Esperto del forum
  • ***
  • Posts: 226
  • Karma: 49
  • Neo - Laureato
Re: excel o open office: compattare tabella
« Reply #9 on: 23 November , 2011, 16:14:18 PM »
 :mmm:
Scusa Afz... ma io itendevo fare una macro per rendere più spedito un processo.
Mica volevo una funzione "autoannientamento"  :shocked:

... certo, in quel che ho scritto, se si usa delete, la macro "riscopri" poi perde di senso: le righe son soppresse!
Ecchediamine.
* Se ci scambiamo un dollaro, ognuno rimane con un dollaro.
* Se ci scambiano un'informazione, ognuno rimane con due informazioni.

Massimo.T

  • Guest
Re: excel o open office: compattare tabella
« Reply #10 on: 23 November , 2011, 17:11:03 PM »
Secondo me qui qualcuno non ha proprio idea di cosa sia una funzione.
Infatti si chiede una funzione che "crea una tabella eliminando le righe vuote"; è come dire: vorrei poter scrivere in una cella la funzione "=creatabella_senza_vuoti()" ed automaticamente excel lo fa.

forse mi sono espresso male:
intendevo una "procedura" che facesse ciò senza doverci metterci di mezzo il naso.
quindi niente macro (necessitano un "click"), niente ordina + incolla speciale (necessitano di un click-...-click) o quant'altro.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re: excel o open office: compattare tabella
« Reply #11 on: 24 November , 2011, 10:03:27 AM »
forse mi sono espresso male:
intendevo una "procedura" che facesse ciò senza doverci metterci di mezzo il naso.
quindi niente macro (necessitano un "click"), niente ordina + incolla speciale (necessitano di un click-...-click) o quant'altro.

Solo adesso ho capito, scusami.
Quindi niente click, giusto la forza della mente. E' sufficiente.

ciao
« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

Offline afazio

  • Veterano del forum
  • ****
  • Posts: 663
  • Karma: 273
  • dovizio mi delizio
    • CI si vede al Bar
Re: excel o open office: compattare tabella
« Reply #12 on: 24 November , 2011, 10:07:31 AM »
E' bello vedere come si riesca ad esprimersi in maniera pessima cercando di rimediare una espressione espressa male.
Non so se mi sono espresso bene e nel dubbio mi faccio un espresso.
« Ogni qualvolta una teoria ti sembra essere l’unica possibile, prendilo come un segno che non hai capito né la teoria né il problema che si intendeva risolvere. »
K.P.

Massimo.T

  • Guest
Re: excel o open office: compattare tabella
« Reply #13 on: 24 November , 2011, 10:12:44 AM »
E' bello vedere come si riesca ad esprimersi in maniera pessima cercando di rimediare una espressione espressa male.
Non so se mi sono espresso bene e nel dubbio mi faccio un espresso.

vai pure, la macchinetta te l'ho lasciata accesa.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24