16. marts 2007 - 11:17Der er
15 kommentarer og 1 løsning
Hop til dato via userform.
Jeg har netop oprettet en userform med det tilhørende kontrolelement Calender Control 10.0. Nu kunne jeg godt tænke mig en makro der i den aktuelle fil fik cursoren til at hoppe hen til den, i userformen, valgte dato.
Lige nu ser min makro således ud
Sub ShowIt() application.Goto Reference:="VÆLGDATO" UserForm1.Show End Sub
og så går jeg død ;-)
Nu skulle makroen gerne søge i samtlige ark i filen (også de skjulte) og stille sig på datoen...kan nogen hjælpe mig med det ??
Hmmm...kanikke finde tagindex.....kun tag...mon det er det samme ? Jeg får problemer med ME.Calender.SetFocus, den giver mig Compile error, Invalid use of Me keyword
Ja, undskyld den lange svartid, jeg har ikke været på pinden i et stykke tid....og Jo navnet var godt nok. Jeg må indrømme at jeg har opgivet ævret for nu det blev for kompliceret, men tak for forsøget.
Filen fylder er stor over 3 MB og indeholde nogle "følsomme" data så jeg kan ikke lige vupti sende den videre, jeg kunne muligvis konstruere en eksempel fil.
Men først kan jeg lige prøve at forklare mig lidt bedre.
Filen fungerer som en kalender og indeholder omkring 10 ark. Hvert ark viser et halvår og kun de 2 aktuelle halvår vises, de øvrige er skjulte. Hver kolonne (fra D til ca GD) viser en dag. Datoen vises i række 2.
Nu vil jeg gerne have en "Find dato" knap, således at userformen Calendar aktiveres og når jeg prikker på en dato hopper Excel til denne dato, og hvis der er tale om en gammel dato hives arket frem fra gemmerne.
Jeg er kommet så langt at userformen er oprettet, når jeg trykker på min "Find dato" knap indsættes datoen i celle A1....her stopper min ekspertise :-)...og jeg har brug for hjælp.
Følgende kode er indlagt i Userform, der kun indeholder kalenderen: Hvordan skal proceduren være vedr. de skjulte ark - de bliver vist når søgningen lander i sådan et.
Dim dato As Date, halvÅr As String, måned, år Private Sub Calendar1_Click() 'Ved klik på dato i kalender - navn evt. tilpasses dato = Calendar1.Value år = Format(dato, "YYYY") måned = DatePart("m", CStr(dato), 2, 2) If måned < 7 Then halvÅr = "1" Else halvÅr = "2" End If
findRelevanteArk End Sub Private Sub findRelevanteArk() Dim arkNavn arkNavn = halvÅr + ".HALVÅR " + år
For Each ark In ActiveWorkbook.Sheets If ark.Name = arkNavn Then ark.Visible = True ark.Activate SøgIark Exit Sub End If Next MsgBox ("Dato kunne ikke findes") End Sub Private Sub SøgIark() Dim antalKol antalKol = ActiveCell.SpecialCells(xlLastCell).Column
For k = 4 To antalKol If Cells(2, k) = dato Then Cells(2, k).Select Exit Sub End If
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.