Condividi:        

Copia incolla una riga con inputbox

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

Copia incolla una riga con inputbox

Postdi zanatta77 » 14/04/14 09:35

Buongiorno a tutti
Sto cercando di creare un foglio di lavoro su "Excel 2010" con diversi dati inseriti, che dovrebbe praticamente
nel momento in cui attivo il foglio far comparire un inputbox che deve trattare solo numeri tipo "as integer"
Il numero massimo e minimo consentito vorrei fissarlo su 20 e 1 se il valore fosse diverso da questo "range"
semplicemente deve comparire un msgbox di avviso e ripresentare l'inputbox iniziale.
Nel momento in cui viene inserito un numero compreso nel "range" allora deve copiare la selezione Range("B10:M10")
e incollarlo nel numero inserito nell'inputbox che diventerà Range("B??:M??").
Inserisco una bozza di quello che sono riuscito a fare
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
Dim message, title, defaultValue As String
Dim myValue As Object
message = "Valore minimo 1 e massimo 20"
title = "Definisci il totale  da inserire"
defaultValue = "Definisci il numero  che vuoi inserire"
myValue = InputBox(message, title, defaultValue)
If InputBox.Value <= 0 or > 20 Then
MsgBox "Spiacente il numerico non rientra nel range consentito"
ElseIf InputBox.Value = 1 to 20 Then
Range("B10:M10").Select
Selection.Copy
'Quello che dovrebbe fare adesso e prendere il valore inserito nell' inputbox
'e farlo diventare la nuova selezione dove incollare il tutto Range("B:M").Paste
End Sub
Windows 8
Office 2010
Avatar utente
zanatta77
Utente Senior
 
Post: 127
Iscritto il: 01/12/12 16:12

Sponsor
 

Re: Copia incolla una riga con inputbox

Postdi Anthony47 » 15/04/14 01:06

Forse l' uso di una userform avrebbe consentito una migliore interfaccia con l' utente... comunque con l' impostazione che hai dato, questa versione della tua macro (alquanto avventurosa, in un paio di passi) dovrebbe andare:
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
Dim message, title, defaultValue As String
Dim myValue As Variant
message = "Valore minimo 1 e massimo 20"
title = "Definisci il totale  da inserire"
defaultValue = "Definisci il numero  che vuoi inserire"
myValue = Application.InputBox(message, title, defaultValue)
If myValue <= 0 Or myValue > 20 Then
    MsgBox "Spiacente il numerico non rientra nel range consentito"
ElseIf myValue >= 0 Or myValue <= 20 Then
    Range("B10:M10").Copy Destination:=Range("B" & myValue)
End If
End Sub


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

Re: Copia incolla una riga con inputbox

Postdi zanatta77 » 16/04/14 21:40

Grazie va benissimo per l'uso che devo farne, unica modifica fatta è stata questa ("B" & myValue+10 ) in quanto la destinazione deve avvenire dalla riga 11 alla riga 30.
Vorrei incrementare il lavoro del file facendogli fare una moltiplicazione in base al valore inserito nell'inputbox , quello che sono riuscito a fare io è quanto inserisco nello script mi chiedevo c'è una soluzione sintetica di tutto questo.
Codice: Seleziona tutto
If myValue = 1 Then
Range("M11") = Range("L11" * "J11")
ElseIf myValue = 2 Then
Range("M11") = Range("L11" * "J11") & Range("M12") = Range("L12" * "J12")
ElseIf myValue = 3 Then
Range("M13") = Range("L11" * "J11") & Range("M12") = Range("L12" * "J12") & Range("L13" * "J13")
' E così via fino ad arrivare a Range("M30")
End If

Praticamente quello che dovrebbe fare è questo; inserito il valore nel range prefissato (1:20) in base al valore inserito, deve scrivere il totale della moltiplicazione tra Range "L" e Range "J" Nel range "M", tenendo presente sempre il discorso del +10 in quanto deve prendere in considerazione dalla riga 11 alla 30.
Windows 8
Office 2010
Avatar utente
zanatta77
Utente Senior
 
Post: 127
Iscritto il: 01/12/12 16:12


Torna a Applicazioni Office Windows


Topic correlati a "Copia incolla una riga con inputbox":


Chi c’è in linea

Visitano il forum: systemcrack e 76 ospiti

cron