Finanza24ore.com - copia automatica
Finanza24ore.com
Home | Registrati | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download | Cerca | FAQ

Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 Forum
 Excel Trading
 copia automatica
 Nuova Discussione  Discussione Bloccata
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

n/a
deleted



12 Messaggi

Inserito il - 28/02/2008 : 22:59:39  Mostra Profilo Invia a n/a un Messaggio Privato
salve a tutti e grazie per il vostro aiuto.
premetto che non sono molto esperto...
Sto usando due macro per copiare dei dati in celle: ora C11:I30
ora O11:U30 a seconda del comando che eseguo...e fin qui tutto bene!
(allego le macro)

Sub CopiaIncollab()
Dim n As Integer
ActiveSheet.Range("a5:g5").Select
Selection.Copy
Sheets("Copia").Select
For n = 11 To 30
With Worksheets("Copia").Cells(n, 3)
If .Value = "" Then GoTo 10
End With

Next n
Exit Sub

10:
Sheets("Copia").Select
Cells(n, 3).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Application.CutCopyMode = False

Range("g3").Select

End Sub




Sub CopiaIncollas()
Dim n As Integer
ActiveSheet.Range("A5:g5").Select '
Selection.Copy
Sheets("Copia").Select
For n = 11 To 30
With Worksheets("Copia").Cells(n, 15)
If .Value = "" Then GoTo 10
End With

Next n
Exit Sub

10:
Sheets("Copia").Select
Cells(n, 15).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Application.CutCopyMode = False

Range("g3").Select

End Sub




Osserverete dalle macro che i dati si copiano su celle fino al riempimento di 20 caselle in verticale.

Questi dati che raccolgo in A5:G5 hanno sempre in G39 una sigla di identificazione es: o "B" o "S"
Vorrei usare queste "B" o "S" (che sono in G39) per rendere automatica la mia copia, eliminando i due comandi e tenerne uno solo, facendo si che quando G39 è "B" i dati si copiassero in: C11:I30 e quando in G39 è "S" i dati si copiassero in: O11:U30
come devo fare?... vi ringrazio in anticipo per il vostro aiuto




Diego Vassallo
Amministratore



156 Messaggi

Inserito il - 29/02/2008 : 10:50:27  Mostra Profilo  Visita l'Homepage di Diego Vassallo Invia a Diego Vassallo un Messaggio Privato
scusami se ti rispondo così alla veloce, ma il tempo è sempre più che tiranno.
puoi usare le funzioni di manipolazione delle stringhe..
Le lettere identificative B o S sono sempre all'inizio della stringa contenuta nelle celle ?
in caso affermativo puoi fare così

valorecella = prelevi il valore con un ciclo nella celle del range a5:g5
' ecco quello che fa al caso tuo
primovalore = mid(valorecella,1,1)
if primovalore = "B" then (fai una cosa)
if primovalore = "S" then (fai un'altra cosa.)

Scusa la risposta iperveloce...
Dicci se hai risolto o se hai altri problemi manda pure altre richieste.

Ciao e grazie di aver usto il nostro forum.
Diego


Torna all'inizio della Pagina

n/a
deleted



12 Messaggi

Inserito il - 29/02/2008 : 17:39:37  Mostra Profilo Invia a n/a un Messaggio Privato
ti ringrazio per la tua veloce risposta, ma come dicevo...sono poco esperto e fatico ad inserire i dati che mi hai gentilmente donato...
se vuoi allego il file così vedi come funziona e quale comando è necessario sostituire o modificare... grazie

Allegato: moduli.zip
134,94 KB
Torna all'inizio della Pagina

Diego Vassallo
Amministratore



156 Messaggi

Inserito il - 01/03/2008 : 10:04:49  Mostra Profilo  Visita l'Homepage di Diego Vassallo Invia a Diego Vassallo un Messaggio Privato
Ciao..
prima di tutto un piccolo suggerimento .. non usare mai ( a parte casi molto speciali) l'uso del comando "goto"; se per caso volessi approfondire l'uso del VBA e dovessi scrivere programmi più corposi, saresti veramente poi in difficoltà a controllare e modificare il codice.
tornando a noi potresti associare questa macro ad un singolo pultante

Sub scelta()

valorescelta = Workbooks("moduli.xls").Worksheets("copia").Cells(39, 7).Value

If valorescelta = "S" Then Call CopiaIncollas
If valorescelta = "B" Then Call CopiaIncollab
End Sub

l'ho provata è sembra funzionare correttamente.
Fammi sapere se hai risolto.
Ciao
Torna all'inizio della Pagina

n/a
deleted



12 Messaggi

Inserito il - 01/03/2008 : 11:27:37  Mostra Profilo Invia a n/a un Messaggio Privato
ok ok ...funziona grazie mille...non so come ringraziarti... ciao
Torna all'inizio della Pagina

Diego Vassallo
Amministratore



156 Messaggi

Inserito il - 01/03/2008 : 11:34:32  Mostra Profilo  Visita l'Homepage di Diego Vassallo Invia a Diego Vassallo un Messaggio Privato
Bene.. la tua soddisfazione è già un'ottimo ringraziamento.
Torna spesso a trovarci.. nell'area Excel VBA metterò un sacco di materiale molto interessante.
Ciao !!
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Discussione Bloccata
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Questa pagina è stata generata in 1 secondi. TargatoNA.it | SuperDeeJay.Net | Snitz Forums 2000