Condividi:        

Macro Excel

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

Macro Excel

Postdi mirkobiro » 27/10/16 06:37

Buongiorno a tutti,
mi chiamo Mirko e sono nuovissimo del forum...
Complimenti a tutti per la preparazione sul campo di utilizzo di excel, ben lontano dalle mie capacità...
Chiedo cortesemente aiuto.
Nel mio foglio ho due colonne dati, nello specifico nella colonna A (quindi A1-A2-A3-A4 ecc.ecc.) digito il numero progressivo dei DDT in uscita, nella colonna B (quindi B1-B2-B£-B$ ecc.ecc.) digito i DDT che rientrano. Ora, nella colonna A i dati sono tutti conseguenti senza celle vuote es. A1 = 1500 , A2=1501 , A3 1502 , A4 = 1503 ecc ecc in progressione, nella colonna B, quando mi rientra un DDT emesso, per esempio il 1502 lo vado a digitare nella colonna B3 e così via.
Succede però a volte che un DDT in rientro venga frazionato in due o più DDT, esempio esce un DDT 1500, il fornitore me lo restituisce in tre volte, quindi mi rientrano 3 DDT 1500 quindi vorrei che quando inserisco il numero di DDT rientrato in base ad una colonna C do ve andrò a digitare un valore (SALDO se è rientrato tutto il DDT oppure ACCONTO se è stato frazionato) mi aggiungessr in automatico una riga sotto al relativo Numero di DDT, per poter creare uno spazio per inserire gli altri eventuali DDT in ingresso fino a quando non inserirò la scritta saldo nella colonna C.

ESEMPIO:
A1 DDT 1500 B1 DDT 1500 C1 SALDO
A2 DDT 1501 B1 DDT 1501 C2 ACCONTO
A3 (Vuoto in automatico da macro) B1 DDT 1501 C3 SALDO
A4 (Vuoto in automatico da macro) B4 DDT 1501 C4 SALDO
A5 DDT 1502 B5 DDT 1502 C5 SALDO
A6 DDT 1503 B6 DDT 1503 C6 SALDO
A7 DDT 1504 B7 DDT 1504 C7 ACCONTO
A8 (Vuoto in automatico da macro) B8 DDT 1504 C8 SALDO
A9 DDT 1505 ecc. ecc.

Grazie in anticipo per l' aiuto

Mirko
mirkobiro
Newbie
 
Post: 9
Iscritto il: 27/10/16 06:16

Sponsor
 

Re: Macro Excel

Postdi patel » 27/10/16 07:07

allega un file di esempio con i dati ed il risultato desiderato, per allegare vedi qui
viewtopic.php?f=26&t=103893&p=605487#p605487
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: Macro Excel

Postdi mirkobiro » 27/10/16 11:13

<a href=http://www.filedropper.com/book1_15><img src=http://www.filedropper.com/download_button.png width=127 height=145 border=0/></a><br /><div style=font-size:9px;font-family:Arial, Helvetica, sans-serif;width:127px;font-color:#44a854;> <a href=http://www.filedropper.com >file storage</a></div>

Buongiorno allego il Link per il download del file come richiesto (non so se è questo oppure quello sotto)



http://www.filedropper.com/book1_15
mirkobiro
Newbie
 
Post: 9
Iscritto il: 27/10/16 06:16

Re: Macro Excel

Postdi Anthony47 » 27/10/16 14:08

Ho capito in linea di massima la richiesta, tuttavia nel file che hai allegato non trovo corrispondenza con la descrizione della struttura dati fatta nel messaggio.

Mi dici se e' giusta la descrizione (in questo caso dovresti allegare il file allineato) o il file?
Nella simulazione che hai fatto relativamente al ddt 389 (vedi righe 57:59) sono state inserite due righe addizionali, ma la descrizione (vedi colonna P) dice Acconto /Saldo /Saldo: mi confermi che e' un errore di simulazione e che una riga deve essere inserita solo se la descrizione in col P (o quella che e' nel file reale) dice Acconto?

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

Re: Macro Excel

Postdi mirkobiro » 27/10/16 14:25

Ciao Antony,
Ti confermo che il file allegato è quello corretto,
tuttavia è vero c'è un' errore di simulazione Le caselle P57 e P58 devono essere in ACCONTO mentre la P59 in SALDO. :roll:
mirkobiro
Newbie
 
Post: 9
Iscritto il: 27/10/16 06:16

Re: Macro Excel

Postdi Anthony47 » 27/10/16 23:50

Per fare questo ti servira' una macro di WorksheetChange, che controlla come viene compilata la colonna P e all'occorrenza agiunge una riga.
Il codice della macro:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cStat As String, outC As String, tRow As Long
'
cStat = "P"             '<<< La colonna con lo Stato da controllare
'
If Target.Column = Cells(1, cStat).Column And Target.Count = 1 Then
    If UCase(Target.Value) = "ACCONTO" Then
        tRow = Target.Row
        Application.EnableEvents = False
        Range("A1").Offset(tRow, 0).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Cells(tRow, 1).Resize(1, 2).Copy Cells(tRow + 1, 1)
        Cells(tRow, 6).Copy Cells(tRow + 1, 6)
    Application.EnableEvents = True
    End If
End If
End Sub
Uso:
-partendo dal foglio su cui si lavora, tasto dx sul tab col nome foglio; scegliere Visualizza codice per aprire l'editor delle macro
-copia il codice e incollalo nel frame vuoto di dx
La riga marcata <<< va adattata nel caso che lo Stato non sia in colonna P.

A questo punto torna sul foglio di lavoro e prova.

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

Re: Macro Excel

Postdi mirkobiro » 28/10/16 04:32

Buongiorno Anthony, ti ringrazio per la velocità della tua risposta, oggi pomeriggio lo provo e poi ti faccio sapere. Mi piacerebbe imparare a lavorare con vba perché vedendo il tuo codice allegato leggo cose ahimè incomprensibili.. Benché parlo e leggo inglese discretamente bene.. Hai qualche consiglio da darmi o guida da consigliarmi per poter "decifrare" le tue scritture?..
A presto Mirko
mirkobiro
Newbie
 
Post: 9
Iscritto il: 27/10/16 06:16

Re: Macro Excel

Postdi mirkobiro » 28/10/16 12:46

OTTIMO Anthony..
Era proprio quello che volevo...
Grazie mille

Mirko
mirkobiro
Newbie
 
Post: 9
Iscritto il: 27/10/16 06:16

Re: Macro Excel

Postdi mirkobiro » 28/10/16 14:22

Ciao Anthony,
allora....... scusa la mia ignoranza....
il codice funziona benissimo nel foglio allegato ma................
Nel foglio vero, le celle non cominciano dalla colonna A ma dalla colonna C....
quindi dovresti farmi, per favore un off set di DUE colonne...
Scusami di nuovo.
Nota: la quantità dei dati rimane la stessa, ma viene solo spostata la partenza dalla colonna A alla colonna C.
Mirko
mirkobiro
Newbie
 
Post: 9
Iscritto il: 27/10/16 06:16

Re: Macro Excel

Postdi mirkobiro » 28/10/16 16:42

Ho risolto da solo.. EUREKA....
GRAZIE 10000
mirkobiro
Newbie
 
Post: 9
Iscritto il: 27/10/16 06:16

Re: Macro Excel

Postdi mirkobiro » 28/10/16 21:02

http://www.filedropper.com/book1_18

<a href=http://www.filedropper.com/book1_18><img src=http://www.filedropper.com/download_button.png width=127 height=145 border=0/></a><br /><div style=font-size:9px;font-family:Arial, Helvetica, sans-serif;width:127px;font-color:#44a854;> <a href=http://www.filedropper.com >share files free</a></div>

:oops: :undecided: :-?

Riallego il File di esempio, che rispecchia quello reale (IN MANIERA ESATTA) solo per la posizione dei dati e per le formule contenute.

Ovviamente ho inserito il codice datomi da Anthony e funziona...

Ma essendo che nelle righe esistono anche formule, vorrei che all' inserimento nella colonna "R" del valore Acconto, oltre che aggiungere una riga copiando i dati, come da codice Anthony, copiasse anche tutte le formule contenute nella riga precededente, tutte le formule contenute fino alla colonna DK.

Grazie mille per l' aiuto.
mirkobiro
Newbie
 
Post: 9
Iscritto il: 27/10/16 06:16

Re: Macro Excel

Postdi Anthony47 » 29/10/16 23:08

Allora aggiungi questo ciclo in questa posizione:
Codice: Seleziona tutto
        Range("C1").Offset(tRow, 0).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove              'ESISTENTE
        For Each myc In Range(Cells(tRow, "C"), Cells(tRow, "DK"))
            If myc.HasFormula Then
                myc.Copy myc.Offset(1, 0)
            End If
        Next myc
        Cells(tRow, 3).Resize(1, 2).Copy Cells(tRow + 1, 3)    'ESISTENTE


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

Re: Macro Excel

Postdi mirkobiro » 30/10/16 20:22

.....che dirti Anthony.... Ti ringrazio moltissimo e vorrei contraccambiare il tuo aiuto....
Qualsiasi cosa posso fare, fammi un cenno.
Ah... funziona...!
mirkobiro
Newbie
 
Post: 9
Iscritto il: 27/10/16 06:16


Torna a Applicazioni Office Windows


Topic correlati a "Macro Excel":


Chi c’è in linea

Visitano il forum: systemcrack e 34 ospiti