inregistrare date din userform
inregistrare date din userform
Salut
Am fisierul atasat,in care am creat un userform.Cum fac ca dupa bifarea celor 3 coloane din aceasta forma , in primul rand gol din coloanele E,F si G sa se inregistreze ceea ce este bifat?
Adica eu tot timpul sa am pe ecran acea forma.Bifez cate o optiune(doar cate 1) din fiecare coloana din forma si apoi apas ok.Atunci datele din forma sa se scrie in fisier in dreptul coloanelor E,F si G, iar in coloana H sa se scrie data si ora la care am apasat ok.Daca apas AM GRESIT, sa dispara ce este bifat, iar datele sa nu se inregistreze.
Am fisierul atasat,in care am creat un userform.Cum fac ca dupa bifarea celor 3 coloane din aceasta forma , in primul rand gol din coloanele E,F si G sa se inregistreze ceea ce este bifat?
Adica eu tot timpul sa am pe ecran acea forma.Bifez cate o optiune(doar cate 1) din fiecare coloana din forma si apoi apas ok.Atunci datele din forma sa se scrie in fisier in dreptul coloanelor E,F si G, iar in coloana H sa se scrie data si ora la care am apasat ok.Daca apas AM GRESIT, sa dispara ce este bifat, iar datele sa nu se inregistreze.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: inregistrare date din userform
Salut!
In primul rand 2 observatii:
1. Daca trebuie sa fie o singura valoare pe coloana nu ar fi trebuit sa folosesti "CheckBox" ci "OptionButton". Am lasat exemplul totusi asa cum a fost conceput.
2. Ca sa poti controla fiecare coloana, obiectele de pe coloana respectiva trebuiesc incluse intr-un "Frame"
Pentru salvarea datelor, trebuie scris cod in evenimentul Click al butonului Ok. Doar trebuie gasit ultimul rand disponibil, si apoi scris ce trebuie pe fiecare coloana:
Pentru butonul "Am gresit" presupun ca defapt doreai o doar resetare a checkboxurilor, asa va varianta rapida este:
Mai multe detalii in fisierul atasat.
In primul rand 2 observatii:
1. Daca trebuie sa fie o singura valoare pe coloana nu ar fi trebuit sa folosesti "CheckBox" ci "OptionButton". Am lasat exemplul totusi asa cum a fost conceput.
2. Ca sa poti controla fiecare coloana, obiectele de pe coloana respectiva trebuiesc incluse intr-un "Frame"
Pentru salvarea datelor, trebuie scris cod in evenimentul Click al butonului Ok. Doar trebuie gasit ultimul rand disponibil, si apoi scris ce trebuie pe fiecare coloana:
Cod: Selectaţi tot
Private Sub CommandButton1_Click()
Dim r As Double, sh As Sheet1
Dim elDefect As Control, elBara As Control, elCuloare As Control
'stabileste foaia in care se lucreaza
Set sh = Sheets("Sheet1")
'detecteaza primul rand liber pe coloana de referinta (E)
r = sh.Cells(sh.Rows.Count, "E").End(xlUp).Row + 1
'scrie pe coloana H data si ora
sh.Range("H" & r).Value = Now()
'Scrie in coloana E defect
For Each elDefect In Me.fraDefect.Controls
If TypeName(elDefect) = "CheckBox" Then
If elDefect.Value = True Then
sh.Range("E" & r).Value = elDefect.Caption
Exit For
End If
End If
Next elDefect
'Scrie in coloana F tip bara
For Each elBara In Me.fraBara.Controls
If TypeName(elBara) = "CheckBox" Then
If elBara.Value = True Then
sh.Range("F" & r).Value = elBara.Caption
Exit For
End If
End If
Next elBara
'Scrie in coloana G Culoare
For Each elCuloare In Me.fraCuloare.Controls
If TypeName(elCuloare) = "CheckBox" Then
If elCuloare.Value = True Then
sh.Range("G" & r).Value = elCuloare.Caption
Exit For
End If
End If
Next elCuloare
End Sub
Cod: Selectaţi tot
Private Sub CommandButton2_Click()
Dim elem As Control
For Each elem In Me.Controls
If TypeName(elem) = "CheckBox" Then
elem.Value = False
End If
Next elem
End Sub
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Re: inregistrare date din userform
Merge perfect.Multumesc.
Re: inregistrare date din userform
Salut.
Am facut modificarile din CheckBox in OptionButton.
A mers bine Ieri
Azi imi da eroare Compile Error: User-defined type not defined
Am facut modificarile din CheckBox in OptionButton.
A mers bine Ieri
Azi imi da eroare Compile Error: User-defined type not defined
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: inregistrare date din userform
Salut!
Cand apare o eroare, e bine sa te obisnuiesti sa citesti mesajul de eroare si ce anume a fost "subliniat" pentru ca editorul VBA incearca sa te ajute:
In cazul de fata doar trebuie corectata linia respectiva cu:
Cand apare o eroare, e bine sa te obisnuiesti sa citesti mesajul de eroare si ce anume a fost "subliniat" pentru ca editorul VBA incearca sa te ajute:
In cazul de fata doar trebuie corectata linia respectiva cu:
Cod: Selectaţi tot
Dim r As Double, sh As Worksheet
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Re: inregistrare date din userform
dar ce s-a intamplat?
O zi a mers bine, iar a 2-a zi aparea asta.
O zi a mers bine, iar a 2-a zi aparea asta.
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: inregistrare date din userform
Cineva a modificat codul... chiar si din gresala, pentru ca in momentul in care se apasa "Debug" iar partea cu eroarea era selectata, un simplu spatiu poate sa stearga bucata respectiva... si de aici "dezastrul"...