Just nu i M3-nätverket
Jump to content

popup kalender


avtak

Recommended Posts

Har försökt med att få svar på denna fråga i ett annat forum utan resultat.Hoppas någon kan hjälpa mig.

Jag håller på att utveckla ett bokningssystem för jobbet, där man först väljer ett datum bokningen gäller. Idag har jag gjort det enkel när man väljer datum genom att i A1 väljer man månad genom en dropmeny och i B2 datum.

 

Jag skulle vilja när man trycker i cell A1 öppnas en minikalender (popup kalender) med datum och månad samt år och när man trycker på valt datum i kalendern genererar den det valda datumet i cellen A1 (ex 2010-12-07 eller 7 december ). Har sett att det finns en kalender i VB men har inga kunskaper hur jag kopplar den till kalkylbladet. Är detta möjligt att ordna i excel?

 

 

 

Link to comment
Share on other sites

Vilken version av Excel? fast det kvittar nog om än vägen till kontrollern kan vara lite annorlunda.

 

Om vi säger Excel 2007 - se till att ta fram utvecklar-ribbon, klicka där på Infoga -> ActiveX och Fler kontroller (punkterna längst ned i den dialogen). Skrolla i denna ruta efter Microsoft Date and Time Picker Controler.

Infoga en sådan och testa om det är vad du tänkt dig.

 

Du får klicka på denna för att få upp kalendern.

 

Annars finns även i samma grupp kontroller Microsoft MonthView.

 

Denna kan du fås att poppa upp via en knapp om du vill. Via klick i en cell går det med men mycket mycket mycket bättre om du kan acceptera en knapp.

 

Båda dessa kontroller kan du koppla till celler. Vill du att kontrollen ska gömmas vid klick, främst den senare, då gäller det mer avancerad VBA-kodning som vi tar om du har behov av det.

Link to comment
Share on other sites

Vilken version av Excel? fast det kvittar nog om än vägen till kontrollern kan vara lite annorlunda.

 

Om vi säger Excel 2007 - se till att ta fram utvecklar-ribbon, klicka där på Infoga -> ActiveX och Fler kontroller (punkterna längst ned i den dialogen). Skrolla i denna ruta efter Microsoft Date and Time Picker Controler.

Infoga en sådan och testa om det är vad du tänkt dig.

 

Du får klicka på denna för att få upp kalendern.

 

Annars finns även i samma grupp kontroller Microsoft MonthView.

 

Denna kan du fås att poppa upp via en knapp om du vill. Via klick i en cell går det med men mycket mycket mycket bättre om du kan acceptera en knapp.

 

Båda dessa kontroller kan du koppla till celler. Vill du att kontrollen ska gömmas vid klick, främst den senare, då gäller det mer avancerad VBA-kodning som vi tar om du har behov av det.

 

----------------

 

Jag har excel 2010 hemma och 2007 på jobbet. När jag går in under fler kontroller i 2010 så finns ingen av de du nämner i listan. Däremot så finns kalenderkontroll 12.0. En sådan kalender vill jag ha. Ska titta på hur de andra ser ut i version 2007 imorgon på jobbet. Det viktigaste är att den fungerar i den äldre versionen (2007) då bokningssystemet ska användas där, men går det att få den att funka i version 2010 är de det bästa.

 

Jag vill att kalendern ska gömmas när jag valt ett datum för att samtidigt skriva ut datumet i en cell som klartext.

Link to comment
Share on other sites

Mmh, undras vilket paket jag fått dom med då? Kanske någon installation av ett utvecklingspaket från MS

 

http://msdn.microsof...28VS.60%29.aspx

där finns ivartfall kontrollen dokumenterad.

 

 

Vill du få en sådan här kontroll klickbar, då måste du skapa en klass och där associera en variabel med detta objekt...

 

Tre kodavsnitt krävs.

Vi börjar med att skapa en klass, i denna klass skriver vi

Dim WithEvents mthView As MonthView

Public Property Set Object(mth As MonthView)
Set mthView = mth

End Property

Private Sub mthView_DateClick(ByVal DateClicked As Date)
Modul1.HideDT
End Sub

Som synes anropar den en funktion i modul1:

Sub HideDT()

Blad1.MonthView1.Visible = False
End Sub

Som i sin tur arbetar mot kontroller som finns på blad 1.

 

På blad1 skapar vi den association som krävs för att det hela ska fungera med kod som kopplas till en knapp:

Dim myMthView As Klass1
Private Sub CommandButton1_Click()
If myMthView Is Nothing Then
   	Set myMthView = New Klass1
   	Set myMthView.Object = Me.MonthView1
End If
Me.MonthView1.Visible = True
End Sub

 

Ta en titt på koden och se om du begriper den. Samma princip torde gälla för Kalenderkontroll 12.0.

Jag kan titta på den i Excel 2007 om du skapar en sådan och laddar upp filen hit.

 

Jag laddar upp en fil med de två kontroller jag hittat och den VBA-kod som finns ovan. Sparat i Excel 2002 format för att gå omkring vad man får ladda upp här...

 

 

Ed:

MSCOMCT2.OCX tycks återfinnas i

http://msdn.microsoft.com/en-us/vbasic/ms788708.aspx

KalenderTest.xls

Link to comment
Share on other sites

Mmh, undras vilket paket jag fått dom med då? Kanske någon installation av ett utvecklingspaket från MS

 

http://msdn.microsof...28VS.60%29.aspx

där finns ivartfall kontrollen dokumenterad.

 

 

Vill du få en sådan här kontroll klickbar, då måste du skapa en klass och där associera en variabel med detta objekt...

 

Tre kodavsnitt krävs.

Vi börjar med att skapa en klass, i denna klass skriver vi

Dim WithEvents mthView As MonthView

Public Property Set Object(mth As MonthView)
Set mthView = mth

End Property

Private Sub mthView_DateClick(ByVal DateClicked As Date)
Modul1.HideDT
End Sub

Som synes anropar den en funktion i modul1:

Sub HideDT()

Blad1.MonthView1.Visible = False
End Sub

Som i sin tur arbetar mot kontroller som finns på blad 1.

 

På blad1 skapar vi den association som krävs för att det hela ska fungera med kod som kopplas till en knapp:

Dim myMthView As Klass1
Private Sub CommandButton1_Click()
If myMthView Is Nothing Then
   	Set myMthView = New Klass1
   	Set myMthView.Object = Me.MonthView1
End If
Me.MonthView1.Visible = True
End Sub

 

Ta en titt på koden och se om du begriper den. Samma princip torde gälla för Kalenderkontroll 12.0.

Jag kan titta på den i Excel 2007 om du skapar en sådan och laddar upp filen hit.

 

Jag laddar upp en fil med de två kontroller jag hittat och den VBA-kod som finns ovan. Sparat i Excel 2002 format för att gå omkring vad man får ladda upp här...

 

 

Ed:

MSCOMCT2.OCX tycks återfinnas i

http://msdn.microsof...c/ms788708.aspx

 

-------------

 

Till saken är att jag har ingen kunskap alls om VB. Har börjat få ganska bra koll på excel formler men inte när det gäller sånt här.

 

När jag infogar kalenderkontroll 12.0 och trycker på designläge så får jag upp ett felmeddelande "det går inte hitta projekt eller bibliotek". Vad det så du menade att jag skulle göra? Är helt novis på detta område

Link to comment
Share on other sites

Ron deBruin har ofta hjälp:

 

http://www.rondebruin.nl/calendar.htm

 

Calender Control 12.0 tycks installeras med Access, det förklarar varför jag inte har den. Den går dock att ladda ned.

Detta tycks alltså vara ett gemensamt problem för de kalendrar jag hittills hittat, de är inte automatiskt installerade/tillgängliga på alla installationer.

Om det är ett problem för dig får du avgöra.

...men... vad... ehh.... oj... snyggt!

se

http://blogs.msdn.co...te-pickers.aspx

ladda ned XLA-filen och XLS-filen, kör båda och se..

Fråga mig inte hur men kalendern verkar kopplad till datumformatet, dvs formateras en cell som datum kan en kalender tas fram.

Snyggt, enkelt och bortom mina kunskaper hur det där fungerar. Någon källkod inte i sikte.

 

med andra ord, installera bara denna add-in och formatera som datum och du är klar....

 

 

ed: Söker lite mer, finns andra mer anpassningsbara alternativ på diverse sidor. Denna fungerar men jag kommer inte åt inställningarna för den. Kanske duger för dig?

 

ed2: Okej, jag begriper hur den fungerar...

Link to comment
Share on other sites

Ron deBruin har ofta hjälp:

 

http://www.rondebruin.nl/calendar.htm

 

Calender Control 12.0 tycks installeras med Access, det förklarar varför jag inte har den. Den går dock att ladda ned.

Detta tycks alltså vara ett gemensamt problem för de kalendrar jag hittills hittat, de är inte automatiskt installerade/tillgängliga på alla installationer.

Om det är ett problem för dig får du avgöra.

...men... vad... ehh.... oj... snyggt!

se

http://blogs.msdn.co...te-pickers.aspx

ladda ned XLA-filen och XLS-filen, kör båda och se..

Fråga mig inte hur men kalendern verkar kopplad till datumformatet, dvs formateras en cell som datum kan en kalender tas fram.

Snyggt, enkelt och bortom mina kunskaper hur det där fungerar. Någon källkod inte i sikte.

 

med andra ord, installera bara denna add-in och formatera som datum och du är klar....

 

 

ed: Söker lite mer, finns andra mer anpassningsbara alternativ på diverse sidor. Denna fungerar men jag kommer inte åt inställningarna för den. Kanske duger för dig?

 

ed2: Okej, jag begriper hur den fungerar...

 

 

Nu har jag fått kalenderkontroll 12.0 att fungera i excel 2010 och det är jag mycket glad för och tackar så mycket för hjälpen, du har varit till stor hjälp. Så återgien ett STORT TACK!!

 

Nu har jag bara ett lite dilemma som jag undra om du eller någon annan vet. Det visade sig att jag hade excel 2000 och inte 2007 på jobbet och där fanns inte kalenderkontroll. Kan man installera denna funktion från något servicepack? Du nämnde att den fanns i ett servicepack men det fanns ingen länk till den. Har försökt och googlat på den men utan resultat. Någon som vet?

Link to comment
Share on other sites

Tittade på länken till msdn-bloggen? Den kalender gillade jag.

Fast tror inte den fungerar med vare sig Excel 2002, 2003, 2000 eller 97.

 

Har du äldre version av Excel blir det nog denna

http://www.rondebruin.nl/calendar.htm

eller denna

http://www.fontstuff.com/vba/vbatut07.htm

du får använda.

 

Dock gäller att mscal.ocx, i rätt version, är installerade på alla datorer som ska köra arket. Det går att hantera men...

Link to comment
Share on other sites

Tittade på länken till msdn-bloggen? Den kalender gillade jag.

Fast tror inte den fungerar med vare sig Excel 2002, 2003, 2000 eller 97.

 

Har du äldre version av Excel blir det nog denna

http://www.rondebruin.nl/calendar.htm

eller denna

http://www.fontstuff...ba/vbatut07.htm

du får använda.

 

Dock gäller att mscal.ocx, i rätt version, är installerade på alla datorer som ska köra arket. Det går att hantera men...

 

 

Jag har valt att använda rondebruin kalendern.... Men jag håller med dig att msdn bloggen kalende är snygg.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...