Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

macro compilazione ordine sottoscorte magazzino

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 compilazione ordine sottoscorte magazzino

Postdi sprinterone » 03/12/13 19:57

buonasera a tutti.
Sto cercando di aggiungere una macro ad un file excel per la gestione magazzino.
dopo averlo "aggiustato", secondo le mie esigenze , ha funzionato un paio di volte eppoi ..nada.
Sub SottoScorta1()
'
Dim Intervallo As Range, CL As Range
Dim Riga
Riga = 3
Set Intervallo = Sheets("Gestione_Magazzino").Range(Cells(3, 9), Cells(3, 9).End(xlDown))
Application.ScreenUpdating = False
' ricerca e trascrizione degli articoli che scarseggiano
With Worksheets("sottoscorta")
.Range(.Cells(2, 1), .Cells(2, 4).End(xlDown)).ClearContents
Riga = 1
For Each CL In Intervallo
CL.Offset(0, -1).Select
If CL.Value > CL.Offset(0, -1).Value Then
CL.Select
Riga = Riga + 1
.Cells(Riga, 1) = CL.Offset(0, -7) 'ID
.Cells(Riga, 2) = CL.Offset(0, -6) 'Prodotto
.Cells(Riga, 3) = CL.Value * 2 ' per X volte il val.sottoscorta
.Cells(Riga, 4) = CL.Offset(0, -4) 'prezzo unitario
End If
Next
End With
' preparazione del foglio per la stampa
With Worksheets("sottoscorta").PageSetup
.CenterHorizontally = True
.PrintArea = "B3:E15"
'.PrintArea = Range("B3:E15")
.Orientation = xlLandscape
.CenterHorizontally = True
.CenterVertically = False
.Zoom = 50
End With
'Worksheets("sottoscorta").PrintPreview
Application.ScreenUpdating = True
End Sub

In pratica dovrebbe verificare nel foglio 1 se ci sono valori col H(giacenza) inferiori a col I(sottoscorta) e riportarli nel foglio 2.
Come dicevo all'inizio, dopo un paio di prove positive, mi si "inchioda" sulla riga in grassetto..perche'?
Un grazie anticipato a chi vorra' darmi una mano.
Win XP pro, Office 2010
Giancarlo
Avatar utente
sprinterone
Utente Junior
 
Post: 51
Iscritto il: 26/01/10 10:24
Località: Monselice

Sponsor
 

Re: macro compilazione ordine sottoscorte magazzino

Postdi Anthony47 » 04/12/13 00:48

Forse ti da errore quando avvii la macro senza prima aver selezionato il foglio "Gestione_Magazzino"... Perche "Cells(3,9) fa riferimento all' activesheet e non basta far cominciare la riga con ("Gestione_Magazzino") per riferirlo invece al foglio che ti interessa.
Potresti modificare in
Codice: Seleziona tutto
With Sheets("Gestione_Magazzino")
    Set intervallo = .Range(.Cells(3, 9), .Cells(3, 9).End(xlDown))
End With

Tuttavia, visto come procede la macro, il suggerimento e' di lasciare come e' adesso e aggiungere, subito prima, l' istruzione
Codice: Seleziona tutto
Sheets("Gestione_Magazzino").Select
Meno pura ma piu' semplice da adattare e debuggare.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro compilazione ordine sottoscorte magazzino

Postdi sprinterone » 04/12/13 10:05

Ciao Anthony, grazie della risposta. Ho inserito la stringa come mi hai indicato

Sheets("Gestione_Magazzino").Select
Set Intervallo = .Range(.Cells(3, 9), .Cells(3, 9).End(xlDown))

Application.ScreenUpdating = False
' ricerca e trascrizione degli articoli che scarseggiano
With Worksheets("sottoscorta")
,
ma mi va in errore nel primo Range di Intervallo come riferimento non valido.
Provato pure con entrambe i fogli attivi, stesso risultato negativo.
Giancarlo
Avatar utente
sprinterone
Utente Junior
 
Post: 51
Iscritto il: 26/01/10 10:24
Località: Monselice

Re: macro compilazione ordine sottoscorte magazzino

Postdi Anthony47 » 04/12/13 13:21

Se aggiungi Sheets("Gestione_Magazzino").Select devi lasciare le tue istruzioni come erano all' origine; cioe'
Codice: Seleziona tutto
'. . .
Sheets("Gestione_Magazzino").Select
Set Intervallo = Sheets("Gestione_Magazzino").Range(Cells(3, 9), Cells(3, 9).End(xlDown))
Application.ScreenUpdating = False
'. . .

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "macro compilazione ordine sottoscorte magazzino":


Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti