PDA

Visualizza la versione completa : inserire dati in un foglio di excel con un form o maschera


basā
08-02-2008, 20:54
ciao ragazzi premetto che di VB non so un niente.
vorrei creare un form per immettere dati in excel, come posso fare? č molto difficile?
DATA ANNO MESE TIPO SOTTOTIPO SALDO
QUESTI SONO I CAMPI.


aiutatemi!!!!!

MetalPiskuan
08-02-2008, 21:21
Ma lo devi fare in VB6 / VB.NET oppure potrebbe andar bene anche un UserForm VBA direttamente in Excel.

Perchč non capisco:
ti serve un form che trasporti i dati verso Excel?
Oppure il form deve gestire l'input manuale dei dati stessi.

Ciao.

basā
08-02-2008, 21:41
no voglio creare una tabella che per inserire i record non devo agire sul foglio ma trammite un form .
con cosa bo pensavo con l'editor gia incluso con excel

MetalPiskuan
09-02-2008, 00:30
Bene allora apri excel premi ALT+F11 per accedere all'editor di VBA.
Dal menu Inserisci seleziona UserForm (si aprirā in modalitā disegno).
Dalla casella degli strumenti puoi selezionare e inserire i controlli che ti servono sul form.
Usa delle TextBox (Casella di Testo) per i campi :
DATA ANNO MESE TIPO SOTTOTIPO SALDO
Inserisci anche un bottone che servirā per salvare i dati.

Dal Menu Inserisci seleziona Modulo (servirā per atiivare il form)
Nella pagina bianca che compare inserisci questo codice


Public Sub Inizia()
UserForm1.Show
End Sub


Per lanciare il form : dal foglio di lavoro di Excel premi ALT+F8 per attivare la finestra di gestione Macro, seleziona Inizia e quindi premi Esegui.

Per il momento l'unico pezzo di codice che devi scrivere č quello che ti ho detto, prova a fare qualche esperimento.
Quando sei soddisfatto del LayOut ottenuto posta dove sei arrivato che vediamo il resto.

Ciao.

esami
14-02-2008, 00:41
ciao, io ho pių o meno lo stesso problema, non so niente di VB VBA VBC VBD VBE ecc. ecc...

Ho seguito le tue indicazioni e ho creato la maschera....

ho capito che per inserire i dati dalla maschera sulla tabella (di excel) devo mettere nelle proprieta delle caselle di testo (in control source)il nome della cella ( x es.B3 ).

Il mio problema č...come faccio a non sovrascrivere i dati, ma a posizionare il cursore alla prossima cella VUOTA???



altro problema...nella finestra di dialogo ho messo in alto una specie di linguete (tipo schede di firefox), ma non funzionano...come devo fare???


Spero di esser stato chiaro.....avrei 2000 domande da farti....ma x ora va bene cosi!

ciao e grazie

MetalPiskuan
14-02-2008, 01:35
Ho seguito le tue indicazioni e ho creato la maschera....

Hai ragione, questo tread non č concluso.
Impostare la propieta ControlSource per scrivere direttamente nelle celle č un po' complicato dato che dovrebbe essere reimposta di volta in volta per non scrivere e leggere sempre le stesse celle.

L'approccio che suggerisco č quelo di creare un ciclo che verifichi la prima colonna della tua tabella alla ricerca della prima cella che non contiene dati.
Supponendo che il primo dato valido della tua tabella sia in A3 del foglio ENTRATE si potrebbe scrivere una cosa del genere:


Private Function UltimaRiga() As Long
Dim vTemp As Variant
Dim iRR As Long

' Calcolo la riga in cui inserire i dati (la prima riga libera)
iRR = 2 ' riga di inizio
' Utilizzo la notazione riga,colonna
vTemp = Worksheets("ENTRATE").Cells(iRR, 1).Value
Do While Not IsEmpty(vTemp)
iRR = iRR + 1
vTemp = Worksheets("ENTRATE").Cells(iRR, 1).Value
Loop
UltimaRiga = iRR
End Funcrion


Questo codice andrebbe scritto nell'UserForm che hai creato, richiamato dall'evento Click di un bottone, ad esmpio se ai creato un bottone di nome CommandButton1:


Private Sub CommandButton1_Click()
Dim vTemp As Variant
Dim iRR As Long

' Calcolo la riga in cui inserire i dati (la prima riga libera)
iRR = UltimaRiga

' posso a questo punto inserire i dati
Worksheets("ENTRATE").Cells(iRR, 1).Value = TextBox1.Text ' Colonna 1 (A)
Worksheets("ENTRATE").Cells(iRR, 2).Value = TextBox2.Text ' Colonna 2 (B)


' dato che non esiste nessun controllo la doppi pressione sul bottone
' provoca due inserimenti per evitare chiudo e scarico il Form
Unload Me
End Sub


Non so se sono stato utile, spero di si.
Ciao.

Geryko
16-09-2011, 16:56
ciao MetalPiskuan , vedo che sei un esperto , potresti aiutarmi , a fregare un mio collega ?
stiamo cercando di creare un programma di carico scarico con EXCEL ,(lui č pių bravo di me :mem: )
il punto č questo , deve esserci una pagina "MAGAZINO" :giacenza ; carico con relativa data che si inserisca da sola , all'immisione della quantita nella cella di carico.
la stessa cosa con scarico , ma scarico deve partire da 4 differenti fogli denominati "Sportello 1" "sportello " e di seguito .
č possibile , puoi aiutarmi ?
ovviamente col mio collega il merito sarā tutto mio :unz:

alka
16-09-2011, 16:59
Originariamente inviato da Geryko
ciao MetalPiskuan , vedo che sei un esperto , potresti aiutarmi , a fregare un mio collega ?


Per favore, leggi il Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=973888) di quest'area e rispettalo.

Loading