Condividi:        

modifica alla macro : incolla testo

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

modifica alla macro : incolla testo

Postdi raffygrp » 17/06/12 18:27

ho ripreso questa macro da un file che mi avevi aiutato a realizzare lo scorso anno.
l'ho adattata e mi funziona.
solo che la prima cella del " Range("A3333").End(xlUp).Row + 1 nel foglio cenismento " è una formula, e quindi quando la riscirve nel foglio di desitnazione "form richeista" mi perde i valori.
Mi aiuti a trovare la soluzione per " incolla valori " ?

Sub CompilaDati()
UBI = Worksheets("form richiesta").Range("A3333").End(xlUp).Row + 1
Worksheets("censimento").Range("A" & RigaC & ":M" & RigaC).Copy Destination:=Worksheets("form richiesta").Range("A" & UBI)
End Sub

grazie, ciao
raffygrp
Utente Junior
 
Post: 53
Iscritto il: 24/01/10 20:31

Sponsor
 

Re: modifica alla macro : incolla testo

Postdi Flash30005 » 17/06/12 20:00

No, non ci siamo
il codice originale (per preventivi) era
Codice: Seleziona tutto
UBI = Worksheets("form richiesta").Range("A33").End(xlUp).Row + 1


Significa conteggiare le righe a partire dalla riga 33 verso l'alto (aggiungendo una riga alla prima riga popolata)
Ora se tu hai
Codice: Seleziona tutto
UBI = Worksheets("form richiesta").Range("A3333").End(xlUp).Row + 1

e in A3333 hai una formula è chiaro che "vede" come popolata la A3333 e quindi scriverà nella cella A3334 ciò che hai
nel foglio "censimento" Range("A" & RigaC & ":M" & RigaC)
Quindi se devi scrivere sopra la cella A3333 devi spostare il riferimento colonna alla B (se vuota) o trovare un'altra soluzione (es A3332).
Oppure non ho afferrato bene il quesito (?)

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: modifica alla macro : incolla testo

Postdi raffygrp » 17/06/12 22:09

la formula funziona bene, a prescindere da dove inizia il conteggio( si parlava dalla riga A33 ,ma i miei dati arrivano alla riga A3333 )...te la riporto per intero :

Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CheckArea = "A:A"
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    If Mid(Target, 1, 2) = "" Then Exit Sub
RigaC = Target.Row
Foglio = Name
Call CompilaDati
End If
End Sub

Public RigaC As Integer, Foglio As String
Sub CompilaDati()
UBI = Worksheets("form richiesta").Range("A3333").End(xlUp).Row + 1
Worksheets("censimento").Range("A" & RigaC & ":M" & RigaC).Copy Destination:=Worksheets("form richiesta").Range("A" & UBI)
 
End Sub

come potrai capire, le macro mi fanno "destinare" dal folgio "censimento" al foglio "form richiesta" la riga con i dati sulla quale clikko ( scelgo la cella in colonna A, clikko, e la riga arriva al foglio form richiesta ) . proprio le celle in colonna A , rappresentano un codice che si costruisce con una formula ( stirnga.estrai + data+rif.riga) Quando però i dati arrivano al foglio "censimento", la formula che è nella cella di colonna A del foglio "censimento", resta attiva, facendomi modificare il valore.
per evitare ciò mi occorrerebbe poter trasferire i dati in formato testo, dal foglio "censimento" al foglio "form richiesta ", così da tenere solo i valori e non + le formule.
grazie, ciao
raffygrp
Utente Junior
 
Post: 53
Iscritto il: 24/01/10 20:31

Re: modifica alla macro : incolla testo

Postdi Flash30005 » 17/06/12 22:16

Prova a modificare questa parte
Codice: Seleziona tutto
Worksheets("censimento").Range("A" & RigaC & ":M" & RigaC).Copy
Worksheets("form richiesta").Range("A" & UBI).PasteSpecial Paste:=xlPasteValues


Fai sapere

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: modifica alla macro : incolla testo

Postdi raffygrp » 17/06/12 23:27

funziona alla grande !
....continuo, vado avanti, se ho bisogno d'altro ti ricontatto.
ciao e ancora grazie
raffygrp
Utente Junior
 
Post: 53
Iscritto il: 24/01/10 20:31

Re: modifica alla macro : incolla testo

Postdi Flash30005 » 18/06/12 00:17

raffygrp ha scritto:funziona alla grande !


Meno male!!!
(qualche volta mi capita di fare anche cose che non funzionano!) :D
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: modifica alla macro : incolla testo

Postdi raffygrp » 20/06/12 10:37

nn mi funziona il VbYesNo ....
dovrebbe chiedermi autorizzazione a procedere, se si continua tutta la macro che è dopo...ed invece nn mi parte il secodno mesgbox :si o no ...
puoi sistemarla?

' comunica il codice richiesta e chiede autorizzazoine alla presa incarico '
If Range("N3").Value > 0 Then
MsgBox ("la richiesta è stata presa in carico con il seguente codice : " & Range("n3").Value & " del " & Range("o3").Value): Exit Sub
MsgBox(" procedere con la presa in carico ? ") = vbYesNo
If MsgBox = vbYes Then
End If
End If

grazie
raffygrp
Utente Junior
 
Post: 53
Iscritto il: 24/01/10 20:31

Re: modifica alla macro : incolla testo

Postdi patel » 20/06/12 15:16

se usi l'help del vba trovi esempi dell'uso di msgbox, se cerchi poi con google ne trovi quanti ne vuoi, stai sbagliando la sintassi del comando, vedi http://www.excely.com/excel-vba/using-message-box.shtml
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: modifica alla macro : incolla testo

Postdi raffygrp » 20/06/12 15:49

lo so , e nn so andr avanti .... x questo chiedo aiuto a flash30005 !
grazie
raffygrp
Utente Junior
 
Post: 53
Iscritto il: 24/01/10 20:31

Re: modifica alla macro : incolla testo

Postdi patel » 20/06/12 18:23

allora tu non hai voglia di impegnarti a imparare, basta che ti risolvano il problema e sei a posto.
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: modifica alla macro : incolla testo

Postdi Anthony47 » 21/06/12 10:48

MsgBox(" procedere con la presa in carico ? ") = vbYesNo
If MsgBox = vbYes Then
Questa sintassi e' assolutamente inventata.
Ma se guardi l' help on line del vba (devi premere F1...) troverai la descrizione della sintassi e un esempio di come si usa:
Esempio di funzione MsgBox
In questo esempio la funzione MsgBox viene utilizzata per visualizzare un messaggio di errore critico in una finestra di dialogo che include i pulsanti Sì e No. Il pulsante No viene indicato come risposta predefinita. Il valore restituito dalla funzione MsgBox dipende dal pulsante scelto. Nell'esempio, si presuppone che DEMO.HLP sia un file della Guida che include un argomento con numero di contesto uguale a 1000.

Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Continuare ?" ' Definisce il messaggio.
Style = vbYesNo + vbCritical + vbDefaultButton2 ' Definisce i pulsanti.
Title = "Dimostrazione MsgBox" ' Definisce il titolo.
Help = "DEMO.HLP" ' Definisce il file della Guida.
Ctxt = 1000 ' Definisce il contesto dell'argomento.
' Visualizza il messaggio.

Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then ' L'utente sceglie il pulsante Sì.
MyString = "Sì" ' Esegue un'azione.
Else ' L'utente sceglie il pulsante No.
MyString = "No" ' Esegue un'azione.
End If

Quindi:
Codice: Seleziona tutto
Response = MsgBox("procedere con la presa in carico ?", vbYesNo)
If Response = vbYes Then    ' L'utente sceglie il pulsante Sì.


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: modifica alla macro : incolla testo

Postdi raffygrp » 21/06/12 19:37

ok, grazie 1000
come sempre gentilissimo.
ciao
raffygrp
Utente Junior
 
Post: 53
Iscritto il: 24/01/10 20:31


Torna a Applicazioni Office Windows


Topic correlati a "modifica alla macro : incolla testo":


Chi c’è in linea

Visitano il forum: Nessuno e 48 ospiti