simulare un'istruzione vba dentro un file power query L’argomento è risolto

Non è propriamente un programma di BI, ma nelle sue versioni più recenti anche Excel può fare grandi cose!

Moderatore: Utilizzo_prof_Excel


mb63
Messaggi: 123 | Topic creati
Iscritto il: gio 16 lug 2020, 15:09
Ringraziato: 5 volte

simulare un'istruzione vba dentro un file power query

Messaggio da mb63 »

Buongiorno

io ho adeguato un file delle fatture elettroniche e vi allego il risultato "parziale".

poi allego anche un codice eseguito in vba per adeguare alcune righe del file stesso

Codice: Seleziona tutto

Option Explicit
Sub AdeguaCodice()
Dim i As Long
Dim valore As Variant
For i = 1 To Cells(Rows.Count, 2).End(xlUp).Row
  If Cells(i, "B") = "Codice Art. fornitore" Then
    If Trim(Cells(i, "C")) = "COU" Or Trim(Cells(i, "C")) = "IC" _
       Or Trim(Cells(i, "C")) = "EC" Then
      Cells(i, "C") = valore
    Else
      valore = Cells(i, "C")
    End If
  End If
Next i
End Sub
Volevo chiedere per non non fare un pezzo di elaborazione in power query poi eseguire la procedura vba e poi riprendere nuovamente il file per fare altri controlli come si può scrivere la procedura all'interno del file stesso ??

avrei bisogno che quando nel file viene trovata la parola cou venga copiato il codice articolo che si trova prima, la stessa cosa per la parola IC e per EC poi ho visto che nel file nuovo c'è anche IB ma potrei sistemarlo io dopo

Spero di essere stato chiaro nella richiesta di aiuto

Grazie
Allegati
adegua cou ic ib ec.xlsx
(11.26 KiB) Scaricato 10 volte


Avatar utente

Andrea90
Messaggi: 2240 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

simulare un'istruzione vba dentro un file power query

Messaggio da Andrea90 »

Ciao mb63,

Puoi creare una semplice condizione if..then..else if anche in PowerQuery. Qualche esempio --> Qui
Per il Trim puoi andare ad eseguire il comando "taglio" sulla colonna che ti interessa, es°

Codice: Seleziona tutto

= Table.TransformColumns(#"Modificato tipo",{{"CodiceValore", Text.Trim, type text}})
A presto,

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
mb63
Messaggi: 123 | Topic creati
Iscritto il: gio 16 lug 2020, 15:09
Ringraziato: 5 volte

simulare un'istruzione vba dentro un file power query

Messaggio da mb63 »

Ciao Andrea

questo è quello che ho impostato ma non so come scrivere, dopo aver trovato la parola COU, deve scrivere il codice 200381




#"Colonna condizionale aggiunta" = Table.AddColumn(#"Modificato tipo", "adegua_codice_valore", each if [CodiceTipo] = "Codice Art.fornitore" then "CodiceValore" else if [CodiceValore] = "COU" then "CodiceValore-1" else if [CodiceValore] = "IC" then "CodiceValore-2" else if [CodiceValore] = "EC" then "CodiceValore-1" else if [CodiceValore] = "IB" then "CodiceValore-1" else "CodiceValore")

help
Avatar utente

Andrea90
Messaggi: 2240 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

simulare un'istruzione vba dentro un file power query

Messaggio da Andrea90 »

Ciao mb63,

Se ti serve il riferimento alla riga precedente allora questa mattina ho allegato un file con una soluzione che può fare al caso tuo (almeno come base di partenza, da adattare alle tue esigenze):

Qui

a presto,
Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
mb63
Messaggi: 123 | Topic creati
Iscritto il: gio 16 lug 2020, 15:09
Ringraziato: 5 volte

simulare un'istruzione vba dentro un file power query

Messaggio da mb63 »

Scusa Andrea ma mi sono "intortato" da solo

adesso non ne esco più
Allegati
adegua cou ic ib ecv2.xlsx
(26.97 KiB) Scaricato 9 volte
Avatar utente

Andrea90
Messaggi: 2240 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

simulare un'istruzione vba dentro un file power query

Messaggio da Andrea90 »

Ciao mb63,

c'è un problema con la formula, hai scritto [Indice - 1] mentre dovresti scrivere [Indice] - 1

La condizione poi non l'ho controllata, quella lascio a te verificare che l'output ottenuto sia in linea con quello richiesto.

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
mb63
Messaggi: 123 | Topic creati
Iscritto il: gio 16 lug 2020, 15:09
Ringraziato: 5 volte

simulare un'istruzione vba dentro un file power query

Messaggio da mb63 »

Ciao

ho sbloccato la situazione ma penso che nel mio caso non vada bene perchè se la parola è "COU" deve tornare indietro di 1 posizione ma se è ad esempio è "IC" deve tornare indietro di 2

molto dipende dalla descrizione trovata nella colonna C

Grazie
Allegati
adegua cou ic ib ecv2.xlsx
(26.97 KiB) Scaricato 7 volte

Autore del topic
mb63
Messaggi: 123 | Topic creati
Iscritto il: gio 16 lug 2020, 15:09
Ringraziato: 5 volte

simulare un'istruzione vba dentro un file power query

Messaggio da mb63 »

Tra le altre cose stavo leggendo nell'altro post che mi hai segnalato, chein alcuni casi sconsigli l'utilizzo di power query.

Nel mio caso vale lo stesso ragionamento ??

Grazie
Avatar utente

Andrea90
Messaggi: 2240 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

simulare un'istruzione vba dentro un file power query

Messaggio da Andrea90 »

Ciao mb63,

Se devi salire su di 2 righe invece di scrivere [Indice] - 1 devi scrivere [Indice] - 2

Per PowerQuery invece la tecnica utilizzata non è "l'ottimale", però ho aggiunto quel List.Buffer che dovrebbe limitare la perdita di performance.

A presto,

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
mb63
Messaggi: 123 | Topic creati
Iscritto il: gio 16 lug 2020, 15:09
Ringraziato: 5 volte

simulare un'istruzione vba dentro un file power query

Messaggio da mb63 »

Grazie lo stesso ho provato ma non riesco proprio a far funzionare la power query, sicuramente sbaglio a scrivere

Codice: Seleziona tutto

if [CodiceTipo] = "Codice Art. fornitore" then [CodiceValore] else if [CodiceValore] = "COU" then [Indice]-1 else if [CodiceValore] = "IC" then [Indice]-2  else "CodiceValore"

Mi propone sempre gli stessi valori
Rispondi