Hardware Upgrade Forum

Hardware Upgrade Forum (https://www.hwupgrade.it/forum/index.php)
-   Programmi e Utility (https://www.hwupgrade.it/forum/forumdisplay.php?f=37)
-   -   Excel: problematiche e soluzioni (https://www.hwupgrade.it/forum/showthread.php?t=2102242)


sbaffo 03-03-2016 17:58

Quote:

Originariamente inviato da fmasta56 (Messaggio 43437241)
Mi è bastato digitare esattamente quello che volevo ottenere (tipo: Excel: cambiare caratteri tutto maiuscolo in solo prima iniziale in maiuscolo) su Google e mi sono venute fuori queste

Per fare il giochino delle maiuscole ed altro esistono dei plug-in da installare (come le estensioni dei browser). Io una l'avevo scaricato ma non ricordo più come si chiama.

Bandit 04-03-2016 15:38

ciao a tutti ragazzi ho un problema che vorrei risolvere:

ho una tabella di 3 colonne.

la prima colonna A è il nome dell'oggetto

la seconda B e la terza C sono dati che voglio combinare insieme in un grafico "a dispersione".

E' possibile collegare i vari punti del grafico con la prima colonna dei nomi?
In modo tale che andando su un determinato punto del grafico non soltanto vedo i due valori delle due colonne B e C, ma anche i nomi della colonna A.


Io ho selezionato le due colonne B e C però non so come collegare la colonna A

sbaffo 05-03-2016 14:18

@ Bandit

Non ho capito il tipo di grafico che vuoi fare, ma non credo sia importante. Io sia con i grafici a torta che con le colonne facevo così: creavo il grafico senza nomi, poi ci cliccavo col tasto destro e tra le opzioni di modifica c'era qualcosa tipo 'origine dati', lì c'erano vari campi da riempire tra cui quello per i nomi. Mi pare che di default li mettesse vicino agli assi, ma poi tra le opzioni di formattazione c'erano altre possibilità.
In teoria si può creare così già dall'inizio, ma azzeccarci subito è difficile.

Dovrai provarci un po' per riuscere farlo come vuoi tu, e non escluderei una rifinitura finale a mano, io alla fine spesso spostavo leggermente o accorciavo qualche etichetta troppo lunga per dargli un aspetto più uniforme e ordinato.

fmasta56 06-03-2016 12:44

Quote:

Originariamente inviato da fmasta56 (Messaggio 43408610)
...io non lo so fare, ma sicuramente le query di excel sono utili, se non fondamentali! Il mio problema: devo sincronizzare i dati in due cartelle excel, di cui una con più fogli. In pratica:
-la cartella PIPPO ha al suo interno 10 fogli, uno denominato OGGETTI con circa 3000 righe e 70 colonne. La colonna K contiene i nomi dei fornitori, la colonna J il codice EAN, la colonna M il codice articolo del fornitore, la colonna Z il prezzo
-la cartella TIZIO ha invece 15.000 righe con 7 colonne: la colonna A contiene il codice articolo del fornitore TIZIO, la colonna B il codice a barre, la D il prezzo (le altre colonne non interessano)
-la cartella PIPPO deve sincronizzare i dati con TIZIO solamente per tutte le celle che contengono il nome TIZIO (quindi nella colonna K), aggiornando i dati corrispondenti nelle celle adiacenti J,M,Z
Esistono altre cartelle TIZIO 1-2-3 ecc. che devono fare lo stesso lavoro...
Non so se sono stato chiaro, ma si può fare? Da anni lo sto usando manualmente, ma è un bel casino e perdita di tempo stellare!

Risolto con una formula lunghissima e l'aggiunta di un foglio nella cartella! Ma è intervenuta l'ingegnere di famiglia (mia figlia):D :D :D

Bandit 06-03-2016 13:09

Quote:

Originariamente inviato da sbaffo (Messaggio 43445796)
@ Bandit

Non ho capito il tipo di grafico che vuoi fare, ma non credo sia importante. Io sia con i grafici a torta che con le colonne facevo così: creavo il grafico senza nomi, poi ci cliccavo col tasto destro e tra le opzioni di modifica c'era qualcosa tipo 'origine dati', lì c'erano vari campi da riempire tra cui quello per i nomi. Mi pare che di default li mettesse vicino agli assi, ma poi tra le opzioni di formattazione c'erano altre possibilità.
In teoria si può creare così già dall'inizio, ma azzeccarci subito è difficile.

Dovrai provarci un po' per riuscere farlo come vuoi tu, e non escluderei una rifinitura finale a mano, io alla fine spesso spostavo leggermente o accorciavo qualche etichetta troppo lunga per dargli un aspetto più uniforme e ordinato.


il grafico che vorrei fare è una specie di questo questo:

http://www.cma4ch.org/chemo/heritage/himage/correl5.png

dove l'asse X ed Y vengono ad essere le colonne B e C

ora vorrei che andando su uno dei quadratini mi comparisse il nome relativo presente nella colonna A.

Ho tentato di fare come hai detto tu, però trovo il problema che voglio rappresentare 2 valori (colonna B e C) e non anche la colonna A.

sbaffo 06-03-2016 18:52

@ Bandit
purtroppo non ho più installato excel ma un'alternativa free, quindi posso solo andare a memoria. In effetti mi pare che io li usassi sugli assi. Se non c'è un campo 'nomi' o 'titoli' o simile oltre a quello per i dati mi sa che puoi solo metterli a mano in 'postproduzione' :D .

@fmasta
non ti avevo detto che sarebbe stato facile ;) , anzi ti avevo detto 'due o più passaggi', infatti c'è voluto un foglio intermedio. Forse con un passaggio in più le formule sarebbero due ma più corte.

Ma se hai una figlia ingegnere non vale!:D dovresti essere tu a dare consigli a noi ;)

fmasta56 06-03-2016 19:11

Quote:

Originariamente inviato da sbaffo (Messaggio 43448849)
@ Bandit
purtroppo non ho più installato excel ma un'alternativa free, quindi posso solo andare a memoria. In effetti mi pare che io li usassi sugli assi. Se non c'è un campo 'nomi' o 'titoli' o simile oltre a quello per i dati mi sa che puoi solo metterli a mano in 'postproduzione' :D .

@fmasta
non ti avevo detto che sarebbe stato facile ;) , anzi ti avevo detto 'due o più passaggi', infatti c'è voluto un foglio intermedio. Forse con un passaggio in più le formule sarebbere due ma più corte.

Ma se hai una figlia ingegnere non vale!:D dovresti essere tu adare consigli a noi ;)

Eh eh eh...manco sapevo che fosse diventata brava con Excel...mi ha fatto scoprire cosine interessanti che non conoscevo ancora (tipo le tabelle pivot e altri piccoli trucchi)

Leader3000 12-03-2016 17:01

Buongiorno,
vengo subito al dunque: per necessità di lavoro devo creare diversi fogli in Excel per poi trasformarli in pdf. Al momento sono costretto a scrivere tutto cio' di cui necessito a mano e questo fa aumentare esponenzialmente il tempo che dovrei impiegare in altro.
Quindi pensavo ad un modo per diminiuire l'immissione manuale di dati e rendere tutto più veloce.
Vi faccio un esempio di quello di cui avrei bisogno:

1^ colonna: devo inserire una parola chiave, ad esempio: Amore, Banana, Ciao, Dado ecc.
2^colonna: devo inserire la descrizione della parola inserita nella pirma colonna, ad esempio: E' un sentimento bellissimo, E' un frutto ricco di vitamine, E' un saluto informale; E' un oggetto per sfidare la sorte ecc.

Inserire tutto a mano ogni volta diventa troppo lungo, quindi pensavo: e se creassi una sorta di "legenda" composta sempre di prima e seconda colonna con le relative parole e descrizioni e la collocassi al di fuori dell'area di stampa? In modo tale che ogni qualvolta che digito una lettera, ad esempio "A" mi escono già come opzioni tutte le parole che iniziano con la lettera A e non appena scelgo la parola che mi serve, automaticamente mi compili anche il relativo campo descrizione della seconda colonna.

E' possibile tutto ciò o chiedo qualcosa di assolutamente impossibile? Grazie anticipatamente per le risposte. :)

Daniele1984 17-03-2016 14:35

Quote:

Originariamente inviato da Leader3000 (Messaggio 43469558)
Buongiorno,
vengo subito al dunque: per necessità di lavoro devo creare diversi fogli in Excel per poi trasformarli in pdf. Al momento sono costretto a scrivere tutto cio' di cui necessito a mano e questo fa aumentare esponenzialmente il tempo che dovrei impiegare in altro.
Quindi pensavo ad un modo per diminiuire l'immissione manuale di dati e rendere tutto più veloce.
Vi faccio un esempio di quello di cui avrei bisogno:

1^ colonna: devo inserire una parola chiave, ad esempio: Amore, Banana, Ciao, Dado ecc.
2^colonna: devo inserire la descrizione della parola inserita nella pirma colonna, ad esempio: E' un sentimento bellissimo, E' un frutto ricco di vitamine, E' un saluto informale; E' un oggetto per sfidare la sorte ecc.

Inserire tutto a mano ogni volta diventa troppo lungo, quindi pensavo: e se creassi una sorta di "legenda" composta sempre di prima e seconda colonna con le relative parole e descrizioni e la collocassi al di fuori dell'area di stampa? In modo tale che ogni qualvolta che digito una lettera, ad esempio "A" mi escono già come opzioni tutte le parole che iniziano con la lettera A e non appena scelgo la parola che mi serve, automaticamente mi compili anche il relativo campo descrizione della seconda colonna.

E' possibile tutto ciò o chiedo qualcosa di assolutamente impossibile? Grazie anticipatamente per le risposte. :)

Puoi provare così (se non hai già risolto in altro modo). Nella prima colonna crei una "convalida dati". In una area non visibile del foglio crei una colonna nella quale metti nelle varie righe le parole che ti interessano "Amore, Banana, Ciao, Dado"; poi ti metti nelle caselle della prima colonna selezioni ->Dati->Convalida dati su "consenti" selezioni elenco e su origine le caselle dove hai scritto "Amore, Banana, Ciao, Dado". In questo modo hai un menù a tendina con le singole parole da scegliere. Per riempire la seconda colonna basta che crei una formula con la funzione SE() nella quale vai a riempire la cella della colonna 2 in funzione del contenuto della 1 oppure usi la funzione CERCA.VERTICALE() facendo la ricerca sempre in funzione del contenuto della casella della colonna 1.

ugo73 26-03-2016 08:14

Ciao,


dovrei ripetere la prima riga di una tabella (che chiamo tabella1) ogni cambio pagina. Il problema e che dopo questa tabella N record (dove N va da 1 ad un nimero non conosciuto a priori) ho altre tabelline / note. E' possibile con excel far ripetere la prima riga solo sulle pagine dove c'è la tabella1?

Ugo

TheQ. 28-03-2016 17:24

Ho un problema di non poco conto, ho un sistema con infinite soluzioni, per cui devo individuare i 12 valori di una matrice 4x4 (4 sono zeri sulla diagonale...ma pork, fastidiosissimo per i sistemi iterativi :doh: ) asimmetrica U (pure!!!), dati un vettore di 4x1 INPUT ed un vettore 1x4 Output.
es: A*IN=OUT, con A (4x4), IN(4x1) e OUT(1x4)

Ho 4 equazioni aggiuntive sulle colonne (tutti i valori di una colonna di A devono essere = a 100) e le quattro equazioni per le righe costituite dal sistema stesso. Quindi 4 incognite (sempre che il det di A non sia pure nullo, altrimenti mi sparo).
Devo trovare 12 coefficienti per la matrice A(4x4) che realizzi A*IN=OUT, scegliendo poi i coefficienti di A fra le varie condizioni suddette che minimizzino lo scarto quadratico medio dai coefficienti di A0 (4x4), i cui coefficienti sono ricavati con rilievo manuale.

:read:
(i problemi di pasquetta)

L'unica soluzione che mi sta venendo in mente è un brute force, ma mi sa che è più semplice farlo in fortran o C# che in excel...
Che dite?

benefabio 08-04-2016 08:07

edit edit

marbas62 09-04-2016 23:55

Ciao e grazie a tutti coloro che in qualche modo hanno scritto e suggerito soluzione e dritte, e risolto problemi. Ho letto quanto scritto e ho imparato molte cose.
Ho un problema su un file excel, che mi sta impegnando da molti giorni e non riesco a venirne a capo.
Il file sorgente (originariamente in CSV), è composto da n serie di righe composte sempre da 18 celle. Tutte le serie iniziano con un rigo con la prima cella contenente una "A" e terminano con l'ultima riga con la prima cella "Z".
Nel mezzo, ho righe con la prima cella "C", "D" e "T", che potranno apparire più volte o per niente (una "D" dovrà sempre essere presente).
Ipotizzando una presenza massima di 20 righe tipo C, 20 tipo D e 20 tipo T, ho necessità di creare un foglio che abbia alla prima riga il record A, dal rigo 2 al 21 le righe C, dal 22 al 41 le righe D, dal 42 al 61 le righe T e al 62 la riga Z di chiusura. Per poi ricominciare alla 63 con la riga A della successiva serie, e così via. Potrei anche per avere riferimenti precisi, far partire tutte le serie da 1, poi da 71, ecc, ma non è strettamente necessario.
Nel CSV sorgente non ho alcun riferimento numerico alla serie di dati; posso solo contarli trovando le righe A e Z.
Il mio scopo è quello di fare delle analisi sulle 18 celle che, a seconda della lettera di testata, assumono valori e riferimenti diversi.
Grazie fin da ora a chiunque riesca a dare consigli o soluzioni.
Ciao

lo sciamano 12-04-2016 14:51

Ciao,
qualcuno conosce il modo di avere da "convalida dati" -> "elenco" un elenco di elementi univoci.

grazie mille

sbaffo 12-04-2016 19:41

Quote:

Originariamente inviato da marbas62 (Messaggio 43559891)
Ho un problema su un file excel, che mi sta impegnando da molti giorni e non riesco a venirne a capo.
Il file sorgente (originariamente in CSV), è composto da n serie di righe composte sempre da 18 celle. Tutte le serie iniziano con un rigo con la prima cella contenente una "A" e terminano con l'ultima riga con la prima cella "Z".
Nel mezzo, ho righe con la prima cella "C", "D" e "T", che potranno apparire più volte o per niente (una "D" dovrà sempre essere presente).
...
Grazie fin da ora a chiunque riesca a dare consigli o soluzioni.
Ciao

La mia idea è di selezionare tutta la 'matrice' di n righe per 18 colonne e poi applicare 'filtri automatici', a quel punto metti la prima colonna in ordine alfabetico crescente e si muoveranno tutte le righe al seguito. Così avrai tutte le righe con la stessa lettera iniziale vicine.
Forse è meglio selezionare anche una riga vuota sopra la matrice per i menù a tendina.

c3n2o 15-04-2016 09:14

Come si usa ThisCell
 
Salve a tutti,
spero di spiegarmi bene.

Devo fare una tabella dove su n celle ci sono 3 radio button, che cambiano il colore della cella specifica che contiene i radio button (non quella selezionata)..

Ho registrato la macro ma mi ha scritto:
Range("A1").Select

Ho fatto un altra macro:
ActiveCell.Interior.Color = RGB(0, 250, 250)

Ma così fa solo la cella selezionata.. ma se clicco non è detto che selezioni la cella dove c'è il bottone..


Io invece vorrei qualcosa del tipo:
ThisCell.Interior.Color = RGB(0, 250, 250)

Scusate la mia ignoranza, ma è da ieri che googlo e questo è quello che sono riuscito a trovare.

Ora sto provando e ho provato con questo codice.. ma continua a darmi errore:

Codice:
Codice:

Sub OptionButton1_Click()
 'ActiveCell.Interior.Color = RGB(0, 250, 250)
 'CurrentCell.Interior.Color = RGB(0, 250, 250)  <-WRONG
 'Application.ThisCell.Address.Interior.Color = RGB(0, 250, 250)  <-WRONG
 'Dim cella As Range
 'cella = Application.Caller
 'cella.Interior.Color = RGB(0, 250, 250)
 'MsgBox Application.ActiveCell.Address  <-Funziona, ma cella sbagliata
 MsgBox Application.ThisCell.Address
End Sub


Trish 15-04-2016 12:25

Buon giorno a tutti,

avrei per favore bisogno di un paio di indicazioni su come elaborare un elenco.
Avrei bisogno di:

1) Ho varie colonne, in una di queste ho dei nomi che sono uguali, ho bisogno di trovare tutti quelli che sono uguali e cancellare il contenuto della cella, ma non la riga. In pratica mi serve trovare tutti i "Carlo" cancellare il contenuto della cella e avere la cella libera. SI può fare?

2) Ho bisogno che in una colonna, ogni 3 celle andando verso il basso mi sia cancellato il contenuto ed avere la cella vuota questo per tutta la colonna.Fattibile?

3) Ultima cosa, nella colonna C ho una valore ogni 2 celle andando verso il basso che deve essere spostato di 2 cella destra e 1 in alto, questo per tutta la cella C. In pratica se il valore è in C11 vorrei fosse spostato in E10. Posso farlo in automatico per tutta la colonna?


Grazie infinite, se avete da passarmi un link o video con la spiegazione così non dovete scrivere tutto mi fate comunque un grande favore ;)

sbaffo 15-04-2016 19:37

@trish

1) il modo più semplice che mi viene in mente, soprattutto se non sai già quali sono i nomi ripetuti, è usare i filtri automatici, metti in ordine alfabetico e ti verranno tutti gli uguali vicini, li cancelli.
Altrimenti c'è il trova e sostituisci.

2) boh, direi di no in automatico. Ma se predi il ritmo a mano viene bene: enter-enter-canc - enter-enter-canc... :D

3) dipende: se la colonna E è vuota e non devi cancellarle in C, in E10 scrivi +C11, lasci vuota la cella sotto (e11) poi trascini giù entrambe col riempimento automatico.
Se non è cosi semplice puoi selezionare tutte le celle che ti serve in C col ctrl e poi taglia-incolla. Se sono tante è noiosa la selezione, mi sa che devi andare di macro ma non le conosco.

-michael- 16-04-2016 08:27

ELIMINARE CONTATTI AUTOMATICAMENTE
 
Ciao ragazzi, vorrei eliminare da una lista di email in excel alcuni contatti che ho in un altra. In pratica non voglio avere nella prima lista i contatti che ho nella seconda. So che posso farlo manualmente cercandoli uno ad uno, ma vorrei sapere se é possibile farlo in una volta sola dato che sono molti.

Si può fare?

Raffaele53 18-04-2016 02:30

1 Allegato(i)
@c3n2o
>>>ThisCell.Interior.Color = RGB(0, 250, 250)
Scrivere direttamente la cella che vuoi colorare, EX
Range("A1").Interior.Color = RGB(0, 250, 250)

@-michael-
Ammettiamo che i dati siano sul foglio1 colonna A
Ammettiamo che i doppioni siano sul foglio2 colonna A
Sul foglio1 cella B1=CONTA.SE(Foglio2!A:A;A1), dopo trascini la formula in basso. Tutte le righe con il risultato maggiori di zero puoi cancellare

@Trish
TXT con tre codici, Apri il foglio premi ALT+F11 e incolla sulla destra (uno per volta, dal titolo capisci cosa farà). ATTENZIONE, non sapendo quali siano le colonne da elaborare dovrai posizionare il mouse nella colonna interessata e posizionarti sulla prima riga scritta.
Solo allora avviare il codice tramite freccia verde.

-michael- 18-04-2016 07:22

@Raffaele53 premetto che non ho mai usato Excel quindi per me è tutto arabo.
Ho provato a fare quello che mi hai detto (e che ho capito), ma il risultato è sempre 0.
Essendo un novincello e ignorando tutto di Excel, ho registrato un video di quello che ho fatto (così puoi vedere se ho fatto correttamente).

Il video lo trovi quà QUA

I file di prova su cui sto provando li puoi trovare qui QUI

Inoltre, come si fa a incollare la stessa formula in tute le celle di una colonna in una sola volta? Il file originale ha migliaia di email e farlo a mano sarebbe mo lto lungo.

Se tu (o qualche altro volenteroso) riuscissi a farmi un filmato utilizzando il mio file Excel d'esempio su quello che devo fare per riuscire a eliminare i contatti del foglio 2 dal foglio 1, te ne sarei molto grato. Un video vale più di mille parole (almeno nel mio caso :p )

c3n2o 18-04-2016 10:26

Quote:

Originariamente inviato da Raffaele53 (Messaggio 43584902)
@c3n2o
>>>ThisCell.Interior.Color = RGB(0, 250, 250)
Scrivere direttamente la cella che vuoi colorare, EX
Range("A1").Interior.Color = RGB(0, 250, 250)

Mettiamo che ho 5x5 celle con i bottoni radio.. ogni cella avrà il suo Range("xx")... giusto?
Mettiamo che voglia aggiungere una colonna.. Se faccio un copia/incolla dell'ultima colonna (la E) mi ritroverei sulla colonna copiata (la F) delle macro che fanno riferimento alla colonna precedente (quindi le macro saranno Range("Ex"), invece di Fx).. dovrei scrivere un altra macro che mi modifica la macro precedente o cosa?

Ho provato adesso a mettere sulla cella A1 le 3 macro per i tre pulsanti, ma come pensavo se copio e incollo in A2:A3, la macro punta sempre ad A1.. mentre mi serve che per i pulsanti in A2 puntasse ad A2 e in A3 puntasse in A3..

Quindi: come faccio a copiare la macro dicendogli che deve aggiornare il Range("xx")?

Grazie

Raffaele53 18-04-2016 12:49

@-michael-
Copia ed incolla in B1=OK
Adesso seleziona la cella B1 sposta il mouse sull'angolo destro-basso della stessa cella, finchè il simbolo del mouse CAMBIA, diventando come il simbolo +
Premi il tasto sinistro e tenendolo premuto, trascina la cella in basso sino dove vuoi.

@c3n2o
>>>copiare la macro dicendogli che deve aggiornare il Range("xx")?
Una macro fà quello che c'è scritto all'interno e non cambierà MAI le celle.Ti scrivi una macro distinta per ogni bottone
Oppure usi il DoppioClick (senza mettere bottoni). Questa colora oppure toglie il colore casomai aumenta l'area se devi inserire righe/colonne

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:F5")) Is Nothing Then 'modificare l'area
If Target.Offset(0, 0).Interior.Color = xlNone Then
Target.Offset(0, 0).Interior.Color = RGB(0, 250, 250)
Else
Target.Offset(0, 0).Interior.Color = xlNone
End If
End If
End Sub

c3n2o 18-04-2016 13:42

Quote:

Originariamente inviato da Raffaele53 (Messaggio 43586120)
@c3n2o
>>>copiare la macro dicendogli che deve aggiornare il Range("xx")?
Una macro fà quello che c'è scritto all'interno e non cambierà MAI le celle.Ti scrivi una macro distinta per ogni bottone
Oppure usi il DoppioClick (senza mettere bottoni). Questa colora oppure toglie il colore casomai aumenta l'area se devi inserire righe/colonne

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:F5")) Is Nothing Then 'modificare l'area
If Target.Offset(0, 0).Interior.Color = xlNone Then
Target.Offset(0, 0).Interior.Color = RGB(0, 250, 250)
Else
Target.Offset(0, 0).Interior.Color = xlNone
End If
End If
End Sub

Grazie mille.. ci studio un pò e vedo cosa riesco a fare.. forse sono io che mi sto complicando la cosa..

-michael- 19-04-2016 07:32

Quote:

Originariamente inviato da Raffaele53 (Messaggio 43584902)

@-michael-
Ammettiamo che i dati siano sul foglio1 colonna A
Ammettiamo che i doppioni siano sul foglio2 colonna A
Sul foglio1 cella B1=CONTA.SE(Foglio2!A:A;A1), dopo trascini la formula in basso. Tutte le righe con il risultato maggiori di zero puoi cancellare

@-michael-
Copia ed incolla in B1=OK
Adesso seleziona la cella B1 sposta il mouse sull'angolo destro-basso della stessa cella, finchè il simbolo del mouse CAMBIA, diventando come il simbolo +
Premi il tasto sinistro e tenendolo premuto, trascina la cella in basso sino dove vuoi.

Risolto.

Grazie :mano:

c3n2o 19-04-2016 10:11

Quote:

Originariamente inviato da c3n2o (Messaggio 43586311)
Grazie mille.. ci studio un pò e vedo cosa riesco a fare.. forse sono io che mi sto complicando la cosa..

Forse riesco a semplificare la cosa.. invece di usare la Macro uso la formattazione condizionale..
Riscrivo x completezza il problema:
SPOILER: Diciamo che ho 5x5 (A1:E5) celle con 3 pulsanti radio per ogni cella. I tre pulsanti radio colorano la cella di 3 colori diversi (per semplificare R, G, B).
Vorrei aggiungere altre colonne copiando l'ultima colonna (E1:E5) in modo ricorsivo, quindi prima in F, poi in G.. oppure usando il modo di trascinamento per copiare le celle.

Resta però il problema che quando copio le celle i pulsanti radio restano legati alle celle precedenti.. forse è qui che serve la macro:
serve qualcosa che modifichi in automatico (quando copiate) il riferimento alle celle dei bottoni radio..(quindi nell'esempio sopra copia E1:E5 in F1:F5.. ma se cambio i pulsanti in Fx, mi cambia il colore di Ex..

Grazie

-michael- 19-04-2016 11:20

Come eliminare e i dati nelle celle della colonna A del foglio 2 dalla colonna A del foglio 1 in un documento Excel?


Ecco la soluzione (con Excel presente in Office 2007) per tutti quegli utenti che hanno bisogno di una spiegazione passo passo:

1 - Scrivere sul foglio 1 nella cella B1 "=CONTA.SE(Foglio2!A:A;A1)" (senza le virgolette/apici) e premere il tasto invio.

2 - Selezionare la cella B1 a copiarla. Per farlo basta premere il tasto destro del mouse sulla cella e selezionare "copia" o in alternativa premere in successione ctrl+C con la tastiera. Il contorno tratteggiato della casella inizierà a muoversi. Fare doppio clic con il mouse su una casella vuota per farla fermare.

3 - Andare all'ultima casella in basso che si vuole controllare della colonna B e clicca con il mouse (la casella sarà selezionata e avrà il contorno nero).

4 - Con il mouse andare nella barra di scorrimento del documento. Cliccare e tenere premuto la barretta di scorimento libero e portarla in cima al documento.

5 - Premere e tenere premuto il tasto "Shift"(maiuscolo) della tasiera e con il mouse cliccare sulla cella B1. In questo modo Saranno selezionate tutte le celle.

6 - Premere ctrl+v dalla tastiera per incollare la casella B1 selezionata e copiata in precedenza in tutte le altre celle della cononna B.

7 - In tutte le caselle della colonna B1 appariranno dei numeri (dallo 0 (zero) in poi.

8 - Selezionare la colonna B cliccando semplicemente sulla lettera.

9 - Cliccare in alto a destra su "Home".

10 - Cliccare in alto a sinistra su "Ordina e filtra".

11 - Nela finestra a discesa che appare cliccare su "Ordina dal più grande al più piccolo".

12 - Apparirà una finestra di avviso che dice: "Esistono dei dati vicino alla selezione.Poichè non sono stati inclusi nella selezione, questi dati non saranno ordinati. Scegliere un'opzione: espandere la selezione. Continuare con la selezione corrente."

13 - Selezionare "Espandere la selezione" e cliccare su "Ordina". Tutti i valori superiori a 0 (zero) verranno messi in alto).

14 - Adesso si potranno cancellare facilmente tutti quei contatti che danno un valore superiore a 0 (zero).

15 - Scorrere il documento verso il basso e cliccare con il tasto sinistro del mouse sull' ultima cella della colonna B1 che ha ha come numero uno superiore a 0 (zero). Da questa casella in giù, tutti i numeri dovrebbero essere 0 (zero)

16 - Premere e tenere premuto il tasto "Shift"(maiuscolo) della tasiera e con il mouse cliccare sulla cella a fianco nella colonna A (stessa riga quindi).

17 - Con il mouse andare nella barra di scorrimento del documento. Cliccare e tenere premuto la barretta di scorimento libero e portarla in cima al documento.

18 - Premere e tenere premuto il tasto "Shift"(maiuscolo) della tasiera e con il mouse cliccare sulla cella A1 (si selezionerà anche la colonna B).

19 - Premere il tasto "Canc" sulla tastiera e verranno cancellate le caselle della colonna A e B selezionate prima.

20 - Selezionare la colonna B cliccando semplicemente sulla lettera B (tutta la colonna sarà selezionata).

21 - Premere il tasto "Canc" sulla tastiera e l'intera colonna sarà cancellata.

22 - Selezionare con il mouse la prima casella dela colonna A con dati (sopra di questa dovrebbero esserci solamente caselle vuote).

23 - Premere in successione sulla tastiera e tenere premuti ctrl+shift.

24 - Tenendo sempre premuto ctrl+shift, premere il tasto della freccetta verso il basso della tastiera (verranno selezionate tutte le caselle non vuote).

25 - Premere in successione ctrl+X sulla tastiera (comando per tagliare).

26 - Con il mouse andare nella barra di scorrimento del documento. Cliccare e tenere premuto la barretta di scorimento libero e portarla in cima al documento.

27 - Selezionare la casella A1 e premere in successione ctrl+V (comando per incollare). Tutti i dati precedentemente tagliati verranno incollati in cima al documento.


Adesso si avrà una lista pulita senza i dati presenti nel foglio 2.


Ringrazio l'utente Raffaele53 per il gentile aiuto.

Raffaele53 19-04-2016 15:12

@-michael-
Non mi sembra corretto. Usare un modo semplice per creare un post "risolutivo"
Il mio era solo un metodo, oppure avrei scritto una formula più complessa e più facile da eseguire.

@c3n2o
Ognuno si esprime in modo personale.
Ex: "pulsanti radio" sono forse i bottoni circolari???

Perchè non alleghi un file con esempi/spiegazioni varie descritte all'interno? Mi sembra che esista un comando "complesso" per sapere in quale cella sia (adesso non ricordo). Mà se spieghi il problema del colore, forse posso dare un'altra soluzione.

-michael- 19-04-2016 15:20

@Raffaele53 Perdonami ma non ti seguo. In cosa ho sbagliato? :(

ugo73 19-04-2016 19:58

Ciao

ho questa formula:

Codice:

=SE(O
    (E(A9=2001;O(E(C9=1;MESE($G$5)=6);E(C9=2;MESE($G$5)=7);E(C9=3;MESE($G$5)=8);E(C9=4;MESE($G$5)=9);E(C9=5;MESE($G$5)=10)));
      E(A9=1668;O(E(C9=1;MESE($G$5)=6);E(C9=2;MESE($G$5)=7);E(C9=3;MESE($G$5)=8);E(C9=4;MESE($G$5)=9);E(C9=5;MESE($G$5)=10)));
      E(A9=3805;O(E(C9=1;MESE($G$5)=6);E(C9=2;MESE($G$5)=7);E(C9=3;MESE($G$5)=8);E(C9=4;MESE($G$5)=9);E(C9=5;MESE($G$5)=10)))
    );"";"Errore di tipo 1")


in patrica non mi funziona la seguente parte:

Codice:

E(A9=3805;O(E(C9=1;MESE($G$5)=6);E(C9=2;MESE($G$5)=7);E(C9=3;MESE($G$5)=8);E(C9=4;MESE($G$5)=9);E(C9=5;MESE($G$5)=10)))
e non capisco il perché

Grazie

Ugo

Raffaele53 20-04-2016 00:01

Forse questo forum crea gli accapi, mà togliendoli funziona.
Si dovrebbe vedere un esempio per verificare che non funzioni?

c3n2o 20-04-2016 09:33

1 Allegato(i)
Quote:

Originariamente inviato da Raffaele53 (Messaggio 43590320)

@c3n2o
Ognuno si esprime in modo personale.
Ex: "pulsanti radio" sono forse i bottoni circolari???

Perchè non alleghi un file con esempi/spiegazioni varie descritte all'interno? Mi sembra che esista un comando "complesso" per sapere in quale cella sia (adesso non ricordo). Mà se spieghi il problema del colore, forse posso dare un'altra soluzione.


Allora ho fatto il file. Nella prima cartella c'è solo A1 con i tre pulsanti.

Se la copio (sia con copia/incolla sia trascinando l'angolino), i bottoni circolari restano collegati ad A1 (nel file la seconda cartella di lavoro -"Finale Sbagliato") invece di aggiornarsi a B1.

Il risultato dovrebbe essere come nella cartella "Finale corretta a mano", dove dopo la copia ho corretto il valore a mano.. sostituendo A1 con B1.


Il risultato finale di tutto ciò sarà che posso creare una tabella NxM celle facendo un rapido copia incolla della cella A1..

Sotto l'allegato..

Allegato 90932

Raffaele53 20-04-2016 15:17

Dal Tuo esempio, in ogni cella esiste una Casella di gruppo + 3 Pulsante di opzione. NB = Totale 4
Posizionandoti mouse destro su "Option Button 2" vedi in alto è abbinato alla cella ex $A$1. Se invece metti A1, anche se inserisci colonne/righe si adegua da solo.
NB. Dato che gli elementi all'interno della cella sono 4, nel codice ho messo Tot = 2, perchè il 1° sarà il nome gruppo, il 2° sarà il Button (inutile fare il 3/4 che sono ancora button)
A questo punto puoi copiare/incollare la cella dove Vuoi.
Se sei sul foglio giusto premendo ALT+F11, si apre l'editor ed incolli sulla destra il codice sotto che dovrai avviare ogni volta che inserisci nuove celle.

Sub Cella_Shapes()
Dim N, X, Ind, Tot
Tot = 2
X = ActiveSheet.Shapes.Count
For N = 1 To X
If ActiveSheet.Shapes(N).Name Like "Group Box*" Then
Ind = Replace(ActiveSheet.Shapes(N).TopLeftCell.Address, "$", "")
ActiveSheet.Shapes(N).Select
ElseIf ActiveSheet.Shapes(N).Name Like "Option Button*" Then
ActiveSheet.Shapes(N).Select
With Selection
.LinkedCell = Ind
End With
N = N + Tot
End If
Next N
MsgBox "fatto"
End Sub

c3n2o 21-04-2016 09:54

Quote:

Originariamente inviato da Raffaele53 (Messaggio 43593920)
Posizionandoti mouse destro su "Option Button 2" vedi in alto è abbinato alla cella ex $A$1. Se invece metti A1, anche se inserisci colonne/righe si adegua da solo.

Grazie mille :ubriachi: :flower: :flower:
Non ci sarei mai arrivato..

Dario 1 30-05-2016 13:16

Salve a tutti.
Sto compilando un catalogo di una collezione di insetti (!) di un museo, conservata in varie scatole. Devo mettere un cartellino su ogni insetto della collezione, e sono migliaia! :eek:

Sto facendo con Excel il catalogo: ho impostato la tabella così nel FOGLIO 1:



Nel FOGLIO 2 vorrei fare i cartellini, che poi stamperò e ritaglierò, da mettere sullo spillo degli insetti: vorrei che comparissero i dati in automatico, secondo questo schema:



In pratica: ogni cartellino (foglio 2) ha 3 righe e 2 colonne. Ciò che si trova nella stessa riga nel Foglio 1 viene qui distribuito come vedete: primo nome, poi sotto il secondo nome, poi sotto il terzo nome, quindi si passa alla colonna 2, dove ci sarà il quarto nome, poi sotto una cella vuota, poi sotto il numero, sempre da copiare dalle celle del Foglio 1.

C'è un modo per far tutto in automatico? Sostanzialmente la formula deve copiare la cella A2 del Foglio 1 e metterla nel foglio 2, poi deve saltare 2 righe e mettere la cella A3 sotto ecc...

Grazie a tutti e scusate il casino. Se servono altri dati ditemelo e li metto subito, secondo le vostre indicazioni.

Raffaele53 30-05-2016 15:54

Se in foglio2 in A4, metti =INDIRETTO("Foglio1!A"&INT((RIF.RIGA()-1)/3)+1)
Appare "Cane", nelle altre celle a fianco stessa formula cambiando solo una lettera della formula in Foglio1!B, Foglio1!C, Foglio1!D e Foglio1!E
Una volta fatto selezioni le celle A4:B6, vai col mouse in basso a destra della selezione (puntino) il mouse cambia forma, clicca sul sinistro e tenendolo premuto trascini in basso

Dario 1 30-05-2016 16:48

Eccezionale! Sei la mia salvezza! :winner:
Dovrò scrivere una relazione per il museo: posso citarti nei ringraziamenti?

JonaJams 07-06-2016 10:57

Voglio chiedere un consiglio: ho un foglio excel collegato a varie formule, che prendono in considerazione un elenco di dati che ho copiato da un altro file. Vorrei creare un pulsante, con selezione a tendina, che mi cambia i dati sul foglio in base alle diverse scelte che aggiungo (sono dati giornalieri, aggiorno ogni giorno il pulsante con i collegamento ai nuovi dati); in questo moodo potrei valutare le formule in maniera più veloce.

So usare decentemente excel ma zero conoscenza di vb :cry:
Spero abbiate capito!

serbring 08-06-2016 10:56

Ciao a tutti,

ricordo che in excel 2007 usavo una funzionalità di un grafico che permette di selezionare rapidamente il campo e in tal modo si può fare un grafico unico in cui tramite un menu a tendina dove è possibile selezionare il campo che si desidera plottare. Tutto questo per evitare di tappezzare il foglio di lavoro con diversi plot. Non ricordo il nome della funzionalità e cercando nella guida non sono riuscito a trovarla. Vi ricordate il nome?

grazie

ugo73 18-06-2016 10:48

Formule in una matrice costante
 
Ciao,

devo inserire delle formule in una matrice costante è possibile?

in particolare sto usando come formula principale quella relativa la giorno lavorativo e devo inserire i giorni vacanze i quali però variano da anno ad anno e quindi non posso semplicemente inserire la data in formato numero seriale ma devo far riferimento all'anno di riferimento che è dato in una cella (A1)

si può fare?

Ugo


Tutti gli orari sono GMT +1. Ora sono le: 03:55.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Hardware Upgrade S.r.l.