Query vba parametrica



  • Query vba "parametrica"
    di dibarc (utente non iscritto) data: 07/09/2015 22:23:05

    Ciao a tutti,
    ho un problema con la ma query vba.
    Voglio estrarre i dati da un sito web le cui pagine sono numerate progressivamente (lo gestisco con il parametro "i").
    Fin qui tutto ok.
    Vado a ciclare 10 volte in modo da mettere 10 query in ogni foglio excel, e fin qui tutto ok.
    Inoltre ho impostato il parametro "pos" in modo da avere ogni query a distanza di 200 righe l'una dall'altra.
    Il problema è che ogni query viene traslata di circa 18 colonne rispetto alla precedente.
    Come posso fare per impostare la colonna in cui salvare i dati come fissa sulla colonna A?
    Ringrazio anticipatamente.
     
    Sub Macro1()
    '
    ' Macro1 Macro
    '
    
    '
    Dim i As Integer
    Dim pos As Integer
    Dim r As String
    For i = 1 To 3
    pos = (i * 200)
    r = ("$A$" & pos)
        With ActiveSheet.QueryTables.Add(Connection:= _
            "URL;"sitoweb/" & i, _
            Destination:=Range(r))
            .Name = "506"
            .FieldNames = True
            .RowNumbers = True
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = True
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = False
            .RefreshPeriod = 0
            .WebSelectionType = xlEntirePage
            .WebFormatting = xlWebFormattingNone
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
        Next i
    End Sub
    


  • HELP: come unire SOMMA.SE e SUBTOTALE
    di vale (utente non iscritto) data: 07/09/2015 22:36:25

    buonasera, vi scrivo perché ho un problema che mi sta facendo uscire di testa...proprio non capisco come fare.
    Usando la funzione SOMMA.SE() é possibile sommare tutti i valori che soddisfano una data condizione, ma non é possibile tenere conto di un eventuale filtro applicato.
    Usando la funzione SUBTOTALE() é possibile applicare un filtro e sommare fra loro i soli valori visibili, ma non é possibile tenere conto di un'eventuale condizione.

    Mi occorre usare la formula SOMMA.SE su dei valori filtrati, in modo da ignorare i valori non mostrati, ma non so come impostare la formula.

    Immaginate un file in cui sono stati riportati: nella prima colonna (A) il monte ore erogato, nella seconda colonna (B) il nome dei partecipanti ai servizi, nella terza colonna (C) il nome del servizio (ad es: ACC oppure PR). I titoli delle colonne compaiono nella riga 4; i dati iniziano dalla cella A5. Utilizzando il filtro per partecipante (B4) posso ottenere le righe corrispondenti a ciascun partecipante con le indicazioni su durata del servizio e tipo di servizio cui ha partecipato. Ho bisogno che, dopo avere filtrato per nome partecipante, nella cella D1 compaia la somma delle ore visibili (cioè relative al partecipante selezionato tramite filtro, escludendo tutti gli altri) in corrispondenza del servizio ACC e nella cella D2 la somma delle ore visibili relative L servizio PR. Spero di essere stata chiara...

    Ho visto fare riferimento a MATR.SOMMA.PRODOTTO ed a SCARTO, ma non ho capito come.

    Mille grazie a chi può aiutarmi!!!



  • di alfrimpa data: 07/09/2015 22:47:42

    Ciao Vale

    La tua richiesta si é accodata (probabilmente per un malfunzionamento del forum) ad una discussione preesistente.

    Per avere maggiore visibilità aprine una "Tua" e magari allega un file di esempio (senza dati sensibili) in cui mostri la situazione di partenza ed il risultato che vuoi raggiungere così eviterai a chi volesse risponderti di doverselo ricostruire.

    Comunque per la somma di righe filtrate la funzione SUBTOTALE() è la norma ma senza vedere il file è difficile dire di più.

    Alfredo




  • Nessuna risposta
    di dibarc (utente non iscritto) data: 09/09/2015 19:02:24

    Buonasera,
    nessuno sa come attuare la modifica di cui parlavo?
    Avrei necessità di accodare solo le nuove righe in basso anzichè a destra rispetto alle precedenti.
    Ringrazio anticipatamente



  • di patel data: 15/09/2015 08:26:04

    formalmente il tuo codice mi sembra corretto, occorrerebbe provarlo col sito che usi tu