Condividi:        

[EXCEL2013] Problema con tabelle

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

[EXCEL2013] Problema con tabelle

Postdi Azalyn » 11/07/15 15:42

Ho 2 tabelle presso che identiche, le chiamo genericamente A e B. Sono uguali in tutto sia colonne che righe.
Esiste un modo per autocompilare la tabella B da A in modo che nel caso i valori di A cambiassero quelli di B rimanessero li stessi?
Es.
Cella a3 della tabella A =3,
cella n3 della tabella B=3
nel caso la cella a3 di A diventasse 4, mi serivirebbe che nella cella n3 restasse 3.
Come posso risolvere questo problema?
Azalyn
Utente Junior
 
Post: 24
Iscritto il: 20/06/15 12:46

Sponsor
 

Re: [EXCEL2013] Problema con tabelle

Postdi Flash30005 » 12/07/15 02:24

Dipende da te se avere la tabella B uguale o non uguale alla tabella A e quando decidere di rendere B di nuovo uguale ad A

Una semplice macro, ad esempio, che puoi anche registrare,
che copia la tabella A e la incolla nella tabella B
avrai così tutti i dati identici
poi modifichi la tabella A e la B rimane invariata fino a che non rilanci la macro che la rende uguale ad A

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: [EXCEL2013] Problema con tabelle

Postdi Azalyn » 12/07/15 12:44

preferirei che me la compilasse in modo automatico e che poi i valori non si modifichino
Azalyn
Utente Junior
 
Post: 24
Iscritto il: 20/06/15 12:46

Re: [EXCEL2013] Problema con tabelle

Postdi Azalyn » 12/07/15 23:19

Sub copia_barb()
NN = Range("Barbaro!D14").Value
If NN = 1 Then
Range("b3:b8").Select
Selection.Copy
Worksheets("yolo").Select
Range("a1:a6").Select
ActiveSheet.Paste
Else
End If
End Sub
ecco la macro che ho provato a fare ma vorrei che al posto di cliccare un pulsante lo facesse gia in automatico appena metti i valori
Azalyn
Utente Junior
 
Post: 24
Iscritto il: 20/06/15 12:46

Re: [EXCEL2013] Problema con tabelle

Postdi Flash30005 » 13/07/15 01:12

Perdona ma qual è il principio per il quale la B deve essere identica alla A e poi, invece, non lo deve essere?

possiamo far copiare in automatico la tabella A in B con la macro da te registrata
ma ad ogni modifica di A automaticamente la macro copierà di nuovo in B
a meno che una volta copiata vuoi che non si modifichi più,
ovvero potremmo fare in modo che la macro non effettui di nuovo la copia.

Se confermi, procediamo.

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: [EXCEL2013] Problema con tabelle

Postdi Azalyn » 13/07/15 07:11

mi serve che mi copi A in B una sola volta. possibilmente non come la macro che ho fatto chemostra anche dove
Azalyn
Utente Junior
 
Post: 24
Iscritto il: 20/06/15 12:46

Re: [EXCEL2013] Problema con tabelle

Postdi Flash30005 » 13/07/15 11:15

Ok
ma qual è l'ultimo intervento che fai nella tabella A? (intervento che potremmo abbinare alla macro per fare la copia)
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: [EXCEL2013] Problema con tabelle

Postdi Azalyn » 13/07/15 11:44

le 2 tabelle sono uguali fino a quando una cella di un altra scheda é superiore a 2
Azalyn
Utente Junior
 
Post: 24
Iscritto il: 20/06/15 12:46

Re: [EXCEL2013] Problema con tabelle

Postdi Anthony47 » 14/07/15 02:45

Mi ero fatta l'idea che il bisogno fosse di a copiare gli elementi di Tabella1 in Tabella2, ma solo fintanto che le celle di Tabella2 fossero state vuote, ma l' ultimo messaggio ("le 2 tabelle sono uguali fino a quando una cella di un altra scheda é superiore a 2") aggiunge il dato mancante...
Tasto dx sul tab col nome del foglio che contiene Tabella1, scegli Visualizza codice; copia il seguente codice e incollalo nel frame vuoto dell' editor delle macro che cosi' facendo si e' aperto:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myTab1 As String
'
myTab1 = "B3:B8"
'
If Not Application.Intersect(Target, Range(myTab1)) Is Nothing And Sheets("Barbaro").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("yolo").Range("A1")
End If
End Sub

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

Re: [EXCEL2013] Problema con tabelle

Postdi Azalyn » 14/07/15 11:32

grazie
Azalyn
Utente Junior
 
Post: 24
Iscritto il: 20/06/15 12:46

Re: [EXCEL2013] Problema con tabelle

Postdi Azalyn » 15/07/15 09:06

ho fatto una piccola modifica alla macro nulla di che e aggiunte altre macro impostate uguali che copiano altre celle ma quando inserisco valori nelle altre celle mi da errore runtime91 e mi evidenzia
Codice: Seleziona tutto
If Not Application.Intersect(Target, Range(myTab1)) Is Nothing And Sheets("Barbaro").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("A1")
, le altre macro sono impostate cosi
Codice: Seleziona tutto
Private Sub Worksheet2_Change(ByVal Target As Range)
Dim myTab1 As String
'
myTab1 = "c3:c8"
'
If Not Application.Intersect(Target, Range(myTab1)) Is Nothing And Sheets("Bardo").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("b1")
End If
End Sub
Azalyn
Utente Junior
 
Post: 24
Iscritto il: 20/06/15 12:46

Re: [EXCEL2013] Problema con tabelle

Postdi Azalyn » 15/07/15 09:14

É possibile fare una cosa del genere?
Codice: Seleziona tutto
Private Sub Worksheet2_Change(ByVal Target As Range)
Dim myTab2 As String
'
myTab2 = "c3:c8"
'
If Not Application.Intersect(Target, Range(myTab2)) Is Nothing And Sheets("Bardo").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("b1")
End If
Dim myTab1 As String
'
myTab1 = "b3:b8"
'
If Not Application.Intersect(Target, Range(myTab1)) Is Nothing And Sheets("Barbaro").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("a1")
Dim myTab3 As String
'
myTab3 = "d3:c8"
'
If Not Application.Intersect(Target, Range(myTab3)) Is Nothing And Sheets("chierico").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("c1")
End Sub

continuando cosi al posto di mettere piu macro?
Azalyn
Utente Junior
 
Post: 24
Iscritto il: 20/06/15 12:46

Re: [EXCEL2013] Problema con tabelle

Postdi Flash30005 » 15/07/15 22:22

Ogni condizione IF chiude sempre con una End If

Se hai due sole condizioni diverse puoi usare l'Else quindi la tua macro sarà
Codice: Seleziona tutto
Private Sub Worksheet2_Change(ByVal Target As Range)
Dim myTab2 As String
'
myTab2 = "c3:c8"
'
If Not Application.Intersect(Target, Range(myTab2)) Is Nothing And Sheets("Bardo").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("b1")
End If
Dim myTab1 As String
'
myTab1 = "b3:b8"
'
Else
If Not Application.Intersect(Target, Range(myTab1)) Is Nothing And Sheets("Barbaro").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("a1")
Dim myTab3 As String
'
myTab3 = "d3:c8"
'
If Not Application.Intersect(Target, Range(myTab3)) Is Nothing And Sheets("chierico").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("c1")
End If
End Sub


Se invece hai più condizioni è preferibile, a mio avviso, creare n condizioni standalone e quindi avrai
Codice: Seleziona tutto
Private Sub Worksheet2_Change(ByVal Target As Range)

myTab1 = "B3:B8"
myTab2 = "C3:C8"
myTab3 = "D3:D8"
myTab4 = "E3:E8"
'
If Not Application.Intersect(Target, Range(myTab2)) Is Nothing And Sheets("Bardo").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("b1")
End If

If Not Application.Intersect(Target, Range(myTab1)) Is Nothing And Sheets("Barbaro").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("a1")
End If
'

If Not Application.Intersect(Target, Range(myTab3)) Is Nothing And Sheets("chierico").Range("D14").Value < 2 Then
    Range(myTab1).Copy Destination:=Sheets("test").Range("c1")
End If

'etc etc
End Sub


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: [EXCEL2013] Problema con tabelle

Postdi Anthony47 » 16/07/15 02:26

C'e' un unico evento di Worksheet_Change; per avere Worksheet2_Change e magari anche Worksheet3_Change bisogna aspettare una versione futura.
Quale e' il problema da risolvere? (Possibilmente non descritto con una macro che quella cosa non la fa)

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


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL2013] Problema con tabelle":

problema blocco note
Autore: carlin
Forum: Software Windows
Risposte: 7

Chi c’è in linea

Visitano il forum: Gianca532011 e 66 ospiti