Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Time Stamp from Get Data Update

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

Time Stamp from Get Data Update

Postdi Omocaig » 18/11/22 08:20

Ciao a tutti, uso questa macro per registrare un time stamp su colonna 29 quando ho l'update di una cella in colonna 10

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xCellColumn As Integer
Dim xTimeColumn As Integer
Dim xRow, xCol As Integer
Dim xDPRg, xRg As Range
xCellColumn = 10
xTimeColumn = 29
xRow = Target.Row
xCol = Target.Column
If Target.Text <> "" Then
    If xCol = xCellColumn Then
       Cells(xRow, xTimeColumn) = Now()
    Else
        On Error Resume Next
        Set xDPRg = Target.Dependents
        For Each xRg In xDPRg
            If xRg.Column = xCellColumn Then
                Cells(xRg.Row, xTimeColumn) = Now()
            End If
        Next
    End If
End If
End Sub



Il mio problema è che da oggi sono costretto ad importare i dati della tabella tramite GET DATA da uno sheet esterno ( di dimensioni da colonna 1 a colonan 10 per intenderci). Per cui non effettuo più le modifiche in colonna 10 ma effettuo semplicemente un refresh della tabella.

Vorrei capire se mi conviene ovviare copiando il contenuto in colonna 10 in un'altra colonna esterna alla tabella tramite una formula tipo =A10 su cella A11 e andare a modificare la macro credo in questo punto
Codice: Seleziona tutto
If Target.Text <> "" Then
(non saprei come dirgli rileva una variazione della formula anzichè il testo).

E' un ragionamento corretto? (Ovviamente non posso inserire la macro nello sheet che importo con il Get Data 8)

Grazie mille ancora una volta.
Xp + Office 2016 Ita
Omocaig
Utente Junior
 
Post: 91
Iscritto il: 11/05/15 15:08

Sponsor
 

Re: Time Stamp from Get Data Update

Postdi Anthony47 » 18/11/22 10:09

L'evento Worksheet_Change non scatta quando la variazione e' prodotta da una formula; non so se scatta quando e' prodotta da una query (come mi pare sia il tuo caso), ma il fatto che tu ora abbia un problema significa che hai toccato con mano che non scatta e quindi la Sub Worksheet_Change non puo' fare il suo lavoro... (se ho capito male allora correggimi)

Se vuoi rilevare cambiamenti devi quindi ricorrere a un artificio piu' complesso.

Ad esempio:
-Crei una macro che fa solo il refresh dei tuoi dati
-crei una seconda macro che
--fa una copia della tua attuale colonna 10
--fa la Call alla macro di refresh
--confronta uno per uno i nuovi dati di colonna 10 con la copia e inserisce il timestamp se i dati sono nuovi

Se ti suona bene provaci e se ti areni siamo qui...
Avatar utente
Anthony47
Moderatore
 
Post: 18601
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Time Stamp from Get Data Update":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti