04. august 2006 - 12:54Der er
9 kommentarer og 1 løsning
Pivottabel med dataark
Hejsa
Jeg har et lidt stort spørgsmål måske, men jeg prøver.
Jeg vil gerne lave et excelark som kan følgende:
1: En boks som man kan indtaste oplysninger i ca. 5 oplysninger (eks. medarbejdernr., timer, timesats, alder, projektnr.)
Når man har tastet disse fem oplysninger, skal man kunne trykke f.eks. gem og så skal boksen nulstilles så man kan taste oplysningerne for en ny person indtil man afslutter boksen.
2: disse oplysninger skal gemmes i et ark e.l. 3: Der skal genereres en pivottabel e.l. udfra disse oplysninger
Det hele skulle gerne være så automatisk som muligt, dvs. at når man har tastet de oplysninger man skal bruge så ligger pivottabellen i et ark.
Kan man lave noget bare i nærheden heraf og er der nogle som har mod på at hjælpe mig igennem med eksempler.
1: En userform med 5 felter - knapperne: Gem (lagre felter i ark - næste ledige række samt sletter felter i formen) & Clear (sletter felter i formen) & Afslut (lukker formular) 2: udføres ved Gem 3: ?? - men vel ikke umuligt
Hvis det villevære det nemmeste for dig - så senden mail til: pb@supertekst-it.dk så sender jeg hele filen - ellers er kodningen her:
I regnearket - ThisWorkbook: Sub workbook_activate() Load UserForm1 UserForm1.Show End Sub
I formularen (opbygget som tidligere nævnt): Dim rækIArk
Private Sub f_afslut_Click() ClearFelter Unload UserForm1 End Sub Private Sub f_clear_Click() ClearFelter End Sub Private Sub f_gem_Click() Rem test om alle felter er udfyldt If Me.f_medarbejdernr.Value <> "" And _ Me.f_timer.Value <> "" And _ Me.f_timesats.Value <> "" And _ Me.f_alder.Value <> "" Then OpdaterIArk Else MsgBox ("Visse felter ej udfyldt") Me.f_medarbejdernr.SetFocus End If End Sub Private Sub UserForm_activate() ActiveWorkbook.Sheets(1).Select
ClearFelter Me.f_medarbejdernr.SetFocus End Sub Private Sub ClearFelter() Me.f_medarbejdernr.Value = "" Me.f_timer.Value = "" Me.f_timesats.Value = "" Me.f_alder.Value = ""
Me.f_medarbejdernr.SetFocus End Sub Private Sub OpdaterIArk() rækIArk = findFørsteLedigeRække
ClearFelter End Sub Private Function findFørsteLedigeRække() Dim r For r = 1 To 65000 If Cells(r, 1) = "" Then findFørsteLedigeRække = r Exit Function End If Next r End Function
Ok - vedr. sidste indlæg: Det samme har jeg selv tænkt på - det kan godt lade sig gøre. Vender tilbage herom - evt. ført mandag.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.