MauriceSmit
Gebruiker
- Lid geworden
- 1 jul 2008
- Berichten
- 168
Hoi!
Ik probeer in een excel template een assumptie log bij te voegen. In mijn werkmap wil ik dit op de volgende manier graag terug zien:
1. Een aparte sheet met een opsomming van alle assumpties
2. Op het invoerveld waar de gebruiker een assumptie over wil maken, moet deze in het 'comment' van deze cell komen.
Het toevoegen van assumpties verloopt via een simpel formulier, waarop in ieder geval de omschrijving van deze assumptie wordt geplaats; en tevens wie het heeft opgevoerd (naam van de gebruiker) en een eventuele referentie. Indien er al een comment in het veld staat, moet er worden gecontroleerd of deze in het assumptie log staat (zo ja, wordt het formulier geladen met de juiste gegevens en kan deze worden aangepast; zo nee, gaat het om een algemeen comment en geen assumptie en zal het systeem je vragen of je het huidige comment wilt overschrijven).
Enfin, ik loop echter vast op het opvragen van informatie van een 'activecell'; achter het formulier . De code die wordt gebruikt tijdens het laden van het formulier:
Hij geeft een foutmelding op de regel:
If ActiveCell.Comment.Text <> "" Then (code 91, block variable / with niet ingesteld)
Hoe kan ik deze het beste verhlelpen?
Gr. Maurice
PS
Overige code:
Ik probeer in een excel template een assumptie log bij te voegen. In mijn werkmap wil ik dit op de volgende manier graag terug zien:
1. Een aparte sheet met een opsomming van alle assumpties
2. Op het invoerveld waar de gebruiker een assumptie over wil maken, moet deze in het 'comment' van deze cell komen.
Het toevoegen van assumpties verloopt via een simpel formulier, waarop in ieder geval de omschrijving van deze assumptie wordt geplaats; en tevens wie het heeft opgevoerd (naam van de gebruiker) en een eventuele referentie. Indien er al een comment in het veld staat, moet er worden gecontroleerd of deze in het assumptie log staat (zo ja, wordt het formulier geladen met de juiste gegevens en kan deze worden aangepast; zo nee, gaat het om een algemeen comment en geen assumptie en zal het systeem je vragen of je het huidige comment wilt overschrijven).
Enfin, ik loop echter vast op het opvragen van informatie van een 'activecell'; achter het formulier . De code die wordt gebruikt tijdens het laden van het formulier:
Code:
Public Sub UserForm_Activate()
Dim RRow As Integer
'check if there is already a comment in the field
If ActiveCell.Comment.Text <> "" Then
With Sheets("Assumptions")
RRow = 8
'find comment from assumptions list
Do Until RRow = .Range("A1") 'this cell contains the last used row of the assumption sheet
If CInt(Left(ActiveCell.Comment, InStr(0, ActiveCell.Comment, ":"))) = .Cells(RRow, 3) Then
Me.Input_Description = .Cells(RRow, 5) 'comment description
Me.Input_Owner = .Cells(RRow, 6) 'comment owner
Me.Input_Reference = .Cells(RRow, 7) 'comment reference
Exit Do
End If
RRow = RRow + 1
Loop
'comment not found in Assumptions list, but there IS already a comment
'in the selected cell; confirm if it may be overwritten
If MsgBox("Overwrite existing comment?", vbYesNo) = vbNo Then
Me.Hide
End If
End With
End If
End Sub
Hij geeft een foutmelding op de regel:
If ActiveCell.Comment.Text <> "" Then (code 91, block variable / with niet ingesteld)
Hoe kan ik deze het beste verhlelpen?
Gr. Maurice
PS
Overige code:
Code:
Private Sub Btn_Add_Click()
Dim Assumption_Nr As Integer
Dim CText As String
With Sheets("Assumptions")
Assumption_Nr = .Range("A1") - 7
.Rows(.Range("A1")).Insert xlUp
.Cells(.Range("A1"), 3) = Assumption_Nr
.Cells(.Range("A1"), 4) = Now()
.Cells(.Range("A1"), 5) = Me.Input_Description
.Cells(.Range("A1"), 5) = Me.Input_Owner
.Cells(.Range("A1"), 5) = Me.Input_Reference
End With
With ActiveCell
CText = Assumption_Nr & ": " & Me.Input_Description & " (" & Me.Input_Owner & ")"
.AddComment CText
End With
End Sub
Private Sub Btn_Cancel_Click()
Me.Hide
End Sub
Private Sub Btn_Remove_Click()
If ActiveCell.Comment.Text <> "" Then
ActiveCell.ClearComments
End If
Me.Hide
End Sub