Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

excel formato diverso da origine su copia da userform

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

excel formato diverso da origine su copia da userform

Postdi donbadi » 26/02/14 16:46

dinuovo a chiedere il vostro aiuto
dunque
ho creato un userform per l'aggiunta di date di controllo su una tabella funziona tutto tranne che quando và a copiare i dati che inserisco me li copia in un formato tutto suo e cosa ancora più spiacevole fà saltare le formule (gentilmente raggiunte con l'aiuto di Anthony47 :lol: )e le formattazioni della tabella nella quale vado a copiare i dati.Vi riporto il mio codice il problema che vorrei risolvere è :
-formattazione da utilizzare : quella della tabella di destinazione
-formattazione date in gg mm aaaa ma credo che questa si risolva in automatico se riesco a soddisfare la prima domanda
Vi ringrazio per l'aiuto
(scusate il casino e il disordine sono ancora pivello :lol: :D )

Option Explicit

Dim sh As Worksheet

Private Sub CommandButton2_Click()
Dim lRisposta As Long
Dim lRiga As Long
Dim lng As Long

lRisposta = MsgBox(Prompt:="Modificare il contenuto delle celle.", _
Title:="Attenzione", _
Buttons:=vbYesNo + vbQuestion)

With sh
If lRisposta = vbYes Then
lRiga = .Range("B" & .Rows.Count).End(xlUp).Row
For lng = 2 To lRiga
If CStr(.Cells(lng, 2).Value) = Me.ComboBox1.Text Then

.Cells(lng, 17).Value = Me.TextBox3.Text
.Cells(lng, 18).Value = Me.TextBox4.Text

Exit For
End If
Next
End If
End With

End Sub

Private Sub CommandButton3_Click()
Dim lRisposta As Long
Dim lRiga As Long
Dim lng As Long

lRisposta = MsgBox(Prompt:="Modificare il contenuto delle celle.", _
Title:="Attenzione", _
Buttons:=vbYesNo + vbQuestion)

With sh
If lRisposta = vbYes Then
lRiga = .Range("B" & .Rows.Count).End(xlUp).Row
For lng = 2 To lRiga
If CStr(.Cells(lng, 2).Value) = Me.ComboBox1.Text Then

.Cells(lng, 19).Value = Me.TextBox5.Text
.Cells(lng, 20).Value = Me.TextBox6.Text

Exit For
End If
Next
End If
End With
End Sub

Private Sub CommandButton4_Click()
Dim lRisposta As Long
Dim lRiga As Long
Dim lng As Long

lRisposta = MsgBox(Prompt:="Modificare il contenuto delle celle.", _
Title:="Attenzione", _
Buttons:=vbYesNo + vbQuestion)

With sh
If lRisposta = vbYes Then
lRiga = .Range("B" & .Rows.Count).End(xlUp).Row
For lng = 2 To lRiga
If CStr(.Cells(lng, 2).Value) = Me.ComboBox1.Text Then
.Cells(lng, 21).Value = Me.TextBox7.Text
.Cells(lng, 22).Value = Me.TextBox8.Text


Exit For
End If
Next
End If
End With

End Sub

Private Sub Label4_Click()

End Sub

Private Sub TextBox5_Change()

End Sub

Private Sub UserForm_Initialize()
Set sh = ThisWorkbook.Worksheets("Scadenze")
Call mCaricaComboBox
End Sub

Private Sub mCaricaComboBox()

Dim lRiga As Long
Dim lng As Long

With sh

lRiga = .Range("B" & .Rows.Count).End(xlUp).Row
For lng = 2 To lRiga
Me.ComboBox1.AddItem (.Cells(lng, 2).Value)
Next
End With

End Sub

Private Sub ComboBox1_Click()

Dim lRiga As Long
Dim lng As Long

With sh
lRiga = .Range("B" & .Rows.Count).End(xlUp).Row
For lng = 2 To lRiga
If CStr(.Cells(lng, 2).Value) = Me.ComboBox1.Text Then
Me.TextBox1.Text = .Cells(lng, 15).Value
Me.TextBox2.Text = .Cells(lng, 16).Value
Me.TextBox3.Text = .Cells(lng, 17).Value
Me.TextBox4.Text = .Cells(lng, 18).Value
Me.TextBox5.Text = .Cells(lng, 19).Value
Me.TextBox6.Text = .Cells(lng, 20).Value
Me.TextBox7.Text = .Cells(lng, 21).Value
Me.TextBox8.Text = .Cells(lng, 22).Value
Exit For
End If
Next
End With

End Sub

Private Sub CommandButton1_Click()

Dim lRisposta As Long
Dim lRiga As Long
Dim lng As Long

lRisposta = MsgBox(Prompt:="Modificare il contenuto delle celle.", _
Title:="Attenzione", _
Buttons:=vbYesNo + vbQuestion)

With sh
If lRisposta = vbYes Then
lRiga = .Range("B" & .Rows.Count).End(xlUp).Row
For lng = 2 To lRiga
If CStr(.Cells(lng, 2).Value) = Me.ComboBox1.Text Then
.Cells(lng, 15).Value = Me.TextBox1.Text
.Cells(lng, 16).Value = Me.TextBox2.Text


Exit For
End If
Next
End If
End With

End Sub

Private Sub UserForm_Terminate()
Set sh = Nothing
End Sub
office 2003
donbadi
Utente Junior
 
Post: 24
Iscritto il: 21/02/14 14:49

Sponsor
 

Re: excel formato diverso da origine su copia da userform

Postdi Anthony47 » 26/02/14 17:37

Da quello che scrivi mi pare che non ti piace che inserendo un testo in una cella formattata "data" il contenuto diventa a caso un testo o una data fasulla...
Se vuoi inserire una data partendo dal contenuto di un textbox (che, come dice il nome, e' una casella per scriverci un testo...) allora devi usare una funzione di conversione.
Ad esempio CDate(TextBox3.Text); quindi (sempre ad esempio)
non .Cells(lng, 17).Value = Me.TextBox3.Text
ma
Codice: Seleziona tutto
.Cells(lng, 17).Value = CDate(Me.TextBox3.Text)


Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: excel formato diverso da origine su copia da userform

Postdi donbadi » 26/02/14 17:45

ok...e per mantenere invece la formattazioen di destinazione dove nella tabella ho tutti i riferimenti con formattazioni condizionate e azioni collegate?
office 2003
donbadi
Utente Junior
 
Post: 24
Iscritto il: 21/02/14 14:49

Re: excel formato diverso da origine su copia da userform

Postdi Anthony47 » 26/02/14 17:51

Caricare una cella con un contenuto non cambia la formattazione; quale problema riscontri?
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: excel formato diverso da origine su copia da userform

Postdi donbadi » 26/02/14 18:10

sopra ho risolto GRAZIE!!
praticamente quando vad ad eseguire questa useform e mi inseirisce la data di avvenuta visita sulla tabella (secondo la formattazione ) dovrebbe andarsi a riempire la casella di avvenuta visita che esce fuori dal comando di cella e da formattazione condizionata solo che questo non avviene .
nella cella in questione ho :
=SE(L8="";"";SE(P8<>"";"PRIMA VISITA EFFETTUATA";(DATA(ANNO(J8);MESE(J8)+M8/L8;GIORNO(J8)))))
e formattazionecondizionata se uguale a PRIMA VISITA EFFETTUATA la cella si riempie di verde..
tutto ciò non succede quando trasferisco i dati dalla userform mentre se li inseirsco a mano si
office 2003
donbadi
Utente Junior
 
Post: 24
Iscritto il: 21/02/14 14:49

Re: excel formato diverso da origine su copia da userform

Postdi Anthony47 » 27/02/14 02:32

Parlo per me, ma penso che senza un file di esempio sara' difficile capire...
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: excel formato diverso da origine su copia da userform

Postdi donbadi » 27/02/14 09:45

http://www.4shared.com/office/zXFh9YXRba/prova1.html
ecco il file l'ho un pò allegerito
il mio problema esce fuori in foglio2 (scadenze) dove faccio girare la userform
esempio problema:
se vado a scrivere a mano in P8 una data di visita in o8 si attiva la formattazione condizionale rendendo la cella verde con scritta visita effettuata.
se invece metto la data dalla userform questo non avviene..confido in te
office 2003
donbadi
Utente Junior
 
Post: 24
Iscritto il: 21/02/14 14:49

Re: excel formato diverso da origine su copia da userform

Postdi donbadi » 27/02/14 17:50

piccolo up ..
office 2003
donbadi
Utente Junior
 
Post: 24
Iscritto il: 21/02/14 14:49

Re: excel formato diverso da origine su copia da userform

Postdi donbadi » 28/02/14 10:06

ho risolto da solo !!! grandeeeee
praticamente non andando a modificare il primo rigo dei due per ogni bottone tramite userform inserisco il dato nella colonna a fianco senza toccare la colonna con le formule e le formattazioni..
.Cells(lng, 17).Value = Me.TextBox3.Text <==== eliminata
.Cells(lng, 18).Value = Me.TextBox3.Text <===== rimane solo questa.
non era proprio quello che cercavo ma mi va bene così!!!!!
office 2003
donbadi
Utente Junior
 
Post: 24
Iscritto il: 21/02/14 14:49

Re: excel formato diverso da origine su copia da userform

Postdi Anthony47 » 28/02/14 13:17

ho risolto da solo !!! grandeeeee
Lo so, grande soddisfazione...
Comunque la prossima volta non pubblicare il tuo file su un sito che mostra 5 "Download", di cui nessuno relativo al tuo file, e che comuque richiede la registrazione anche solo per scaricare. Ce n' e' abbastanza per scoraggiare chiunque...
Il mio suggerimento e' di usare Rapidshare.com (un po' complicato cominciare, ma mantiene i file a lungo e offre qualche strumento di gestione), oppure filedropper.com

Alla prossima!
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: excel formato diverso da origine su copia da userform

Postdi donbadi » 28/02/14 17:07

chiedo scusa per questo..sinceramente non sapevo questa cosa dei 5 file anche perchè io solo uno ne ho messo...
grazie lo stesso per l'attenzione
office 2003
donbadi
Utente Junior
 
Post: 24
Iscritto il: 21/02/14 14:49


Torna a Applicazioni Office Windows


Topic correlati a "excel formato diverso da origine su copia da userform":


Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti