Avatar billede richardski Praktikant
22. februar 2009 - 10:12 Der er 13 kommentarer og
1 løsning

Skriv 0 ved enter

Kan det lade sig gøre at få en celle til at udfyldes med værdien 0 når man taster enter, så man slipper for selv at skal taste 0 i felterne?
Avatar billede kabbak Professor
22. februar 2009 - 13:13 #1
Denne skriver 0 i den celle der bliver aktiv, i kolonne A og B, hvis der ikke står noget i forvejen.

Den skal være i arkets modul

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A:B")) Is Nothing Then
        If Len(Target) = 0 Then Target = 0
    End If
End Sub
Avatar billede richardski Praktikant
22. februar 2009 - 22:05 #2
Det virker ikke :-(

Jeg har 2 kolonner som der skal retuneres 0 i hvis man taster enter uden indtastninger af tal eller tekst!

Jeg har skrevet følgende i ThisWorkbook:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A:B")) Is Nothing Then
        If Len(Target) = 0 Then Target = 0
    End If
End Sub

Det er cellerne fra H11 til H70 samt J11 til J70 der skal have denne funktion!
Avatar billede kabbak Professor
22. februar 2009 - 22:34 #3
så skal den se sådan ud


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("H11:H70,J11:J70")) Is Nothing Then
        If Len(Target) = 0 Then Target = 0
    End If
End Sub
Avatar billede richardski Praktikant
22. februar 2009 - 22:51 #4
nope, den gør det bare ikke. Hvad er galt. er det i Thisworkbook det skal placeres ?
Avatar billede kabbak Professor
22. februar 2009 - 23:22 #5
nope, det er i modulet, på det ark den skal virke på.

højreklik på arkfanen, vælg vis programkode, der skal den være.
Avatar billede richardski Praktikant
22. februar 2009 - 23:40 #6
Jeg kan ikke få det til at virke og er lidt forvirret når du skriver moduler?

Når jeg åbner mit regneark har jeg bla. følgende regneark ark1, ark2 og thisworkbook. Og så har jeg moduels 1 til 6.

Jeg har pastet din kode ind i ark1 uden det har nogen effekt?
Avatar billede kabbak Professor
22. februar 2009 - 23:49 #7
OK, så du har sat det ind i modulet, der ligger under Ark1.

Det er også der det skal være, gå så på Ark1, hvis du så hopper imellem celler i området H11:H70 og J11:J70", så vil den sætte et 0, hvis der ikke står noget i forvejen, det gør den uanset om du trykker enter eller ej.
Avatar billede kabbak Professor
23. februar 2009 - 00:05 #8
hvis den ikke virker der, har du måske fået de automatiske makroer slået fra, de kan startes igen, ved at du kører denne makro.

Public Sub StartAutomatiskeMakroer()
    Application.EnableEvents = True
End Sub
Avatar billede richardski Praktikant
23. februar 2009 - 00:10 #9
nix, den skriver intet. Den skal også først skrive 0 i cellen når/hvis man trykker på enter uden at indtaste noget!!
Avatar billede stefanfuglsang Juniormester
23. februar 2009 - 09:54 #10
Hvad med dette  i ThisWorkbook:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    If GetAsyncKeyState(13) And Target.Offset(-1) = "" Then
        Target.Offset(-1) = 0
    End If
 
End Sub

?
Test det grundigt inden du evt. beslutter dig for at bruge det!

Bemærk at den virker i alle celler på alle ark, den skal måske tilpasses som kabbak har vist.
Avatar billede richardski Praktikant
23. februar 2009 - 10:09 #11
Den virker heller ikke, får compile error!

For lige at ridse op hvad det er jeg har brug for så handler det kort og godt om 2 kolonner H11 til H70 samt J11 til J70.

Jeg vil gerne spare 0 indtastningen ved at den selv returnerer 0 i disse kolonneceller hvis jeg blot trykker på enter. Det er vigtigt at nullet vises og ikke bare efterlades tomt da 0 cellerne indgår i en sammenregning med gennemsnitudregning!!
Avatar billede richardski Praktikant
26. februar 2009 - 10:41 #12
Er der virkelig ingen ekspert der har løsningen på dette lille problem :-))
Avatar billede kabbak Professor
26. februar 2009 - 13:04 #13
Jeg står af, hvis cellen er tom, når du går ind på den, og du så trykker på ENTER, er den stadig tom, så man kan ikke fange nogen ændring, der gør at man kan sætte et = ind.
Der er heller ikke nogen KeyPress funktion i et ark, så det dur heller ikke.
Avatar billede richardski Praktikant
21. februar 2011 - 18:34 #14
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester