PDA

Visualizza versione completa : IMPARARE IL CODICE


dariobarbera
13-08-2013, 12.44.33
Buon giorno a tutti,
ho fatto solo un piccolo corso di programmazione e sono interessato a saperne di più sapreste consigliarmi qualche sito/libro per poter imparare meglio?
grazie a tutti:Oh-yea:

LoryOne
13-08-2013, 13.43.49
Ciao.
Prima di tutto, bisogna capire che corso hai frequentato ed in quale linguaggio: Potresti anche aver frequentato un cosro puramente teorico e non aver nemmeno buttato giù una riga di codice.
In secondo luogo, puoi inizare a programmare con quel linguaggio e buttare giu qualcosa che ti sia utile. *
Con l'andare del tempo, la tua passione potrebbe portarti ad imparare altri linguaggi ed a renderti conto che alcuni sono più ostici di altri, più macchinosi di altri, più affascinanti di altri...da qui intuire che è necessario comprendere come funziona più nel dettaglio la macchina, sia dal punto di vista architetturale, sia dal punto di vista del S.O., ambiente entro il quale funziona il programma stesso.
Credo che la cosa migliore per te sia cominciare con quello che hai imparato: Se da qui a qualche giorno ti presentassi su questo sito a chiedere "come si fa per, ecc,ecc" e la risposta fosse palese, non credo che consigliarti altri studi possa renderti la vita più facile...
Credimi che quanto sopra non è offensivo, ma è un consiglio per imparare come si deve dalle basi.

* Imparare a programmare significa prima di tutto imparare a godere dei risultati ottenuti con un qualcosa che ti dia soddisfazione.

dariobarbera
14-08-2013, 10.33.04
Grazie per il consiglio,
avevo giá buttato giu´alcune righe di codice ai tempi usando vba e adesso sto lavorando con excel. Ho giá postato alcune domande e per questo mi interesserebbe capirci di piú perché spesso mi inviano dei codici giá scritti e non riesco a lavorarci su (sotto ti metto un esempio) e aparte questo non vorrei continuare a chiedere e magari un giorno vorrei provare ad aiutare io stesso in prima persona.

Quello che per esempio non capisco di questo codice é come faccio a scegliere le righe da copiare e dove posso far apparire le caselle copiate.




Sub CopiaIncolla()
Dim cella(10), I, TRig '<<<<---- 10 = le colonne
I = 1
TRig = Cells(Rows.Count, I).End(xlUp).Offset(0, 0).Row
For I = 1 To 10 Step 1
Cells(TRig, I).Select
Selection.Copy
Cells(TRig + 1, I).Select
ActiveSheet.Paste
Next I
Application.CutCopyMode = False
End Sub

LoryOne
14-08-2013, 10.49.28
Copia le righe intere

Rows("1:1").Select
Selection.Copy
Rows("2:2").Select
ActiveSheet.Paste
Application.CutCopyMode = False

Copia le colonne intere

Columns("A:A").Select
Selection.Copy
Columns("B:B").Select
ActiveSheet.Paste
Application.CutCopyMode = False

Sia nelle righe, sia nelle colonne, se imposti una variabile al posto delle costanti, hai risolto il problema.
L'utilizzo di Cells, evita di mostrare a video il riquadro di selezione (pertanto è esteticamente più gradevole) e lo si utilizza per una maggiore velocità d'esecuzione.

Nel ciclo For...To...Next, la variabile assume il valore iniziale che viene incrementato di 1 (salvo step differente) ad ogni Next fino al To.

TRig = Cells(Rows.Count, I).End(xlUp).Offset(0, 0).Row
Utilizza la finestra di debug (debug.print TRig) per identificarne il valore: ovviamente, esso è legato ad una selezione. Cambia la selezione e verifica il valore.
La Sub CopiaIncolla() non accetta parametri. Puoi impostarli e richiamare identica Sub specificandoli all'atto della chiamata.

borgata
14-08-2013, 11.04.45
Quello che per esempio non capisco di questo codice é come faccio a scegliere le righe da copiare e dove posso far apparire le caselle copiate. [...]
Attenzione perchè questo è crossposting con quanto richiesto qui (http://www.wintricks.it/forum/showthread.php?p=1682683#post1682683).
Le richieste si fanno in un solo topic, quelle duplicate sono contro il regolamento.

dariobarbera
14-08-2013, 11.27.25
Grazie peró ho perso qualche passaggio nel tuo discorso.
si la discussione é giá iniziata da un altra parte ma non mi rispondeva nessuno e l´ho postata qui per fare un esempio.
comunque se é un problema posso cancellarla.
In piú invito laryone se ne avessi voglia a spiegarmi un secondo meglio la parte della selzione perché ho provato a cambiare il codice ma penso di aver sbagliato i valori da copiare dovrei inserirli vicino alla sub()? oppure TRig = Cells(Rows.Count, I).End(xlUp).Offset(0, 0).Row
tra nel rows? e posso scegliere dove farle copiare?

nel caso fosse un problema rispondere qui l'altra discussione é http://forum.wintricks.it/showthread.php?p=1682698#post1682698
Grazie ancora di tutto

LoryOne
14-08-2013, 11.43.55
Certo che posso.
Il problema è TRig, giusto ?
Lascia perdere il foglio di excel al quale stai lavorando.
1 - Creane un altro
2 - Inserisci quella riga all'interno di una sub in un modulo VBA, con I=1
3 - Aggiungi codice che visualizzi il valore di TRig.
4 - Associa quella sub ad un pulsante.

Premi il pulsante e guarda quanto vale TRig.
Esegui una selezione a casaccio, poi premi il pulsante e guarda quanto vale TRig.

Se prefersici, premi F2 all'interno di VBA.
Cercati Cells e guarda quali parametri vuole, nonchè le proprietà di tale oggetto.
Ricostruisci a ritroso il valore di TRig in base alla riga di codice specificato.

Non è la prima ne l'ultima volta che ad un programmatore si presenta la necessità di riscrivere codice altrui che sia più funzionale e comprensibile, quindi armati di pazienza e riscrivi.

borgata
14-08-2013, 12.04.55
si la discussione é giá iniziata da un altra parte ma non mi rispondeva nessuno e l´ho postata qui per fare un esempio.
comunque se é un problema posso cancellarla.
Proprio in questo consiste il crossposting! ;)

Cancellarla non ha senso, basterebbe che un moderatore spostasse questi ultimi post nell'altro topic, ossia nel posto giusto per parlarne.

RunDLL
15-08-2013, 00.09.06
Unire le discussioni non è possibile perché inizialmente questa era partita con un altro oggetto, ormai è andata così magari se cerchi altre risposte a domande sul codice continua nell'altra.
Tornando invece al tema odierno ancora non mi è chiaro di quale linguaggio hai seguito il corso, presumo VBA.

borgata
15-08-2013, 00.41.43
Si, direi VBA, che a mio parere non è il massimo per iniziare (oltre al fatto che era vetusto già quando l'ho studiato io).

Per le discussioni, non parlo di unirle, ma di spostare alcuni specifici post (dal terzo in poi più o meno) nell'altra discussione.

RunDLL
18-08-2013, 00.15.23
Personalmente se dovessi utilizzare VBA mi orienterei più su applicazioni Access piuttosto che Excel.