VBA-kod excell 2010

Anonym
2019-05-22T13:19:42+00:00

Hej P3excel!

Jag sitter med likartade funderingar som vi haft tidiagre, men i ett annat projekt med ett excelldatablad jag byggt upp för att samla  och koppla innovationsideer från min arbetgrupp.

Min första fundeirng är hur jag enklast skriver kod för att styra inmatad textbeskrivning från "txtÄ1" i formulär (UserForm1) där jag har fyra kategorival som väljs via checkboxar (ChbFörvärv(D), ChbAdmin(E), ChbBuissness(F), ChbModell(G)).

Beroende på vilken av dessa checkboxar som är vald, ska texten i txtÄ1 hamna på Blad1 och antingen i kolumn D, E, F eller G beroende på Chb-valet.

Beorende på om det är ett HELT NYTT "case", dvs nytt innovationsnummer, så ska allt styras ner mot första lediga rad.

Alternativet är att man väljer ett BEFINTLIGT Ino-NR och då ska tetxten styras ner till den raden och dom kolumnerna.

Jag stannar där med mina frågor och hoppas än en gång på ditt ovärderliga stöd i detta.

//MagnusG_68

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

51 svar

Sortera efter: Mest användbara
  1. Anonym
    2019-06-18T15:17:52+00:00

    Jag börjar bli lika vilse som vad du är.

    När det gäller knapparna så var tanken att det inte behövs två olika knappar för att få in data på bladet. Dessa knappar var de som hette Spara och Nytt. Den som hette Visa kunde du ha kvar om du ville, jag hade inte riktigt hum om vad den egentligen fyllde för syfte.

    Men, knapparna Spara och Nytt gör ju samma sak, därför behöves bara en kod för detta. Hela grejen bakom denna tanke är att det spelar ingen roll om du skapar ett nytt ärende där användaren matar in all nödvändig information, eller om man väljer en befintlig Ino-NR som bara ska justeras på en del punkter. Det handlar i slutändan bara om att veta vilken rad allt landar i på bladet. När denna rad är satt skyfflas all data in till denna rad via den enda knapp man har som säger "Spara" eller "Lägg till" eller "Uppdatera" eller "Klar"…..eller vilket namn du nu väljer på knappen.

    Det som rör till det för mig är att du har "samma" knappar både på bladet och i ditt Userform.

    När vi pratar kod för att få in data på bladet, då är det knappen som finns i Userform och vars uppgift är att lägga in all relevant data på rätt rad på bladet? Inte något som finns på bladet?

    Bilden nedan visar min tankegång

    Fördelen med detta upplägg är att justerade Ino-ärenden kan ta bort tidigare X eller data om sådana har ändrats. Att bara lägga till nya X är ju vanskligt om gamla inte längre gäller. Detta frågade jag om tidigare men fick inget svar på hur det skulle hanteras. Det enklaste hanteringssättet när ett ärende ska uppdateras (inte när nytt skapas) är att befintlig data visas för användaren - som du nämnt tidigare - och samtidigt raderas all data för den raden på bladet. När sedan användaren klickar på knappen så läses allt in, oavsett nytt eller uppdaterat ärende. Samma knapp lägger till det data som gäller för ärendet.

    Det är detta som koden jag gav senast var tänkt att uppfylla. Förmodligen finns det en del att göra med koden, men då jag inte har din fil är det svårt att se hur saker sker i praktiken. Det var här jag tänkte du skulle testa och se hur mycket som händer och vad som saknas. Att göra hela konceptet via ett forum är tufft - det tenderar bli för mycket. Som du också nämnde, vi måste ta det ett steg i taget.

    Så nästa fråga, om du fastnar, är vad gäller härnäst, efter att du testat koden och sett förhoppningsvis hur jag tänkt det?

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer
  2. Anonym
    2019-06-17T11:16:52+00:00

    Hej och god förmiddag!!

    Jag är nu åter i slag att fullfölja mitt färdigställande av mitt "inovationsdatablad". Jag känner ganska tydligt at tjag behöver ditt ovärderliga stöd i detta. 

    För att uppdatera oss på hur det ser ut så ser du mitt formulär nedan. Jag har fljt din anvisning om at tendast ha EN knapp för verkställande av NYTT Ino-nr och som också ska visa VALT Ino-nr om man vill plocka upp ett sådant antingen direkt via bladet eller när man är i formuläret, och där man redigerat/ändrat något i ärendenumret och vill ladda ner datat bladet. FÖr mig känns det kosntigt att ine ha TVÅ separata knappar för detta, men om det går att styra med hjälp av kodning så är det väl att föredra. . .

    Jag behöver nu "kom-igång-hjälp med att färdigtsälla kodningen för "exit-knappen" (den gröna). I och med att jag har "checkboxar" till vänster som ska styra till vilken kolumn (D-G, I-K, M-P, R-T) som innovationstexten ska hamna. Här har vi ju TVÅ varianter som jag ser det; 1 = Info från NYTT ino-nr ska in på bladet. 2 = Befintligt nummer redigeras med info som ska in på berörd "Ino-Nr"-rad, samt i aktuell kolumn.

    Till höger på formuläret har vi sedan checkboxar som ska fylla kolumn Y-AD (nr 22-30), med ett "X" på den rad som antingen blir NY eller om man ändrar i befintligt Ino-Nr (rad). Här har jag ju konstruerat det så att om man väljer "Teknik" så aktiveras 4 st OpnBut vars val sedan ska styra "X":et till kolumn AA-AD (nr 27-30). Här antar jag att det krävs lite olika typer av kod där vi i ena fallet ska styra "X":et med checkbox, och i det andra fallet via OpnBut-val. . . (?)

    Slutligen har jag 4 st datumtextrutor "TxtDatum1" osv. Dessa datum ska styras mot kolumn AE-AH (nr 31-34). Den sista kolumnen AI (nr 35). aktiverar en knapp som är placerad i rubrikraden i kolumnen på bladet, vars funktion är att stämpla in "avslutat datum" (= dagens datum) samt göra den cellen grön.

    För det har jag skrivit in följande kod för knappen på på bladet:

    Min slutfundering blir kopplad till knapparna på bladet:

    Som du ser har jag i dagsläget 2 st  knappar - "NYTT Ino-Nr" och "VISA" (efter att man rullat fram önskat nummer via SpnBut, se nedan)

    I min värld så är detta skapat för att var tydlig med att vid det ena "knapptrycket" så får man upp formuläret "tomt" men med första lediga radens "nästa Ino-Nr" i rutan längst upp till höger på formuläret.

    Vi det andra valet så får man formulärets alla checkboxar och OpnBy samt textrutor fyllda utifrån det Ino-Nr-val (rad) man väljer. Här får man då en start att jobba med redan när formläret öppnas, och som kan redigeras. Samma typ av val kan också göras direkt från formuläret, där man väljer Ino-Nr via SpnBut vartefter alla Chb/Opn och textrutor uppdateras med motsvarande "Ino-Nr-information" (rad-info Blad 2).

    Jag avvaktar din respons på detta men min ursprungsfråga är hur kodningen för verkställ-knappen på formuläret ska se ut. Hittills ser den ut enligt följande;

    Vänlig Hälsning

    MagnusG_68

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer
  3. Anonym
    2019-06-12T11:40:47+00:00

    Tack!!

    Dom enkla åtgärderna och lösningarna är oftast dom man "missar" när man är lite orutinerad. . .  Min excellfil är nu sparad i xisx-format och tidplanen är för min del helt funktionell enligt önskemål.

    /MagnusG_68

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer
  4. Anonym
    2019-06-12T10:15:15+00:00

    Oj då, det verkar som om du kör en "gammal fil".

    Denna begränsning gäller inte för xlsx-filer, dvs det format som kom efter xls.

    Gränsen på 256 kolumner till nuvarande 16384 ökades för ett bra tag sedan (fr o m Excel 2007) och är inte något man sätter i någon meny, man har detta i alla filer för xlsx.

    Antingen har du tagit över en gammal fil och bara sparat vidare, eller så kan du ha öppnat en fil i kompatibilitetsläge (anpassning mot äldre filer) och då kört så hela tiden. Kolla ändelsen på filen. Slutar den på xls kan du köra Spara som och välja så den slutar på xlsx. Stäng och öppna igen och kolla.

    Alternativ 2.

    Man kan sätta kolumner som dolda, t ex om du markerar alla kolumner bortanför IV och väljer Dölj. Detta gör att du får en grå area till höger om den sista kolumnen du ser. Men detta måste man göra själv, så har du inte gjort det verkar det märkligt om detta skulle hänt.

    Alternativ 3.

    Man kan även sätta det skrollbara området som en användare har tillträde till. T ex skulle man kunna sätta A1:IV65536 som gällande område, vilket gör att användare inte kan skrolla utanför det. Men det är lika märkligt som alternativ 2 eftersom man måste göra ett aktivt val att så är fallet.

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer
  5. Anonym
    2019-06-12T08:37:08+00:00

    Hej,

    Ännu en fråga som gäller ren excellkunskap. . . Jag sitter och har gjort en tidplan i excell som sträcker sig från början av 2019 och ska gälla över årskiftet minst till v6 2020. Problemet som uppstår är att arbetsbokens kolumner slutar vid "IV" och efter det verkar det som om baldet är "låst" för ytterligare arbetsyta. . . ?! Är det så eller kan man utöka baldets "utskriftsområde"??

    Hälsning

    MagnusG_68

    Var det här svaret till hjälp?

    0 kommentarer Inga kommentarer