Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

VBA, UserForm aanpassen na selectie

Pagina: 1
Acties:

  • yasaka
  • Registratie: December 2007
  • Laatst online: 08-12-2023
Beste,

Ik heb een planning gemaakt met VBA in excel.
Deze planning toont taken per ontwerper en per dag.
Via de planning kunnen taken snel en eenvoudig herplant worden.
Als men op het knopje herplannen klikt, krijgt men een inputbox type 8 om een cel te selecteren waarheen men de taak wil verplaatsen.

Mijn vraag:

Is het mogelijk in VBA één stap verder te gaan en na het aanduiden van de cel de userform aan te passen met gegevens welke ik kan verkrijgen met de nieuw verkregen info namelijk de gekozen cel (welke overeenkomt met een bepaald ontwerper en een bepaalde dag).
Deze gegevens (ontwerper en datum) zou ik willen tonen in een tekstvak in de userform, waarna de gebruiker kan bevestigen of eventueel de datum of ontwerper nog kan wijzigen.

Dit zou in elk geval het herplannen naar ver verwijderde datums eenvoudiger maken.

Alvast bedankt voor elke feedback.

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
Ja.

This message was sent on 100% recyclable electrons.


  • yasaka
  • Registratie: December 2007
  • Laatst online: 08-12-2023
Wat een snelle reactie BAsieP.

Hoe zou jij dit aanpakken ?

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
In jou geval

Ik zou een ontwikkelaar inhuren (of omdat het vba is en je misschien niet veel geld hebt een student) en die naar de code laten kijken.

zoals ik je topic nu lees is dit een uurtje werk, en als hij/zij nog even moet inleren misschien een dag

This message was sent on 100% recyclable electrons.


  • yasaka
  • Registratie: December 2007
  • Laatst online: 08-12-2023
Gelieve onzinnige comments op andere fora te posten.

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
yasaka schreef op donderdag 17 oktober 2013 @ 20:59:
Gelieve onzinnige comments op andere fora te posten.
Beste yasaka,

Je komt met een wollig verhaal, zonder duidelijke vraagstelling ('kan het?') en geeft niet aan wat je zelf al hebt geprobeerd.
Mij is volstrekt onduidelijk of je uberhaupt iets geprobeerd hebt, en zo ja, waar je dan tegenaan bent gelopen. Je post geen code, maar vraagt wel om 'hoe ik iets zou doen'
Met de kennis die ik nu heb zou ik doen wat ik in mijn vorige post zei.

Dus, Concreet:
Heb je google gebruikt?
Wat heb je zelf al geprobeerd?
Als je iets geprobeerd heb, waar ging het mis?
heb je dan een testcase waar wij naar zouden kunnen meekijken?

This message was sent on 100% recyclable electrons.


  • yasaka
  • Registratie: December 2007
  • Laatst online: 08-12-2023
Deze code gebruik ik momenteel :
Set cell = Application.InputBox("Selecteer de cell naar waar u de taak wil verzetten", Type:=8)

Met verder opzoek werk kwam ik uit op 2 punten
userform moet 'vbModeless' zijn
en de aktie kan ik oppikken met de functie
Private Sub TextBox1_Change()

Zal het morgen wel eens uittesten.


Op youtube stond ook een filmpje met iets gelijkaardigs

[ Voor 41% gewijzigd door yasaka op 17-10-2013 23:37 ]


  • Steevo_S
  • Registratie: September 2010
  • Laatst online: 22-08 10:16
yasaka, zo niet stuur je code/excel of access via DM en ik help je graag een handje verder!

Clash of Clans - MISSeR :: #Y0JU9R98 ::


Verwijderd

Steevo_S schreef op vrijdag 18 oktober 2013 @ 14:27:
yasaka, zo niet stuur je code/excel of access via DM en ik help je graag een handje verder!
Hehe op die manier heeft een forum weinig zin hè...

  • yasaka
  • Registratie: December 2007
  • Laatst online: 08-12-2023
Voor de geintresseerden of mensen met een gelijkaardig probleem post ik mijn oplossing.

De routine om te herplannen heb ik opgesplits in twee delen.
Dit moest gebeuren omdat met een modeless UserForm de code verder loopt tot aan 'end sub'.

Hier de code om de UserForm op te roepen.

code:
1
2
3
ThisWorkbook.BezigMetHerplannen = True
Application.StatusBar = "Selecteer de cell naar waar u de taak wil verzetten"
frmHerplan.Show vbModeless

De boolean wordt gebruikt om in de selection change te bepalen wat er moet gebeuren
code:
1
2
3
4
5
6
7
8
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
If ThisWorkbook.BezigMetHerplannen = True Then
    Call ToonUserDatum(Target)
Else
    Call ToonComment(Target)
End If
End Sub


Met de methode ToonUserDatum wordt de ontwerper en datum opgezocht van de gekozen cell en wordt de userform geupdate.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub ToonUserDatum(ByVal Target As Range)
    Dim user, DatumFMT, ontwerper As String
    Dim datum As Long
    Dim geldigeSelectie As Boolean
    
    geldigeSelectie = InRange(Target)
    
    user = ZoekUserVan(Target(1, 1))
    ontwerper = ZoekOntwerper(Target(1, 1))
    
    If geldigeSelectie = True Then
        datum = ZoekDatumVan(Target(1, 1))
        DatumFMT = Format(datum, "Short Date")
    Else
        DatumFMT = ""
    End If
    
    frmHerplan.txtVeld0.Caption = ontwerper
    frmHerplan.txtVeld1.Caption = user
    frmHerplan.txtVeld2.Text = DatumFMT
End Sub


Pas als de gebruiker op de knop OK klikt wordt het tweede deel van de oorspronkelijke code opgeroepen.

code:
1
2
3
4
5
Private Sub cmdOK_Click()
    ...
    Call TaakHerplannen(user, datum, fout)
    ...
End sub


Dit is mijn aanpak ongetwijfeld zijn er nog 101 andere.

[ Voor 4% gewijzigd door yasaka op 18-10-2013 21:50 ]

Pagina: 1