Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Office suite

Notices

Rispondi
 
Strumenti discussione
Vecchio 15-10-2017, 21.16.07   #16
derekk
Newbie
 
Registrato: 06-10-2017
Messaggi: 12
derekk promette bene
Rif: excel - funzione INDIRETTO

Con vba credo sia l'unica possibilità.
Sorry
derekk non è collegato   Rispondi citando
Vecchio 16-10-2017, 20.44.04   #17
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.208
Alexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raro
Rif: excel - funzione INDIRETTO

Ok. torno a dire che questo è un uso anomalo del processo, comunque .....

1) siamo in Ottobre e apri il file Ottobre.xls, a Novembre apri Novembre.xls etc...
2) Importi dal file settembre.xls i dati nelle celle A3,A4,A5 etc.. (nomi dipendenti e i valori dalle celle C3,C4,C5 etc..

è corretto questo?

3) Quanti dipendenti ci possono essere nella colonna A
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 16-10-2017, 21.42.59   #18
derekk
Newbie
 
Registrato: 06-10-2017
Messaggi: 12
derekk promette bene
Rif: excel - funzione INDIRETTO

è esatto. 12 dipendenti
derekk non è collegato   Rispondi citando
Vecchio 17-10-2017, 23.00.52   #19
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.208
Alexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raro
Rif: excel - funzione INDIRETTO

Prova questa macro con queste impostazioni

1) apri il file ottobre.xlsm
2) nel foglio 1 in A1 digita la data 01/10/2017 e applica la formattazione personalizzata "mmmm"
3) Ora in A1 ti compare il mese di ottobre per esteso.
4) In A2 inseirsci la formula =TESTO(A1-1;"mmmm") e ti compare il mese precedente (settembre)
5) entra nell'editor di VBA (Alt+F11) crea un modulo e inserisci questo codice

Codice:
Sub prova1()
    
    cart = "C:\Users\User\Desktop\" '
    nomeFgl = "Foglio1" 'foglio di origine da cui prelevare i dati
    nomeFl = ActiveSheet.Cells(2, 1) 'nome del file da aprire
    r = 3: c = 1

For t = 3 To 14
    indi = Chr(64 + c) & r
    indi1 = Chr(64 + c + 2) & r
    
  perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi).Range("A1").Address(, , xlR1C1)
  perc1 = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi1).Range("A1").Address(, , xlR1C1)
    
    Sheets("Foglio1").Cells(t, 1) = ExecuteExcel4Macro(perc)
    Sheets("Foglio1").Cells(t, 3) = ExecuteExcel4Macro(perc1)
  r = r + 1
Next t

End Sub
6) Cambia la 1° riga di codice con il tuo percorso che deve terminare con la barra rovesciata \
7) torna al foglio1 di Excel e puoi inserire una forma rettangolare a cui abbini la macro appena inserita.
8) clicca sul rettangolo e fai girare la macro.

La macro importa i valori della colonna A (nomi dipendenti) e della colonna C (ore giacenza)
per i 12 dipendenti.
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 18-10-2017, 17.33.37   #20
derekk
Newbie
 
Registrato: 06-10-2017
Messaggi: 12
derekk promette bene
Rif: excel - funzione INDIRETTO

beh che dire, funziona alla grande!
con qualche riga hai risolto un problema enorme (per me)
adesso sto cercando di adattarla al mio foglio originale e ci sto studiando un po' sopra
Ma vorrei delle dritte
1) come modifico le celle da importare? A me interessano le colonne N Q T W Z AD AN AP BE, sempre partendo dalla riga 3: adesso sono 13 dipendenti per ognuno di loro ho unito 3 celle: quindi tizio è A3, caio A6 ecc...
2) è possibile far partire la macro all'apertura del file (senza cliccare sul tasto della macro?)

Grazie
derekk non è collegato   Rispondi citando
Vecchio 18-10-2017, 20.30.25   #21
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.208
Alexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raro
Rif: excel - funzione INDIRETTO

Quota:
Inviato da derekk Visualizza messaggio
....
2) è possibile far partire la macro all'apertura del file (senza cliccare sul tasto della macro?)
si basta che metti il codice nel foglio (foglio 1 di ottobre.xls) nell'evento activate e ogni volta che attivi il foglio1 parte la macro

per il resto cambia il codice con questo

Codice:
Sub prova1()
    
    cart = "C:\Users\User\Desktop\" '
    nomeFgl = "Foglio1" 'foglio di origine da cui prelevare i dati
    nomeFl = ActiveSheet.Cells(2, 1) 'nome del file da aprire
    r = 3: c = 1

For t = 3 To 15
    indi = Chr(64 + c) & r
    indi1 = Chr(64 + c + 2) & r
  perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi).Range("A1").Address(, , xlR1C1)
  perc1 = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi1).Range("A1").Address(, , xlR1C1)
    Sheets("Foglio1").Cells(r, 1) = ExecuteExcel4Macro(perc)
    Sheets("Foglio1").Cells(r, 3) = ExecuteExcel4Macro(perc1)
        For x = 14 To 28
           indi3 = Chr(64 + x) & r
            perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi3).Range("A1").Address(, , xlR1C1)
            Sheets("Foglio1").Cells(r, x) = ExecuteExcel4Macro(perc)
            x = x + 2
        Next
    x = 30
    indi4 = Cells(r, x).Address
    perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi4).Range("A1").Address(, , xlR1C1)
    Sheets("Foglio1").Cells(r, x) = ExecuteExcel4Macro(perc)

        For y = 40 To 42 Step 2
           indi5 = Cells(r, y).Address
            perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi5).Range("A1").Address(, , xlR1C1)
            Sheets("Foglio1").Cells(r, y) = ExecuteExcel4Macro(perc)
        Next
    
  indi6 = Cells(r, 57).Address
    perc = "'" & cart & "[" & nomeFl & "]" & nomeFgl & "'!" & Range(indi6).Range("A1").Address(, , xlR1C1)
    Sheets("Foglio1").Cells(r, 57) = ExecuteExcel4Macro(perc)
    
  r = r + 3
Next t

End Sub
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 19-10-2017, 16.48.19   #22
derekk
Newbie
 
Registrato: 06-10-2017
Messaggi: 12
derekk promette bene
Rif: excel - funzione INDIRETTO

tutto ok, il codice funziona benone. Però adesso che l'ho adattato al mio foglio, mi sono reso conto di quando mi dicevi "questo è un uso anomalo del processo".

Quota:
Inviato da Alexsandra Visualizza messaggio
puoi usare una macro oppure una formula con un collegamento diretto tipo

='Z:\2017\[settembre.xlsx]Foglio1'!A1

modificando i percorsi dell'esempio con i valori delle varie celle.
infatti con il collegamento diretto funziona, ed sino ad oggi infatti il mio file è stato così, ma volevo automatizzare totalmente le formule
ho bisogno di una formula dinamica, cioè che cambia in base ad un paramentro (in A3) nel mio esempio mi sembrava di aver reso bene l'idea...

A3=tizio

con la formula in

C3=("'Z:\2017\settembre.xlsx'!"&A3&"_rim") diventa ("'Z:\2017\settembre.xlsx'!"tizio_rim")
prende il valore di A3 e aggiunge il suffisso_rim (poi ce ne sono altri tipo _LP, _RL ecc).
se A3 cambia, ad esempio A3=caio la formula cambia in ("'Z:\2017\settembre.xlsx'!"caio_rim"), caio_LP, caio_RL ecc...
Facendo il collegamento diretto non funziona, serve indiretto che però funziona solo sui file aperti; ecco la mia domanda:
come ottenere quello che ho detto prima con un codice vba?
Più di così non sono in grado di spiegarmi, sorry
un grosso grazie
derekk non è collegato   Rispondi citando
Vecchio 19-10-2017, 20.13.27   #23
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.208
Alexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raro
Rif: excel - funzione INDIRETTO

Quota:
Inviato da derekk Visualizza messaggio
..... mi sono reso conto di quando mi dicevi "questo è un uso anomalo del processo".
per gestire 13 dipendenti è assurdo lavorare su 12 file quando puoi tenere tutto in 1 file solo.

Ad ogni modo la macro fa esattamente quello che hai richiesto, anche se è sbagliato andare a cambiare il valore in A3 o A6 etc... sia che tu abbia una formula sia che usi una macro.
Cambiare 1 solo valore implica che si deve cambiare lo steso valore anche nel file del mese precedente. Se nel file Ottobre, in A3 metti tizio, devi fare la stessa modifica anche nel file settembre.
Se tu usi un intervallo denominato a cui assegni un nome (_rim, lp etc...) questo nome è sempre riferito ad una cella. In pratica tu puoi cambiare il nome di tizio con caio, ma sulla riga di caio verranno importati i dati di tizio.

Quota:
ecco la mia domanda:
come ottenere quello che ho detto prima con un codice vba?
lo hai già, non vedi nessuna formula, ma vedi il valore.
oppure fondi tutto in un file unico e lavori con le formule.
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 20-10-2017, 00.10.19   #24
derekk
Newbie
 
Registrato: 06-10-2017
Messaggi: 12
derekk promette bene
Rif: excel - funzione INDIRETTO

proverò, intanto ti ringrazio moltissimo per la pazienza. Il codice mi sarà utile, ho cercato di capirci qualcosa, forse è la volta buona che mi metto a studiare un po' di vba ..
derekk non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
[excel] funzione indiretto per nome foglio qsin Office suite 13 07-03-2017 18.56.36
Laboratorio di VBA: Programmi e file sorgenti Alexsandra Guide 17 16-03-2016 20.33.27
Excel e Marketing - funzione range... LucaSeil Office suite 8 21-12-2005 12.54.39
CREARE FUNZIONE IN EXCEL simonpietro Office suite 3 25-07-2005 11.22.02
Formattare celle in Excel con una funzione? exion Software applicativo 2 15-06-2004 10.10.36

Orario GMT +1. Ora sono le: 02.46.29.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.