Automatiskt konvertera positivt tal till negativt tal?

Anonym
2019-08-11T14:16:21+00:00

Hej!

Jag undrar hur man får ett inskrivet positivt tal att automatiskt konverteras till ett negativt tal? Alltså slippa skriva minustecken (-) före talet.

Vill ha denna funktion för bokföring jag använder Excel till, arbetet går då lite snabbare. 

//

Microsoft 365 och Office | Excel | För hemanvändning | Windows

Låst fråga. Den här frågan har migrerats från Microsoft Support Community. Du kan rösta på om det är till hjälp, men du kan inte lägga till kommentarer eller svar eller följa frågan.

0 kommentarer Inga kommentarer
Svar godkänt av frågeställaren
Anonym
2019-08-11T17:16:04+00:00

Den kan jag ge dig.

Beroende på vilka celler som ska omfattas av konverteringen får du justera i koden så dina egna cellområden gäller.

Att lägga in makrokoden:

Högerklicka på bladnamnet längst ned för det blad som gäller.

Välj sen "Visa kod".

VB-editorn öppnas med ett tomt vitt fönster. Klistra in nedanstående kod där.

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Range("F3:F50"), Target) Is Nothing Then

        Application.EnableEvents = False

        Target = -1 * Target

        Application.EnableEvents = True

    End If

End Sub

Andra raden i koden har cellområdet F3:F50, vilket betyder att om något ändras i detta sammanhängande cellområde kommer -1 att appliceras på det inmatade värdet. Byt ut till ditt eget/egna område(n). OBS, tänk på att det är ett sammanhängande område. Vill du ha flera kolumner, som dina röda exempel i bilden vilka inte är sammanhängande, så kan man inte skriva typ F3:M50. Då kommer alla kolumner från F till M påverkas, även de som ska positiva värden.

För flera kolumner som ej hänger ihop kan du använda:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Union(Range("F3:F50"), Range("H3:H50")), Target) Is Nothing Then

        Application.EnableEvents = False

        Target = -1 * Target

        Application.EnableEvents = True

    End If

End Sub

Här har jag listat två kolumner (F och H) från rad 3 till 50. Välj egna kolumner och rader, och behöver du fler kolumner lägger du till dessa områden på samma sätt som i koden, t ex för tre kolumner

...Union(Range("A1:A100"), Range("C1:C100"), Range("E1:E100")), Target ...

När du sparar filen måste du välja Spara som, och sen välja att excelfilen är makroaktiverad, dvs ändelsen på filen ska vara filnamn.xlsm, där m betyder att filen innehåller makro. Sparar du med vanlig exceländelse (xlsx) kommer makrot raderas och nästa gång du öppnar finns ingen kod.

Det kan hända att första gången du öppnar filen med kod så dyker en gul notering upp, välj bara att det ska aktiveras.

Vid minsta frågetecken eller fundering, hör av dig.

Var det här svaret till hjälp?

2 personer tyckte att det här svaret var användbart.
0 kommentarer Inga kommentarer

20 ytterligare svar

Sortera efter: Mest användbara
  1. Anonym
    2019-08-27T19:24:23+00:00

    Hej igen!

    Har sprungit på problem: makrot slutade nu plötsligt att fungera. Jag öppnar Visual Basic-vyn, och väljer "Kör sub/UserForm F5". Det dyker upp ett fönster som heter "Makron", i rutan "Makronamn" är det tomt.

    Det finns inget menyalternativ "Spara som" i Visual Basic-vyn. Det sparas som .xls, inte som .xlsx eller xlsm.

    Jag använder Office 2010.

    //

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer
  2. Anonym
    2019-08-13T17:56:20+00:00

    Funkar klockrent.

    Massa många tack för hjälpen!

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer
  3. Anonym
    2019-08-12T09:03:00+00:00

    Exakt.

    Det finns en gräns dock för hur många enskilda områden du kan lägga till med Union - vilket är 30 st. Har du fler får du dela upp det, och jag kan visa hur du gör om så är fallet.

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer
  4. Anonym
    2019-08-11T18:44:55+00:00

    Snyggt, tusen tack! 

    Så då lägger jag in en separat "Range" för varje kolumn. 

    //

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer