If Kwestie

Status
Niet open voor verdere reacties.
Die Dim in de code plaatsen had ik overigens zelf bedacht. Ik doe dat eigenlijk om het onnodig geheugen reserveren te voorkomen. Of ik moet hier de spijker mis slaan en dat het geen moer uitmaakt.
 
Dit geeft hij mij net als een andere oplossing. De Msgbox gaan in de With en gaan werken volgens de variabele Cel. Volgens mij maakt het dan nog niets uit. Echter en dat was ik weer vergeten. Ik wilde graag de invulling hebben voor de MsgBox, maar niet vanwege zijn gedachtegang. Hij kwam op zijn uitleg toen hij de wijziging er in maakte. Alleen anders dan ik het eigenlijk bedoelde en dat begreep hij weer niet uit mijn verhaal. Met andere woorden communicatie ging niet goed. Wel voegt hij er aan toe dat dit niet veel verschil maakt daar de controle eigenlijk nog steeds plaatsvind, maar dan niet via de waarde in de cel, maar via de waarde van de Variabele.

Code:
                With .Cells(1, 2)
                    If .Value <> 5 Then
                        If .Value = 3 And DateDiff("n", Sheets("Test").Cells(1, 3), Now) <= 2 Then
                                MsgBox A
                        Else
                            .Value = .Value + 1
                            
                            Select Case .Value
                            Case Is <= 2, 4
                                MsgBox B
                            Case Is = 3, 5
                                Dim Cel As Long
                            
                                If .Value = 3 Then Cel = 3
                                If .Value = 5 Then Cel = 4

                                If Cel > 0 Then
                                    With Sheets("Test").Cells(1, Cel)
                                        If .Value = vbNullString Then
                                            .Value = Now
                                            .NumberFormat = "dd-mm-yyyy hh:mm:ss"
                                        End If
                                        
                                        If Cel= 3 Then MsgBox D
                                        If Cel= 4 Then MsgBox E
                                    End With
                                End If
                            End Select
                        End If
                    Else
                        MsgBox C
                    End If
                End With
 
Werkt de Workbook Close ook bij geforceerd afsluiten dan?? Ik heb het over bij het gebruik van Ctrl Alt Del of de uitschakelaar.

Nee, uiteraard niet. Maar daar valt natuurlijk niet tegenaan te programmeren. Of je moet die toetscombinatie gaan opvangen. Maar ja, iemand kan ook de stekker eruit trekken.
 
Kun je post #22 svp nog even door een vertaalmachine halen ?
 
Standard Starfleet issue ;)

03-02-04-s.jpg
 
#23, Dat bedoel ik dus. Ik wil best iets voorkomen, maar niet alles is te voorkomen en zoals je zelf al zegt... vertrouwen is een groot goed. Als ik iemand niet vertrouw of als een deel niet onder zijn of haar functie valt, dan krijgt die persoon gewoon geen toegang tot bepaalde delen. Wel probeer ik te zorgen dat er wel een soort registratie is. Toevoegingen en of wijzigingen worden geregistreerd. Dit is niet uit wantrouwen, maar puur om eventueel onterechte beschuldigingen te voorkomen en ook om de persoon in kwestie aan te kunnen spreken over het hoe en waarom hij of zij iets heeft gedaan. Ook kan er op deze wijze per debiteur bijvoorbeeld een call log worden aangemaakt. Afspraken die gemaakt worden met een debiteur worden als het ware automatisch voorzien van een handtekening, datum en tijd. Zodra iemand het idee heeft dat iemand anders onder zijn of haar naam handelt, kan deze ook eigenhandig zijn of haar Gebruikersnaam en of Wachtwoord aanpassen. Middels een log lijst kan men dan zien wie wanneer is ingelogd. Zodra iemand is ingelogd, kan deze nooit elders ingelogd worden. Maar ja.. als men zich vergeet uit te loggen dan schuilt er ook weer een gevaar. Dus tja... vertrouwen is feitelijk alles waar het om draait. Als dit er niet is dan moet men zich zaken gaan afvragen en dan inderdaad Edmoor, dan zit er iets in de basis al niet goed.

De mens is in een systeem altijd de zwakste schakel tenzij het systeem echt zelf faalt, maar ja wie heeft dan het systeem gemaakt..... Juist de mens!!

Ik vertrouw mijn mensen en ik hoop dat de mensen onder elkaar zich ook vertrouwd voelen.
 
Even terug te komen op mijn eigenlijke bedoeling. Ik zet dit geheel terug naar hoe wij het eerst hadden opgezet. Die extra controle waarop het ook wordt uitgevoerd is onnodig. De invulling kan ook achteraf. Nog sterker je ziet het betreffende blad straks niet eens. Dat verdwijnt middels ActiveWindow.DisplayWorkbookTabs = False. Men heeft gewoon straks een zwart scherm net een formulier en betreffend blad is slechts in te zien door beheerders.

Anyway. De definitieve code omdat ik zag dat het nog iets anders kon..

Code:
                With .Cells(1, 2)
                    Dim Cel As Long

                    If .Value <> 5 Then
                        If .Value = 3 And DateDiff("n", Sheets("Test").Cells(1, 3), Now) <= 2 Then
                                MsgBox A
                        Else
                            .Value = .Value + 1
                            
                            Select Case .Value
                            Case Is <= 2, 4
                                MsgBox B
                            Case 3
                                Cel = 3
                                MsgBox D
                            Case Is = 5
                                Cel = 4
                                MsgBox E
                            End Select
                            
                            If Cel > 0 Then
                                With Sheets("Test").Cells(1, Cel)
                                    If .Value = vbNullString Then
                                        .Value = Now
                                        .NumberFormat = "dd-mm-yyyy hh:mm:ss"
                                    End If
                                End With
                            End If
                        End If
                    Else
                        MsgBox C
                    End If
                End With

Case definitief CLOSE
 
Laatst bewerkt:
Het hele verhaal heeft in ieder geval opgeleverd wat je wilde neem ik aan. En je hebt er wat VBA betreft weer wat bij geleerd :)
 
Jazeker wel. Tuurlijk kan het altijd anders en inbreng, zoals dat van mijn maat, is altijd welkom. Ondanks de fout in communicatie tussen hem en mij, heeft zijn opzet, ondanks dat ik het weer terug heb geplaatst in hoe wij er eerst uit waren, toch weer een iets andere opzet opgeleverd. Daar waar de If over ging op jouw inbreng met het gebruik van een variabele en vanaf daar het gebruik van een Select Case, kon dit geheel bij nader inzien worden omgezet in 1 Select Case.

Leren doe je iedere dag tot je dood toe en zelfs dan weet je niet alles en zal iemand anders aan wie je jouw vergaren kennis hebt overgedragen, die kennis verder uitbreiden om vervolgens dit cirkeltje weer rond te maken doordat hij of zij voor overlijden, zijn of haar kennis weer overdraagt aan de volgende.
 
Laatst bewerkt:
Precies :thumb:
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan