Discussione:
pulsanti avanti e indietro
(troppo vecchio per rispondere)
Antonio
2007-05-14 19:14:01 UTC
Permalink
in una UserFormo volevo mettere due pulsanti "AVANTI" e "INDIETRO" per
scorrere i dati inseriti nelle righe del Foglio1 colonne A:G tramite TextBox
(7) , un aiuto per il codice da inserire. Grazie 1000. Un saluto a tutti.

Ciao
Antonio
Norman Jones
2007-05-14 20:57:19 UTC
Permalink
Ciao Antonio,

'-----------------
in una UserFormo volevo mettere due pulsanti "AVANTI" e "INDIETRO" per
scorrere i dati inseriti nelle righe del Foglio1 colonne A:G tramite TextBox
(7) , un aiuto per il codice da inserire. Grazie 1000. Un saluto a tutti.
'-----------------

Nel modulo dell'Userform, incolla:
'=============>>
Option Explicit

'------------------->>
Public iRow As Long

'------------------->>
Private Sub CommandButton1_Click()
iRow = iRow + 1
Call LoadTextBoxes
End Sub

'------------------->>
Private Sub CommandButton2_Click()
If iRow > 1 Then
iRow = iRow - 1
End If
Call LoadTextBoxes
End Sub

'------------------->>
Private Sub UserForm_Initialize()
iRow = 1
Call LoadTextBoxes
Me.CommandButton1.Caption = "AVANTI"
Me.CommandButton2.Caption = "INDIERTRO"
End Sub

'------------------->>
Public Sub LoadTextBoxes()
Dim WB As Workbook
Dim SH As Worksheet
Dim rng As Range
Dim i As Long

Set WB = ThisWorkbook
Set SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE
Set rng = SH.Rows(iRow).Resize(1, 7)

For i = 1 To 7
Me.Controls("TextBox" & i).Value = rng.Cells(i).Value
Next i
End Sub
'<<=============


---
Regards,
Norman
Microsoft Excel MVP
Mauro Gamberini
2007-05-15 07:25:13 UTC
Permalink
Post by Antonio
in una UserFormo volevo mettere due pulsanti "AVANTI" e "INDIETRO" per
scorrere i dati inseriti nelle righe del Foglio1 colonne A:G tramite TextBox
(7) , un aiuto per il codice da inserire. Grazie 1000. Un saluto a tutti.
Oltre al suggerimento di Norman, potresti considerare
l'utilizzo di un Pulsante di selezione.

Questo eventualmente il codice che è in pratica
lo stesso postato da Norman. Ho solo aggiunto
un controllo su eventuali click una volta arrivati
all'ultimo record della tabella di Excel, onde evitare
che le TextBox carichino righe vuote:

Option Explicit

Public iRow As Long

Private Sub SpinButton1_SpinDown()
If iRow > 1 Then
iRow = iRow - 1
End If
Call LoadTextBoxes
End Sub

Private Sub SpinButton1_SpinUp()
Dim ur As Long
With Worksheets("Foglio1")
ur = .Range("A" & Rows.Count).End(xlUp).Row
If iRow <= ur Then
iRow = iRow + 1
Call LoadTextBoxes
End If
End With
End Sub

Public Sub LoadTextBoxes()
Dim WB As Workbook
Dim SH As Worksheet
Dim rng As Range
Dim i As Long

Set WB = ThisWorkbook
Set SH = WB.Sheets("Foglio1")
Set rng = SH.Rows(iRow).Resize(1, 7)

For i = 1 To 7
Me.Controls("TextBox" & i).Value = rng.Cells(i).Value
Next i
End Sub
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Antonio
2007-05-15 08:14:01 UTC
Permalink
Grazie Norman, (codice OK)
e grazie Mauro per il codice ma non ho ben capito cosa devo fare
sostituirlo a quello di Norman o aggiungerlo? Scusa la mia ignoranza in
materia ma sto facendo una fatica enorme a mettere insieme tutti questi pezzi
di codice e ogni volta incontro dei problemi e purtroppo non so dove mettere
le mani, ho fatto una prova a sostituire il tuo con quello di Norman ma non
succede niente, quando mando in esecuzione UserForm e poi utilizzo i tasti
AVANTI e INDIETRO non succede nulla.
Approfitto della vostra competenza e disponibilità per chiedere altro aiuto
, con il codice di Norman mi sposto fra i vari campi ma se poi voglio tornare
alla prima riga vuota per inserire nuovamente i dati, avevo pensato di
aggiungere un tasto "NUOVO RECORD" . Grazie a tutti e un saluto

Ciao
Antonio
Mauro Gamberini
2007-05-15 09:18:01 UTC
Permalink
<cut>

Fermo lì.
In Excel(no vba)
Click sulla tua tabella.
Dati-->Modulo
Rispondi Ok

Non va bene?
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Antonio
2007-05-15 12:14:00 UTC
Permalink
Post by Mauro Gamberini
<cut>
Fermo lì.
In Excel(no vba)
Click sulla tua tabella.
Dati-->Modulo
Rispondi Ok
Non va bene?
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Chiedo scusa forse sono io che non ho capito, il codice lo mettevo su
UserForm di inserimento dati che stavo creando, quindi mettendo il tuo
codice, a questo punto mi sorge il dubbio ma dove? se non in VB? il Modulo
dati di excel non mi risulta si possa modificare, sapevo che il codice era
protetto, ma ripeto di VB ne capisco davvero poco sto muovendo ora i primi
passi e non ho basi di programmazione, quindi se cortesemente vuoi darmi
qualche delucidazione su come e dove usare il tuo codice, per intanto ti
ringrazio della cortesia

Ciao
Antonio
Antonio
2007-05-15 12:23:01 UTC
Permalink
Pardon, forse intendevi se non andava bene il Modulo dati di excel, in
effetti andrebbe anche bene come campi ma non essendo personalizzabile
preferivo costruire una cosa del genere, ad esempio in Acces ti permette di
creare l'userform e poi aggiungere i vari pulsanti già predisposti per le
varie funzioni, ma comunque personalizzato nelle forme e colori ed è quello
che volevo fare io, oltretutto mi pare che non ci sia un comando che lanci in
automatico il Modulo all'apertura di un file o abbinato ad un pulsante, ho
provato a registrare una macro ma non và.

Ciao Mauro e grazie per interessamento.

Antonio

Continua a leggere su narkive:
Loading...