Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

Inserire i dati in modo automatico in una tabella excel 2007 di 300 colonne e 8 righe Opzioni
navarco
Inviato: Tuesday, December 08, 2009 10:14:37 PM
Rank: Newbie

Iscritto dal : 11/18/2009
Posts: 9
Ciao e da poco che ho incominciato ad interessarmi ad excel, in quanto mi serve per fare delle analisi statistiche o matematiche ancora non ho capito bene la formula che mi interessa, comunque il problema è questo:
Io devo compilare una tabella che ha tre valori costanti che sono N R 0, la tabella mi serve per immagazzinare dati e poi elabolarli,ma facciamo un passo alla volta.
La tabella in questione è composta da 300 colonne e 8 righe,ogni colonna è formata da 8 celle o righe ed in base a questi 3 dati costanti che mi giungono io devo compilare una colonna alla volta esempio prima colonna delle 300 avro N N R R 00 N R, quindi poi dovrò passare alla seconda colonna e avro di nuovo una sequenza R R N N 0 0 N R, le combinazioni per ogni colonna che mi giungono sono casuali io no le conosco se non in tempo reale, voi capite che il problema di andarmi a cercare la colonna poi la cella cliccarci sopra inserire il dato è una cosa un po macchinosa e lunga, quindi mi chiedevo se non fosse possibile automatizzare questo processo tramite una macro o dei tasti funzione, la mia idea era di avere questi 3 tasti funzione corrispondenti ai 3 valori e cliccando su uno di questi tasti il valore si inserisca automaticamente nella prima colonna alla prima riga o cella poi la seconda cella della prima colona seguendo un ordine logico , la prima colonna poi la prima cella la seconda la terza fino all'ottava, per poi passare alla seconda colonna e ricominciare da capo, premetto che non è detto che la colonna venga riepita fino all'ottava cella potrebbe fermarsi a 1 2 3 4 valori per poi passare alla seconda colonna così via fino alla 300° colonna. che dite si può fare?e se si da dove dovrei cominciare?
Sponsor
Inviato: Tuesday, December 08, 2009 10:14:37 PM

 
a10n11
Inviato: Wednesday, December 09, 2009 9:59:27 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
navarco ha scritto:

Io devo compilare una tabella che ha tre valori costanti che sono N R 0, la tabella mi serve per immagazzinare dati e poi elabolarli,ma facciamo un passo alla volta.
La tabella in questione è composta da 300 colonne e 8 righe,ogni colonna è formata da 8 celle o righe ed in base a questi 3 dati costanti che mi giungono io devo compilare una colonna alla volta esempio prima colonna delle 300 avro N N R R 00 N R, quindi poi dovrò passare alla seconda colonna e avro di nuovo una sequenza R R N N 0 0 N R, le combinazioni per ogni colonna che mi giungono sono casuali io no le conosco se non in tempo reale, voi capite che il problema di andarmi a cercare la colonna poi la cella cliccarci sopra inserire il dato è una cosa un po macchinosa e lunga, quindi mi chiedevo se non fosse possibile automatizzare questo processo tramite una macro o dei tasti funzione, la mia idea era di avere questi 3 tasti funzione corrispondenti ai 3 valori e cliccando su uno di questi tasti il valore si inserisca automaticamente nella prima colonna alla prima riga o cella poi la seconda cella della prima colona seguendo un ordine logico , la prima colonna poi la prima cella la seconda la terza fino all'ottava, per poi passare alla seconda colonna e ricominciare da capo, premetto che non è detto che la colonna venga riepita fino all'ottava cella potrebbe fermarsi a 1 2 3 4 valori per poi passare alla seconda colonna così via fino alla 300° colonna. che dite si può fare?e se si da dove dovrei cominciare?


salve
la cosa potrebbe non essere complessa da realizzare, è complicato capire il meccanismo di quanto hai esposto.
es:
quelle che chiami costanti, come si relazionano alle colonne? cos'è che mi dice che una data sequenza è relativa alla colonna 1 e non alla colonna 200?
Assegnando un pulsante di esecuzione alla costante N come identifico la sua posizione nella tabella?
Come e in che formati ti pervengono i dati??
intanto per cominciare a capire il problema.
saluti
Andrea


navarco
Inviato: Wednesday, December 09, 2009 10:42:29 AM
Rank: Newbie

Iscritto dal : 11/18/2009
Posts: 9
Allora i valori costanti mi arrivano tramite un programma, la roulette ,qundi i valori sono sempre gli stessi ma cambia l'ordine di inserimento, potrebbero esserci delle ripetizioni di colonne, infatti ogni colonna è una serie di punatate, quindi ogni colonna è una giocata che può arrivare a un massimo di 8 righe o celle o puntate per ogni colonna.I dati devono segure un ordine logico di iserimento cioè partire dalla prima colonna riempire o non completamente le righe ad esempio nella prima colonna potrei avere NNRR00RN e avrei completato la prima colonna, quindi passerei alla seconda colonna o serie di giocata ma stavolta potrei avere N N N N e la seconda colonna sarebbe completa cosìm fino alla colonna 300.Quello che sto cercando di capire e se cè un modo per inserire i dati seguendo un ordine logico nella tabella partendo dalla prima colonna e 8 righe, io è un mese che ho cominciato ad interessarmi ad excel 2007 quindi non so rispondere a tutte le tue domande.Quello che vorrei io è poter inserire questi 3 dati che mi gingono in modo automatico nella tabella, altrimenti la cosa risulterebbe lenta e macchinosa, puoi aiutarmi con questa tabella ciao.
a10n11
Inviato: Wednesday, December 09, 2009 11:19:26 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
navarco ha scritto:
Allora i valori costanti mi arrivano tramite un programma, la roulette ,qundi i valori sono sempre gli stessi ma cambia l'ordine di inserimento, potrebbero esserci delle ripetizioni di colonne, infatti ogni colonna è una serie di punatate, quindi ogni colonna è una giocata che può arrivare a un massimo di 8 righe o celle o puntate per ogni colonna.I dati devono segure un ordine logico di iserimento cioè partire dalla prima colonna riempire o non completamente le righe ad esempio nella prima colonna potrei avere NNRR00RN e avrei completato la prima colonna, quindi passerei alla seconda colonna o serie di giocata ma stavolta potrei avere N N N N e la seconda colonna sarebbe completa cosìm fino alla colonna 300.Quello che sto cercando di capire e se cè un modo per inserire i dati seguendo un ordine logico nella tabella partendo dalla prima colonna e 8 righe, io è un mese che ho cominciato ad interessarmi ad excel 2007 quindi non so rispondere a tutte le tue domande.Quello che vorrei io è poter inserire questi 3 dati che mi gingono in modo automatico nella tabella, altrimenti la cosa risulterebbe lenta e macchinosa, puoi aiutarmi con questa tabella ciao.


salve
proviamo a capire il meccanismo:

1) dati (che chiameremo set di giocata) arrivano singolarmente oppure arrivano a gruppi?
i set di giocata non sono necessariamente composti da 8 valori ma possono essere anche inferiori.
se arrivano singolarmente non c'è nessun problema se arrivano a gruppi come sono riconoscibili??
2) man mano che arrivano i dati, vanno inseriti nella prima colonna libera della tabella?
3) da dove leggi i dati che arrivano? sono scaricati all'interno del foglio o dove??
4) arrivati alla colonna 300 che succede??

Una macro per fare quello che chiedi in base alle risposte che attendo è solo una semplice macro di posizionamento.
saluti
Andrea



a10n11
Inviato: Wednesday, December 09, 2009 11:48:36 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
Salve
due esempi di macro x mostrare quello che ho capito.

1) la macro che segue, ipotizza che i dati arrivino in formato testo in unica cella
esempio in cella B1 arriva un dato di questo tipo: RRNN00RR, Che la tabella inizi da riga 11 colonna 1

Sub Completa()
COL = 1
riga = 11
Mioset = Cells(1, 2).Value
While Cells(11, COL) <> ""
COL = COL + 1
Wend
x = Len(Mioset)
For i = 1 To x
Cells(riga, COL).Value = Mid(Mioset, i, 1)
riga = riga + 1
Next i
End Sub


2) la macro che segue, ipotizza che i dati arrivino sempre in formato testo ma ogni singolo valore in singola cella
esempio da cella A1 a cella A8
N
N
R
0
0
N
N
e che la tabella inizi da riga 24 colonna 1

Sub Completa2()
COL = 1
riga = 11
Set Mioset = Range("A1:A8")
While Cells(23, COL) <> ""
COL = COL + 1
Wend
Mioset.Copy Destination:=Cells(23, COL)
Set Mioset = Nothing
End Sub

Vedi risultato nell'immagine
saluti
Andrea


navarco
Inviato: Wednesday, December 09, 2009 1:01:22 PM
Rank: Newbie

Iscritto dal : 11/18/2009
Posts: 9
Ok non ho capito come hai fatto ad iserire l'immagine della tabella ,comunque quello che mi serve è il secondo esempio di macro cioè 300 colonne 8 righe ed ogni cella contiene un valore alfanumerico che può essere N R 0.La macro deve seguire un ordine logico cioe come nel l'esempio della tabella colonna 1 riga 11 12 13 14 ecc per poi passare alla colonna 2 e ricominciare con le righe .Hai capito il discorso che le colonne non è detto che vengano riempite fino all'ottava riga , come si vede nella tabella che hai fatto colonna 3 da riga 11 a 15 . Ora io per inserire i dati automaticamente e fare questa tabella che cosa devo fare ? Da dove comincio?Io ho excel 2007.ciao
a10n11
Inviato: Wednesday, December 09, 2009 2:06:03 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
navarco ha scritto:

Da dove comincio?Io ho excel 2007.ciao


salve
bisogna che cominci rispondendo alle domande che ti ho posto.
Necessita sapere qual'è la sorgente dei dati, come vengono acquisiti da excel e dove sono allocati, altrimenti non saprei come adattare la macro alle tue esigenze.
saluti
Andrea

navarco
Inviato: Wednesday, December 09, 2009 2:18:45 PM
Rank: Newbie

Iscritto dal : 11/18/2009
Posts: 9
La sorgente dei dati è un programma che genera combinazioni casuali di 3 parametri fissi che sono N R 0 i dati non cambiano mai cambia la loro disposizione.
Excel i dati li aquisisce tramite me, sono io che man mano che i dati vengono generati dal programma, io li inserisco manualmente nella tabella che ti ho descritto, per questo sto cercando di automatizzare il processo di inserimento dati, perchè manualmente e macchinoso e mi fa perdere tempo.
Poi che cosa intendi quando dici dove sono allocati?puoi spiegarmi con parole semplici. ciao
a10n11
Inviato: Wednesday, December 09, 2009 2:39:59 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
Ora ho avuto la risposta che aspettavo.
Pensavo che prendessi i dati in automatico da un'altra applicazione.
Che ne dici di usare una maschera per l'inserimento dei dati automatizzando l'inserimento nella colonna di pertinenza? vedi immagini:

Prova a costruire il tuo foglio come in questa immagine


il pulsante "inserisci dati" apre la maschera di inserimento dati che vedi qui sotto




Questo è il codice assegnato al pulsante "INSERISCI"
Private Sub CommandButton1_Click()
col = 1
riga = 5
While Cells(5, col) <> ""
col = col + 1
Wend
For I = 1 To 8
Cells(riga, col).Value = Me.Controls("TextBox" & I).Value
riga = riga + 1
Me.Controls("Textbox" & I).Value = ""
Next I
End Sub

se lasci un recapito ti mando il file di esempio.
saluti
Andrea

navarco
Inviato: Wednesday, December 09, 2009 2:52:09 PM
Rank: Newbie

Iscritto dal : 11/18/2009
Posts: 9
http://www.4shared.com/login.jsp?sessionUnavailable=1 Questo è il link di un sito dove gratuitamente ti danno un po di spazio per lasciarci il tuo file e poi dandomi il link io me lo posso scaricare lo ho già usato e funziona usa la modalità freewer però ti devi registrare ma non paghi niente , altrimenti se pensi che può andare bene ti do il mio indirizzo vedi tu grazie e ciao a10n11
a10n11
Inviato: Wednesday, December 09, 2009 2:57:23 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
ti ho inviato il file.
PS.
Cancella il tuo indirizzo Mail dal post.
saluti Andrea

navarco
Inviato: Wednesday, December 09, 2009 4:47:10 PM
Rank: Newbie

Iscritto dal : 11/18/2009
Posts: 9
Ciao e grazie ora però volevo sapere quali sono i passaggi che hai fatto per creare questa tabella, come si crea una maschera? l'ai fatta tutta dalla barra multifunzione o hai dovuto scrivere del codice in visual basic?hai dovuto registrare delle macro?volevo imparare come si fa, sei il primo che mi parla di maschere ho vari libri ma nessuno ti isegna a fare una maschera, hai un po di tempo per spiegarmi anche per capire su cosa mi devo documentare.ciao e grazie
a10n11
Inviato: Wednesday, December 09, 2009 5:38:25 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
per usare Userform (Maschere) con i relativi controlli, necessita conoscere un minimo di linguaggio Visual basic.
L'esempio che hai ricevuto, è stato creato utilizzando del codice vba (macro). Anche senza l'uso di maschere, la soluzione del tuo problema avrebbe avuto bisogno di macro non realizzabili tramite il registratore di macro.
La sola cosa che posso consigliarti, per prendere dimestichezza con l'ambiente vba e maschere è un fenomenale librettino dal costo contenuto che può insegnarti presto e bene.
http://www.unilibro.it/find_buy/Scheda/libreria/autore-gallifuoco_romano/sku-644660/laboratorio_di_vba_.htm
saluti
Andrea

navarco
Inviato: Wednesday, December 09, 2009 5:53:09 PM
Rank: Newbie

Iscritto dal : 11/18/2009
Posts: 9
ok per adesso ti ringrazio e penso che lo coprerò quel libro appena avrò finito di leggere i manuali che ho trovato in rete e i libri che ho già comprato grazie ciao
a10n11
Inviato: Wednesday, December 09, 2009 5:58:35 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
navarco ha scritto:
ok per adesso ti ringrazio e penso che lo coprerò quel libro appena avrò finito di leggere i manuali che ho trovato in rete e i libri che ho già comprato grazie ciao

salve
la soluzione che ti ho prospettato è risultata pertinente al tuo problema?? se vuoi si può sempre fare a meno dell'uso di una Userform.
saluti
Andrea


navarco
Inviato: Wednesday, December 09, 2009 6:29:51 PM
Rank: Newbie

Iscritto dal : 11/18/2009
Posts: 9
Ciao si mi sembra vada bene, mi permette di impostare dati senza dover seguire la tabella, quindi posso concentrarmi sul programma da cui arrivano i dati e riempire la tabella automaticamente.
Questo però è solo il primo passo il progetto che ho in mente è più ampio quindi +avanti forse avrò ancora bisogno, questa è una tabella che mi serve per immagazzinare dati, poi dovranno essere elaborati. Adesso me la voglio studiare e capirci qualcosa di + poi la dovrò riempire.Stavo pensando che forse gli manca un tasto che una volta che ho elaborato i dati questi vengano cancellati, per poter riutilizzare la tabella nuovamente.Più avanti avrò bisogno di cominciare ad utilizzare le formule e creare altre 2 o 3 tabelle + piccole,sempre collegate a questa, quindi rimani nei paraggi.ciao
a10n11
Inviato: Wednesday, December 09, 2009 7:43:23 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
per ripulire la tabella, assegna ad un pulsante la seguente macro:

Sub cancella()
Range(Cells(5, 1), Cells(13, 300)).ClearContents
End Sub

saluti
Andrea


navarco
Inviato: Wednesday, December 09, 2009 8:05:39 PM
Rank: Newbie

Iscritto dal : 11/18/2009
Posts: 9
OK.Senti stavo cercando di visualizzare il codice per portare le colonne da 250 a 300, apro il foglio vado su visual besic ma il codice non cè ho utilizzato anche il tasto visualizza codice ma si apre una schermata vuota di visual basic, mentre se seleziono il tasto e poi schiaccio visualizza codice mi compare :
Sub Pulsante1_Clic()
UserForm1.Show
End Sub
è normale? è possibile portare le colonne da 250 a 300? ciao
a10n11
Inviato: Thursday, December 10, 2009 12:45:21 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
per estendere la numerazione delle colonne che trovi a riga 4, bisogna che completi a mano la numerazione quella non è realizata tramite macro.
PS.
per accedere all'editor di visual basic digita Alt+F11
saluti
Andrea

Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.