Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Cerca codice e copia a sinistra

Ultimo Aggiornamento: 04/11/2022 12:22
Post: 44
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2007
OFFLINE
22/09/2022 15:30

Buon giorno a tutti, nel file allegato ho un cerca codici in colonna D tramite input box. Chiedo il vostro aiuto per far si, se è possibile, che quando il codice viene trovato, venga direttamente copiato e incollato nella cella subito a sinistra nella stessa riga.
Post: 2.691
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
22/09/2022 15:55

ciao

Sub CercaInput()
Dim plage As Range, valeur
Set plage = Range("D:D")
valeur = InputBox("Codice da trovare:")
If valeur = "" Then Exit Sub
If InStr(1, valeur, _
Application.International(xlDateSeparator)) > 0 Then
valeur = CDate(valeur)
End If
If Not plage.Find(valeur) Is Nothing Then
plage.Find(valeur).Select
Selection.Offset(0, -1) = Selection
Else
MsgBox ("Codice non trovato")
End If

End Sub
[Modificato da federico460 22/09/2022 15:55]
Post: 44
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2007
OFFLINE
22/09/2022 16:16

Grazie Federico per la tua veloce soluzione. Ti chiedo un’altra cosa, avrei bisogno che dopo aver incollato il codice la selezione rimanesse sul codice appena incollato nella cella in colonna C
Post: 2.692
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
22/09/2022 16:23

ciao

Sub CercaInput()
Dim plage As Range, valeur
Set plage = Range("D:D")
valeur = InputBox("Codice da trovare:")
If valeur = "" Then Exit Sub
If InStr(1, valeur, _
Application.International(xlDateSeparator)) > 0 Then
valeur = CDate(valeur)
End If
If Not plage.Find(valeur) Is Nothing Then
plage.Find(valeur).Select
Selection.Offset(0, -1) = Selection
Selection.Offset(0, -1).Select

Else
MsgBox ("Codice non trovato")
End If

End Sub
Post: 45
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2007
OFFLINE
22/09/2022 16:33

Perfetto, grazie mille!
Post: 46
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2007
OFFLINE
25/10/2022 16:34

Re:
federico460, 22/09/2022 16:23:

ciao

Sub CercaInput()
Dim plage As Range, valeur
Set plage = Range("D:D")
valeur = InputBox("Codice da trovare:")
If valeur = "" Then Exit Sub
If InStr(1, valeur, _
Application.International(xlDateSeparator)) > 0 Then
valeur = CDate(valeur)
End If
If Not plage.Find(valeur) Is Nothing Then
plage.Find(valeur).Select
Selection.Offset(0, -1) = Selection
Selection.Offset(0, -1).Select

Else
MsgBox ("Codice non trovato")
End If

End Sub




Ciao Federico, un mese fa mi avevi costruito questa istruzione. Lavorandoci ho riscontrato un problema; quando ho più di un codice uguale, tale funzione incolla il codice sempre nella prima cella che trova, ti chiedo se è possibile che nella seconda (o successive) ricerca del codice, trovando la cella già occupata, lo incolli nella prima cella vuota sotto.
Ti allego il file com’è adesso

Post: 8
Registrato il: 17/08/2016
Utente Junior
Office 2013
OFFLINE
26/10/2022 10:06

@Marius44 Ciao e grazie per l'aiuto.... ne ho abbozzata una versione funzionante come serve a me... l'unica cosa è che cambiando il numero di step (max 50) non mi varia sul grafico (se li forzo io dai dati del grafico il massimo che riesco a raggingere è 28 step circa)
[Modificato da Luca Salute 26/10/2022 11:23]
Post: 47
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2007
OFFLINE
26/10/2022 11:57

Re:
Luca Salute, 26/10/2022 10:06:

@Marius44 Ciao e grazie per l'aiuto.... ne ho abbozzata una versione funzionante come serve a me... l'unica cosa è che cambiando il numero di step (max 50) non mi varia sul grafico (se li forzo io dai dati del grafico il massimo che riesco a raggingere è 28 step circa)




Luca salute, hai messo la tua in una discussione che non centra con quella iniziata da me...
Post: 2.707
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
26/10/2022 20:31

ciao
usa questa

Sub cerca()
Dim x As String
Dim i As Integer
Dim k As Boolean
k = False
x = InputBox("INSERISCI IL NOME CHE VUOI CERCARE")
If x = "" Then MsgBox "Nome non inserito": Exit Sub
For i = 1 To 600
If UCase(Cells(i, 4)) = UCase(x) Then
Cells(i, 3) = UCase(x)

k = True
End If
Next
If k = False Then
MsgBox ("NOME NON TROVATO")

End If
End Sub


Post: 11
Registrato il: 17/08/2016
Utente Junior
Office 2013
OFFLINE
26/10/2022 20:41

Re: Re:
De Martin.PAOLO, 26/10/2022 11:57:




Luca salute, hai messo la tua in una discussione che non centra con quella iniziata da me...

Lo so ho sbagliato chiedo scusa...
Ho provato anche a cancellarla ma non me lo fa fare...
Post: 48
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2007
OFFLINE
27/10/2022 09:36

Re:
federico460, 26/10/2022 20:31:

ciao
usa questa

Sub cerca()
Dim x As String
Dim i As Integer
Dim k As Boolean
k = False
x = InputBox("INSERISCI IL NOME CHE VUOI CERCARE")
If x = "" Then MsgBox "Nome non inserito": Exit Sub
For i = 1 To 600
If UCase(Cells(i, 4)) = UCase(x) Then
Cells(i, 3) = UCase(x)

k = True
End If
Next
If k = False Then
MsgBox ("NOME NON TROVATO")

End If
End Sub





Ciao Federico, “troppa grazia s. Antonio” si dice qui da noi in Veneto quando si ottiene più dell’occorrente… la tua funzione mi incolla tutti i codici uguali a quello cercato, ma in realtà mi deve copiare uno alla volta. Quei codici in colonna D sono ISBN dei libri che mi sono stati ordinati, mentre in colonna C sono i codici ISBN che inserisco man mano che arrivano e non arrivano tutti assieme, per es. oggi ne arrivano 2, e li inserisco, domani 1, fra una settimana 4. Quindi li devo inserire un po’ alla volta a seconda di quanti ne arrivano di volta in volta.
Post: 50
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2007
OFFLINE
27/10/2022 17:40

Provo a chiedere ancora se qualcuno mi può risolvere il problema.
Questa istruzione di Federico, inserita nel file che allego, mi può andar bene con una modifica; se il codice che cerco (nell’esempio è 9788808699916) è presente in C3, venga selezionata la prima cella libera sotto, nell’esempio è C5
Naturalmente questa dinamica deve valere per tutti i codici che devo cercare come il 9788884883681 e il 9788808264473
Io ci capisco poco di VBA ma magari così è più facile da risolvere.

Sub CercaInput()
Dim plage As Range, valeur
Set plage = Range("D:D")
valeur = InputBox("Codice da trovare:")
If valeur = "" Then Exit Sub
If InStr(1, valeur, _
Application.International(xlDateSeparator)) > 0 Then
valeur = CDate(valeur)
End If
If Not plage.Find(valeur) Is Nothing Then
plage.Find(valeur).Select
Selection.Offset(0, -1) = Selection
Selection.Offset(0, -1).Select
Else
MsgBox ("Codice non trovato")
End If

End Sub
[Modificato da De Martin.PAOLO 27/10/2022 17:42]
Post: 2.710
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
29/10/2022 00:02

ciao
scusa il ritardo
metti

Sub cerca()
Dim x As String
Dim i As Integer
Dim k As Boolean
k = False
x = InputBox("INSERISCI IL NOME CHE VUOI CERCARE")
If x = "" Then MsgBox "Nome non inserito": Exit Sub
For i = 1 To 600
If UCase(Cells(i, 4)) = UCase(x) And Cells(i, 3) = "" Then
Cells(i, 3) = UCase(x)
Cells(i, 3).Select
k = True
Exit For
End If

Next

If k = False Then
MsgBox ("NOME NON TROVATO")

End If
End Sub



Post: 51
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2007
OFFLINE
29/10/2022 09:58

Grazie Federico, così è perfetto [SM=g27811]
Salutami Vicenza, a Creazzo ho una zia di 94 anni a cui voglio un bene dell'anima !
Post: 2.711
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
29/10/2022 11:50

ciao

bella età quella di tua zia
si mantiene perchè mangia il brocolo filolaro😀
Post: 52
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2007
OFFLINE
02/11/2022 16:20

Ciao, ho fatto una aggiunta alla VBA di Federico (prima volta che riesco a modificare una istruzione…) che ringrazio ancora, per far restare attivo sempre l’imput box; dato che i codici io li inserisco tramite lettore ottico, mi diventa più agevole averlo sempre attivo così evito di mollare il lettore e cliccare sul pulsante.
Magari può tornare utile a qualcuno.

Sub cerca()
Dim x As String
Dim i As Integer
Dim k As Boolean
k = False
x = InputBox("CODICE DA CERCARE")
If x = "" Then Exit Sub
For i = 1 To 600
If UCase(Cells(i, 4)) = UCase(x) And Cells(i, 3) = "" Then
Cells(i, 3) = UCase(x)
Cells(i, 3).Select
k = True
Exit For
End If

Next

If k = False Then
MsgBox ("CODICE NON TROVATO")

End If

'questa istruzione sotto fa ripetere la macro continuamente, per uscire clicca si Annulla o so OK
For i = 1 To 1
Call cerca ' dopo Call, va scritto il nome della macro
Next
' fine istruzione ripeti macro

End Sub
[Modificato da De Martin.PAOLO 02/11/2022 16:21]
Post: 2.714
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Veteran
365
OFFLINE
03/11/2022 20:17

ciao
se clicchi su annulla chiude
altrimenti continua ad aprirti la input

Sub cerca()
Dim x As String
Dim i As Integer
Dim k As Boolean

k = False
x = Application.InputBox("INSERISCI IL NOME CHE VUOI CERCARE")
If x = "" Then MsgBox "Nome non inserito": Exit Sub
If x = False Then Exit Sub
For i = 1 To 600
If UCase(Cells(i, 4)) = UCase(x) And Cells(i, 3) = "" Then
Cells(i, 3) = UCase(x)
Cells(i, 3).Select
k = True
Exit For
End If

Next

If k = False Then
MsgBox ("NOME NON TROVATO")

End If
Call cerca
End Sub

Post: 53
Registrato il: 08/07/2017
Città: SUSEGANA
Età: 62
Utente Junior
2007
OFFLINE
04/11/2022 12:22

Re:
federico460, 03/11/2022 20:17:

ciao
se clicchi su annulla chiude
altrimenti continua ad aprirti la input

Sub cerca()
Dim x As String
Dim i As Integer
Dim k As Boolean

k = False
x = Application.InputBox("INSERISCI IL NOME CHE VUOI CERCARE")
If x = "" Then MsgBox "Nome non inserito": Exit Sub
If x = False Then Exit Sub
For i = 1 To 600
If UCase(Cells(i, 4)) = UCase(x) And Cells(i, 3) = "" Then
Cells(i, 3) = UCase(x)
Cells(i, 3).Select
k = True
Exit For
End If

Next

If k = False Then
MsgBox ("NOME NON TROVATO")

End If
Call cerca
End Sub




[SM=g27811] Grazie
[Modificato da De Martin.PAOLO 04/11/2022 12:23]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 05:30. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com