Gå till innehåll

Patric Ahlqvist

Medlem
  • Innehållsantal

    6
  • Gick med

  • Besökte senast

Inlägg postade av Patric Ahlqvist

  1. Hej, 

    Arbete och "riktigt liv" ta all min vakna tid. Jag har ett speciellt intresse av att kunna programmera uti vårt kära Excel. Det är just det, ett intresse, inte mer specificerat än så och användningsområdet kan möjligen diskuteras då jag inte har ytterligare fördjupande insikter. Det intresserar mig bara, helt enkelt ;)

    Nu är det så att mina kunskaper är långt ifrån tillräckliga. Jag kan till nöds läsa lite och på enklaste nivå förändra redan skriven kod så det passa mina behov...ibland. Detta tycker jag är frustrerande och skulle därför vilja höja min nivå aningen men har mycket lite tid egentligen.

    Stöter då på appen MIMO lite varstans... Ja, den löser ju inte min tidsproblematik, men... Jag funderar på dess användbarhet då telefonen är en liten device, ständigt närvarande, och sällan oanvänd. Istället för massa ovidkommande sociala medier kunde jag kanske förena nytta med nöje. Till saken då, är den någon som provat denna app? Finns det någon villig själ som vill "rässenzeeera" den utifrån ett nybörjar perspektiv? Kort och gott, är den något att ha?

     

    Mvh och hopp om svar.

    Patric. 

  2. 7 minuter sedan, MH_ sade:

    >>håller inte online kurser ;) ?

    När forumen var mer aktiva så var det precis vad ett forum var. Hängde man på ett forum blev man snabbt bättre. Ett gäng som ställde frågor och ett annat gäng som höll sig uppdaterade genom att hjälpa till och läras sig av andras svar (och de som ställde frågor "betalade igen" genom att själva hjälpa till något stans).

    Jag skulle gärna skylla på alla Svärjevänner som förstörde stämningen på forum får något årtionde sen. Men sanningen är nog att den stora, anonyma och hjälpsamma  gemenskapen som fanns i nätets barndom redan hade börjat dö när Svärjevännerna härjade som värst. Trist, men kanske väntat.

    He, he. Det finns en klassisk tråd i Eforums musiktråd eller möjligtvis Studios forum när en nisse som kallar sig "Timberman" frågar om mixer-råd och åsikter om en demo. Han blev ju rätt bra på det där så småningom (se slutet av tråden, 5 år senare)... 
    https://www.studio.se/forums/topic/34925-timberman-brain/

    Jag vet... Höll väldigt mycket på med ett CMS som kallades "Snews CMS" för massa år sedan (vet inte ens om det finns kvar tävlade ju med Joomla och liknande), började som frågeställare, gick vidare till betatestare och senare utvecklade jag även små mods som implementerades i eller till koden i CMS motorn. Till slut gjorde jag egna websidor med egna funktioner och "fuskade" lite med den koden som var motorn i systemet för att få fram mina egna lösningar så, visst är jag bekant med hur det en gång var... Dock kan jag inte likna det med Timberman, haha... Riktigt juste inpass. Riktigt häftigt att läsa ändå.

    Vi är alla barn i början. Men denna "stämning" verkar som bortblåst, eller njae... inte lika vanligt förekommande ;) Jag vill inte säga "det var bättre förr" men lite annat var det allt. Nå, du upphåller den stämningen som jag ser det. Jag ska plugga på lite och försöka ge tillbaka i den mån jag är kompetent när dagen inträffar. Excel och VBA är sexigt ihop ;)

    HA det gott och tack för hjälp än en gång.

  3. 1 timme sedan, MH_ sade:

    När man skriver in någonting i cellen man står i, t.ex 
    Target.Value = "EJ"

    Så är det ju en "change" som inträffar och då skall ju Change_makrot köras igen, vilket kan göra en ändring som triggar igång en förändring som startar makrot som trigga....

    Det här borde lösas med hjälp av: 
    Application.EnableEvents = False

    Men eftersom jag är paranoid pga erfarenhet (Tangenten [Break] är ett viktig instrument när du skall stoppa ett makro som löpt amok... (eller var det Ctrl+break, hmmm?))

    så vill jag gärna ha både hängsle, livrem och kontorsklister för att vara säker på att byxorna sitter kvar

    If Not Len(Target.Value) = 1 Then Exit Sub

    Avbryter om cellen är tom eller om det står något i stil med "EJ 2023-02-22" (dvs om vi hamnat i en loop).

    medan "Target.Offset(1, 0).Select" i ärlighetens namn ökar risken för en loop - Tag bort- jag hade lite otur när jag tänkte...

     

    Och när jag kollar koden igen så inser jag att "EnableEvents = False" skall ligga efter de första "exit-raderna". Annars kommer excel sluta känna av "Change" så for du ändrar en cell utanför området eller skriver något annat än p,j,e i en av cellerna

    Och Case Else behövs inte heller

    Det här blir ju ganska kompakt och trevligt:

    Private Sub Worksheet_Change(ByVal Target As Range)
    ' avbryt om ändringen skedde utanförd ditt bevaknings-område
        If Intersect(Target, Range("c4:n50")) Is Nothing Then Exit Sub
    ' avbryt om mer än en cell är vald
        If Target.Cells.Count <> 1 Then Exit Sub
    ' fortsätt bara om det är exakt ett tecken i cellen
        If Len(Target.Value) <> 1 Then Exit Sub
    
    ' du bör inte stänga av "EnableEvents" förrän här eftersom ovanstående rader inte 
    ' gör något som kan uppfattas som en Change och de sätter inte på "event" innan exit
        Application.EnableEvents = False
            Select Case LCase(Target.Value)
                Case "p"
                    Target.Value = "PB " & Date
                Case "j"
                    Target.Value = "JW " & Date
                Case "e"
                    Target.Value = "EJ " & Date
            End Select
        Application.EnableEvents = True
    End Sub

     

     

    @ML_ Helt fantastiskt bra... Hade lite dilemman möjligen kopplat till ditt påstående ovan alternativt jag gjorde nåt annat lite tokigt. Men med detta behöver jag inte trixa alls. Du löste det helt åt mig. Jag är oerhört tacksam. Du håller inte online kurser ;)

    Tack a million för all hjälp.

    • Thanks 1
  4. @MH_ Gudars, vad kul att se att vissa har så lätt för detta, övning ger färdighet antar jag ;) Fantastiskt pedagogiskt och bra förklarat vilket gör att jag, ta' mäh fasen, förstår koden. Skulle aldrig kommit fram till detta själv, men färdigskriven är det förståeligt.

    Du vill inte ta dig tid att utveckla detta med "evighetsloopar"? Det antyds vad det kan vara men jag förstår inte riktigt och konsekvensen...

    Tack så oerhört mycket för svar, jag meddelar efter lite testning och lek.

    @Mikael63 Tack även för ditt svar. Är dock inte med på vad du menar avseende A1 morgon och A1 på fredag... Borde inte införandet av data IDAG() ange dagens datum och skriver jag in IDAG() på fredag så borde väl fredagens datum hamna i rutan.

     

    I will return. 

     

  5. Hej, 

    kollat runt men finner inte assistans för mitt dilemma. Tänkte om någon VB guru kunde hjälpa mig. Jag har nedan kodsnutt, som i nuvarande skick fixar till en "check i rutan" vid dubbelklick i en cell (uppgift slutförd). Jag skulle vilja, om möjligt, istället få en signatur följt av dagens datum när jag börjar skriva ett namn (första bokstaven) för att kunna veta vem som slutförde uppgiften och när det skedde. Min strävan närmare beskrivet under koden:

    Koden:

     

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    'Updateby Extendoffice
    
        If Target.Cells.Count = 1 Then
    
            If Not Intersect(Target, Range("c4:n50")) Is Nothing Then
    
                With Target
    
                    .Font.Name = "wingdings"
    
                    .Font.Size = 10
    
                    If .FormulaR1C1 = "ü" Then
    
                        .FormulaR1C1 = " "
    
                    Else
    
                        .FormulaR1C1 = " ü "
    
                    End If
    
                End With
    
            End If
    
            Cancel = True
    
        End If
    
    End Sub

     

    Så, det första är ju att jag inte vill använda BeforeDoubleClick utan istället "VäntaPåFörstaBokstaven_SenUtförsFöljande" ;)

    När jag skriver in första bokstaven, P, är min önskan att cellen ska fyllas med "PB - =IDAG()"Jag försöker också möjliggöra tre olika användare som genererar tre olika signaturer+datum. Så när:

    P förs in är önskvärt resultat - PB + IDAG().

    J förs in är önskvärt resultat - JW + IDAG().

    E förs in är önskvärt resultat - EJ + IDAG().

    Anledningen till detta projekt är att vi blivit fler medarbetare och nu räcker det inte, i vår värld, att checka uppgiften som slutförd utan vi vill veta vem och när också. Jag hoppas jag gör mig förstådd och att hjälp finns att få här på forumet av de experter jag vet finns. Jag står mig slätt och har tagit mig vatten över huvudet. HJÄÄÄÄÄLP

    Mvh

    Patric.

    Checklista 2023.xlsm

  6. Hej,

    First time poster. använt mig tidigare av Eforum som tyvärr ska läggas ned. Jag testar här för att se om samma nivå av Excel Guru-skap finnes och om hjälpsamheten är av samma nivå ;)  Hoppas man ska finna en liten gemenskap på detta, för mig, nyare ställe.

    I bifogad excelfil finns det trenne flikar. Den sista är bara en komihåglista, så den kan man bortse ifrån. Den första fliken är en lista på anställda. Den andra fliken är en lista över kravställda "färdigheter". I nuvarande utförande kan jag i kolumn B ange utbildningstillfälle och kolumn C ange sista dagen jag anser att utbildningen är giltig till. Jag måste också ange den tänkta giltighetstiden i kolumn G för att i kolumner I-M få ett resultat av kvarvarande dagar tills dess giltighetstid utgår... Dessa celler färgas också utifrån giltighetstiden som är kvar d.v.s grön = på grön kvist, gul = mindre tid kvar och dax att fundera på refreschutbildning, röd = giltighetstiden har gått åt fanders.

     

    Mina tankar kring detta är att det fungerar men blir en scroll i nedkant. Det är också flera, i mitt tycke, kolumner för mycket. Sååå, ett önskemål och försiktig begäran om hjälp av en fortsatt newb på detta område är. Kan jag få assistans i att möjligen få till så att:

    • kolumn B innehåller datum för genomgången utbildning.
    • I kolumn C anges antal år.
    • Och i kolumn G (nuvarande "intervall") hamnar en siffra som visar antal dagar kvar till antalet år (angivet i kolumn C) är uppnått.

    Det är väl steg 1 i min planerade förhöjning av detta dokument. Steg 2, för såklart finns även detta ;) det är att:

    • NÄR det anges ett (1) år i kolumn C, då ska inte bara kvarvarande dagar visas i kolumn G utan cellen ska färgas
      GRÖN så länge det är över 180 dagar kvar, gul, understigande 180 och röd när 365 passerats.
    • När det anges två-5 (2-5) år i kolumn C, då ska inte bara kvarvarande dagar visas i kolumn G utan cellen ska färgas
      Grön så länge det är över 365 dagar kvar, gul, understigande 365 och röd när antal år angivet i kolumn C passerats.

     

    Finns det någon i detta underbara forum som kan ge mig en hand ?

    Formel-tester.xlsx

×
×
  • Skapa nytt...