Creazione Macro per estrazione dati da pagine web in Excel 2003

Anonimo
2010-10-24T02:26:53+00:00

Ciao. Sto provando per la prima volta ad utilizzare una Macro su Excel 2003 ed evidentemente sbaglio qualcosa. Mi chiedevo se qualcuno può aiutarmi.

Il problema è questo: ho la necessità di incollare quotidianamente su vari fogli di una cartella Excel dati estratti da diverse pagine dello stesso sito web formattate tutte allo stesso modo e il cui indirizzo differisce solo in parte.

Ho provato a registrare una Macro copiando l'indirizzo di una di queste pagine in una cella per poi copiare il contenuto di quella cella (ossia, appunto, l'indirizzo web) sul browser e copincollare la tabella che mi serve sul foglio Excel. Ma evidentemente non si fa così, visto che quando vado ad eseguire la Macro mi dà il seguente errore:

Errore di run-time '1004':

Errore nel metodo Paste per la classe Worksheet.

Essendo totalmente digiuno di Macro, qui mi son bloccato. Mi potreste dire dove sbaglio?

Grazie in anticipo.

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2010-10-25T07:41:39+00:00

Ciao. Sto provando per la prima volta ad utilizzare una Macro su Excel 2003 ed evidentemente sbaglio qualcosa. Mi chiedevo se qualcuno può aiutarmi.

Il problema è questo: ho la necessità di incollare quotidianamente su vari fogli di una cartella Excel dati estratti da diverse pagine dello stesso sito web formattate tutte allo stesso modo e il cui indirizzo differisce solo in parte.

Ho provato a registrare una Macro copiando l'indirizzo di una di queste pagine in una cella per poi copiare il contenuto di quella cella (ossia, appunto, l'indirizzo web) sul browser e copincollare la tabella che mi serve sul foglio Excel. Ma evidentemente non si fa così, visto che quando vado ad eseguire la Macro mi dà il seguente errore:

Errore di run-time '1004':

Errore nel metodo Paste per la classe Worksheet.

Essendo totalmente digiuno di Macro, qui mi son bloccato. Mi potreste dire dove sbaglio?

Grazie in anticipo.

Se(se) quello che vuoi fare è avere una macro che ti importi nella cella A1 del foglio attivo una tabella che si trova in una pagina web, questa la macro che ottieni registrando:

Sub Macro1()

'

' Macro1 Macro

' Macro registrata il 25/10/2010 da Mauro

'

'

    With ActiveSheet.QueryTables.Add(Connection:= _

        "URL;http://it.advfn.com/?adw=20001&gclid=CJTx6a3A7aQCFYwv3wodx1EctQ", _

        Destination:=Range("A1"))

        .Name = "?adw=20001&gclid=CJTx6a3A7aQCFYwv3wodx1EctQ"

        .FieldNames = True

        .RowNumbers = False

        .FillAdjacentFormulas = False

        .PreserveFormatting = True

        .RefreshOnFileOpen = False

        .BackgroundQuery = True

        .RefreshStyle = xlInsertDeleteCells

        .SavePassword = False

        .SaveData = True

        .AdjustColumnWidth = True

        .RefreshPeriod = 0

        .WebSelectionType = xlSpecifiedTables

        .WebFormatting = xlWebFormattingNone

        .WebTables = "58"

        .WebPreFormattedTextToColumns = True

        .WebConsecutiveDelimitersAsOne = True

        .WebSingleBlockTextImport = False

        .WebDisableDateRecognition = False

        .WebDisableRedirections = False

        .Refresh BackgroundQuery:=False

    End With

End Sub

La parte *variabile* è questa riga:

"URL;http://it.advfn.com/?adw=20001&gclid=CJTx6a3A7aQCFYwv3wodx1EctQ"

che puoi sostituire così:

"URL;http://" & NomeDelFoglio.Range(RiferimentoCella).Value

Dove NomeDelFoglio.Range(RiferimentoCella).Value sarà un acosa tipo: Foglio1.Range("A1").Value. e in questo esempio, la cella A1 del Foglio1 conterrà il link alla pagina e alla eventuale tabella della stessa. Questo è quello che ho capito. Per favore resta sempre in questo thread per ulteriori spiegazioni/aiuti. Grazie.


--

La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.

--

Mauro Gamberini - Microsoft© MVP(Excel)

http://www.maurogsc.eu/

La risposta è stata utile?

0 commenti Nessun commento

0 risposte aggiuntive

Ordina per: Più utili