| | Post: 1.089 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
14/02/2021 17:38 | |
Solo tu puoi sapere quante e quali modifiche hai apportato ai dati e alle macro. L'ultima traccia per noi risale al post #16 del 25 gennaio quando ancora era funzionante.
Errore 91 è generico, hai provato a spegnere e riaccendere il PC ? [Modificato da rollis13 14/02/2021 17:40]
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
|
| | Post: 848 | Registrato il: 28/12/2009
| Città: CITTADELLA | Età: 62 | Utente Senior | excel 2007/365 | | OFFLINE | |
|
14/02/2021 17:43 | |
Ciao rollis,
nessuna nuova modifica alla macro del post#25, solo aggiunto dei filtri al foglio "articoli" ____________________________
versione excel 365 ufficio
versione excel 2007 casa |
| | Post: 1.090 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
14/02/2021 22:27 | |
Ho rivisitato la tua attuale macro, in pratica tolgo il filtro prima operare e poi lo rimetto alla fine: Option Explicit
Sub Aggiorna_Articoli()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim cellaPos
Dim cellaArt
Dim pos As String
Dim articolo As Variant
Dim quantità As Variant
Dim avviso As String
Set sh1 = Sheets("nuovo_articolo")
Set sh2 = Sheets("articoli")
With sh1
pos = .Range("D3") & .Range("E3") & Format(.Range("F3"), "00") 'costruisci il codice pos
articolo = .Range("D4")
quantità = .Range("D5")
End With
avviso = MsgBox("Sign. " & Environ("UserName") & Chr(13) & "inserisco articolo < " & _
articolo & " > in pos. < " & pos & " >?", _
vbInformation + vbYesNo + vbDefaultButton2, "AVVISO")
If avviso = vbNo Then
Exit Sub
End If
With sh2
.Unprotect "123456"
'--------nuovo---------
If .AutoFilterMode Then
If .FilterMode Then
.ShowAllData
End If
End If
'----------------------
Set cellaPos = .Range("A6:A2604").Find(What:=pos, LookIn:=xlValues, LookAt:=xlWhole) 'cerca il pos
Set cellaArt = .Range("B6:B2604").Find(What:=articolo, LookIn:=xlValues, LookAt:=xlWhole) 'cerca l'articolo
If Not cellaArt Is Nothing Then ' articolo già presente
MsgBox "articolo già presente in foglio articoli in Pos. " & .Cells(cellaArt.row, 1) 'l'articolo già esiste
.Protect "123456"
Exit Sub
End If
If .Cells(cellaPos.row, 2) = "" Then 'se colonna B è vuota ...
.Cells(cellaPos.row, 2) = articolo '... inserisci l'articolo
.Cells(cellaPos.row, 7) = quantità '... inserisci la quantità
MsgBox "magazzino aggiornato" 'operazione correttamente completata
Else
MsgBox "posizione non libera, trovato articolo " & .Cells(cellaPos.row, 2) 'la colonna B è già impegnata
End If
.Range("$A$5:$G$2604").AutoFilter Field:=2, Criteria1:="<>" '<=nuova
.Protect "123456"
End With
End Sub
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 849 | Registrato il: 28/12/2009
| Città: CITTADELLA | Età: 62 | Utente Senior | excel 2007/365 | | OFFLINE | |
|
15/02/2021 08:48 | |
Grazie rollis ____________________________
versione excel 365 ufficio
versione excel 2007 casa |
|
|