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

macro x excel Opzioni
aquila5
Inviato: Monday, July 28, 2003 7:38:13 AM
Rank: Member

Iscritto dal : 10/23/2001
Posts: 0
Ciao a tutti! premetto che non sono un genio con le macro di excel,mi arrangio un pochino,ora non riesco a farne una che probabilmente non è nemmeno tanto complessa.
Dovrei fare in modo che mi copi una cella da un foglio e la incolli in modo speciale solo valori in una cella di un'altro foglio e sino a qui nessun problema,ma il difficile è:se la cella dove incollare contenesse già dei dati dovrebbe passare alla cella successiva per incollare e se anche questa risultasse scritta alla successiva e così per 10 celle.
non so se sono stato chiaro provo a fare un es: copia cella (n33) seleziona foglio"riepilogo" seleziona cella (c16) se cella (c16)= 0 allora incolla speciale...altrimenti vai a cella c(c17);se cella (c17)=0 allora incolla speciale... altrimenti vai a cella (c18); se cella (c18) = 0 allora incolla speciale...........e così via sino alla cella C26
So che qualcuno può aiutarmi non so come ringraziarlo ma sicuramente gli offrirei volentieri qualcosa da bere,chissà i casi della vita sono tanti e forse un giorno potrò contraccambiare Grazie! ciao a tutti aquila5
Sponsor
Inviato: Monday, July 28, 2003 7:38:13 AM

 
c.broggio
Inviato: Monday, July 28, 2003 3:52:49 PM
Rank: Member

Iscritto dal : 10/4/2000
Posts: 0
ciao
non ho capito bene se nel foglio dove incolli i dati la cella e' vuota oppure e' uguale a zero comunque ti scrivo 2 macro in modo che tu capisca entrambi i casi .
io ho preso 2 fogli , foglio 1 cella b3 come cella da copiare , foglio 2 cella c16 come prima cella in cui incollare i dati .
prima macro se la cella da incollare ha valore zero
Sub Macro1()
Range("B3").Select
Selection.Copy
Sheets("Foglio2").Select
Range("C16").Select
Do While ActiveCell () 0
ActiveCell.Offset(1, 0).Activate
Loop
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
attento a questa riga :
do while activecell "diversa da zero"
se non erro in html si vede in maniera diversa
seconda macro , se la cella e' vuota
Sub Macro1()
Range("B3").Select
Selection.Copy
Sheets("Foglio2").Select
Range("C16").Select
Do While not isempty(ActiveCell)
ActiveCell.Offset(1, 0).Activate
Loop
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

spero di essere stato chiaro

ciao
aquila5
Inviato: Monday, July 28, 2003 9:39:24 PM
Rank: Member

Iscritto dal : 10/23/2001
Posts: 0
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
ciao
non ho capito bene se nel foglio dove incolli i dati la cella e' vuota oppure e' uguale a zero comunque ti scrivo 2 macro in modo che tu capisca entrambi i casi .

<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
Ciao c.broggio ho seguito le tue indicazioni,la prima macro non ho potuto provarla in quanto mi dà errore di sintassi al punto"Do While ActiveCell () 0" ho provato la seconda e,modificata secondo le mie esigenze direi che funziona sebbene al primo lancio della macro mi copia i dati contemporaneamente nella cella C16 e C17 mentre dovrebbe scriverli solo nella C16.
ho provato a modificare "ActiveCell.Offset(1, 0).Activate" mettendo offset (0, 0) ma così mi va a scrivere nella cella di intestazione.
Per spiegarti meglio ciò che devo fare ti dirò che i risultati di un test fatto da un bimbo una,due,...dieci volte in giorni ed in tempi diversi devono essere scritti nel riepilogo così da poter confrontare i miglioramenti nella velocità di esecuzione del test stesso.Ecco se riesci a darmi la dritta x far scrivere nella cella C16 quando eseguo la macro la prima volta per il resto funziona veramente OK! ciao aquila5 GRAZIE anche per la nuova risposta!!
c.broggio
Inviato: Monday, July 28, 2003 10:10:06 PM
Rank: Member

Iscritto dal : 10/4/2000
Posts: 0
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
ciao
non ho capito bene se nel foglio dove incolli i dati la cella e' vuota oppure e' uguale a zero comunque ti scrivo 2 macro in modo che tu capisca entrambi i casi .

<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
Ciao c.broggio ho seguito le tue indicazioni,la prima macro non ho potuto provarla in quanto mi dà errore di sintassi al punto"Do While ActiveCell () 0" ho provato la seconda e,modificata secondo le mie esigenze direi che funziona sebbene al primo lancio della macro mi copia i dati contemporaneamente nella cella C16 e C17 mentre dovrebbe scriverli solo nella C16.
ho provato a modificare "ActiveCell.Offset(1, 0).Activate" mettendo offset (0, 0) ma così mi va a scrivere nella cella di intestazione.
Per spiegarti meglio ciò che devo fare ti dirò che i risultati di un test fatto da un bimbo una,due,...dieci volte in giorni ed in tempi diversi devono essere scritti nel riepilogo così da poter confrontare i miglioramenti nella velocità di esecuzione del test stesso.Ecco se riesci a darmi la dritta x far scrivere nella cella C16 quando eseguo la macro la prima volta per il resto funziona veramente OK! ciao aquila5 GRAZIE anche per la nuova risposta!!

<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>
ciao
se leggi bene la mia risposta nella prima macro non devi mettere () ma il simbolo del diverso , prima minore poi maggiore , l'html non vede quel simbolo .
per la seconda macro controlla bene in quanto
se la serie e' vuota scrive solo in c16 , la parte do while ecc loop serve solo a controllare se la cella e' vuota o piena , se e' piena va sotto atrimenti scrive nella cella vuota .
scrivi per intero la macro che hai fatto tu che gli do un occhiata

ciao
aquila5
Inviato: Tuesday, July 29, 2003 5:35:45 AM
Rank: Member

Iscritto dal : 10/23/2001
Posts: 0
/quote]
ciao
se leggi bene la mia risposta nella prima macro non devi mettere () ma il simbolo del diverso , .........[/quote]
Ciao !! Ho provato anche l'altra mettendo il simbolo di diverso(sono proprio scemo a non aver capito quello che intendevi dire!!scusami)ma anche in questo caso quando dò il comando esegui macro scrive i dati sia in C16 che in C17,dopodichè funziona tutto in modo regolare ti ho copiato le due macro come le ho scritte così puoi capire il perchè!Avrei voluto inviarti in allegato tutta la cartella ma non saprei come fare ad inviartela ciao aquila5


Sub riepilogo() 'copia i dati nel riepilogo
Range("N35, O35, P35").Select
Selection.Copy
Sheets("riepilogo").Select
Range("C16").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Activate
Loop
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub _____________________________________________

Sub riepilogo1() 'copia i dati nel riepilogo
Range("N35, O35, P35").Select
Selection.Copy
Sheets("riepilogo").Select
Range("C16").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Do While ActiveCell () 0
ActiveCell.Offset(1, 0).Activate
Loop
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
c.broggio
Inviato: Tuesday, July 29, 2003 1:57:13 PM
Rank: Member

Iscritto dal : 10/4/2000
Posts: 0
ciao
sul primo pezzo non commento(pensavo non avessi capito , per le macro le provo appena ho un po' di tempo ma ad occhio credo che il problema stia nel fatto che copi 3 celle
se vuoi provare a scrivermi in privato ti do 2 mail
c.broggio@aiutamici.com
e una vecchia mail che usavo tempo fa
asc@libero.it

ciao
c.broggio
Inviato: Tuesday, July 29, 2003 2:06:31 PM
Rank: Member

Iscritto dal : 10/4/2000
Posts: 0
era una stupidata , praticamente copiava i dati in c16 ed in seguito cercava la prima cella vuota sotto .
ti scrivo la macro corretta , noterai che rispetto alla tua manca una riga cioe' quella che copiava i dati sempre in c16

Sub riepilogo() 'copia i dati nel riepilogo
Range("N35, O35, P35").Select
Selection.Copy
Sheets("riepilogo").Select
Range("C16").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Activate
Loop
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("a1").Activate
End Sub

per la seconda macro immagino riuscirai da solo a modificarla

ciao
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.