En familj av Microsoft-kalkylbladsprogram med verktyg för att analysera, kartlägga och kommunicera data.
Hej,
Kanon!! Problemet är "ur världen" och jag lärde mig ännu en viktig detalj i VBA.
/ Hälsning
MagnusG_68
Den här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
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
En familj av Microsoft-kalkylbladsprogram med verktyg för att analysera, kartlägga och kommunicera data.
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.
Hej,
Kanon!! Problemet är "ur världen" och jag lärde mig ännu en viktig detalj i VBA.
/ Hälsning
MagnusG_68
Hej P3excel,
Jag kastar in en "annan fråga" bara så där. . . Det gäller uppräkningen för en Spinbutton som jag har på ett formulär, och som ska räkna upp värden från Bald2 i kolumn A. Det jag nu upptäckt är att den stannar vid rad 100. . . Är det något inbyggt (spärr) i VBA för just Spn_Buttons? Hur kompletterar man koden så att den fortsätter, som i mott fall till rad 151?
P.S Jag återkommer med följdfrågor på vårt föregående projekt, där jag haft lite pause men måste nu få det färdigt. Där handlar det om att få kodningen klar och komplett för "verkställ-knappen" så att all data ramlar in på rätt ställen på aktuellt blad. Även att göra det funktionellt med endast EN knapp oavsett om man vill skapa ett nytt inovations-id-nummer, eller om man plockat upp ett befintligt som man redigerat(ändrat) data för och trycker "OK" på formuläret. . .
Men - först vill jag ha svar på min ovanstående fråga om Spn_Button.
Väl mött. . .
MagnusG_68
När jag känner att jag tappat tråden brukar det vara för att man antingen har för många saker man inte vet hur man ska tackla, eller att man missat vad som egentligen är viktigt att fokusera på - steg för steg. Ibland får man ta en sak och bara fokusera på det. Sen nästa, och nästa. (Detta är exakt samma princip som när man försöker bygga upp avancerade formler på bladet som innehåller många olika funktioner i samma formel - fokusera på vad varje enskilt steg ska åstadkomma. Hmmm, här gled vi lite utanför ämnet, men Excel handlar om struktur.)
Jag skrev om lite i koden, nu med de X som ska in. Och jag försöker nu lotsa dig igenom detta utifrån ett fokusperspektiv där koden följer vad som är viktigt att sätta - i rätt ordning.
Innan vi går in på själva koden vill jag återigen poängtera enkelheten, dels för användare, men även för dig som ska koda. Att ha två knappar för att mata in innovationstext/ärenden känns väl lite sisådär. Som användare skulle jag bara vilja skriva in min info, oavsett om det är ett nytt ärende eller om jag uppdaterar ett gammalt ärende. Sen trycker jag bara på "Spara", punkt. Som programmerare kommer du få mer besvär om du behöver i princip samma sak som ska utföras men på flera ställen (flera knappar). Banta så mycket det går, håll det enkelt för alla inblandade. Och när jag menar enkelt så menar jag ur användarperspektiv. Ur kodperspektiv kan det vara ruggigt avancerat så länge det gynnar användningen.
Ok, koden då.
För att ta upp den tappade tråden så är tankeordningen ungefär:
Koden nedan följer punkterna ovan
Observera att jag har inte alla OptBut med i koden, du får fylla på med de du har. Samma sak med Checkbox länge ned, vilka du får justera namnen på också.
Sub CmdNy_Click()
Dim ws As Worksheet
Dim c As Range
Dim kol As Long
Dim rad As Long
Set ws = Worksheets(1)
'1. sätt raden för vald innovation/ny innovation
Set c = ws.Range("A1:A" & ws.Cells(Rows.Count, 1).End(xlDown).Row).Find(what:=ws.Range("B2").Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then 'träff finns
rad = c.Row
Else 'ingen träff
rad = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
End If
'2. sätt kolumnen för vald huvudkategori
Select Case True
Case Opn1.Value: kol = 4
Case Opn2.Value: kol = 5
Case Opn3.Value: kol = 6
Case Opn4.Value: kol = 7
End Select
'3. skriv in texten för innovationen på funnen rad och kol
ws.Cells(rad, kol) = "text"
'4. kontrollera de övriga Chb för ev X som ska sättas
If CheckBox1 Then ws.Cells(rad, 22) = "X"
If CheckBox2 Then ws.Cells(rad, 23) = "X"
If CheckBox3 Then ws.Cells(rad, 24) = "X"
If CheckBox4 Then
Select Case True
Case Opn15.Value: kol = 27
Case Opn16.Value: kol = 28
End Select
ws.Cells(rad, kol) = "X"
End If
End Sub
En sak till som inte är med i koden är radering av raden om man valt att enbart ändra i en befintlig innovation.
Exempelvis, om man ändrar ett kryss för en innovation kommer ett X skrivs för den nya kolumnen, men hur vet man om ev tidigare kryss ska vara med? Raderar man detta manuellt? Ett normalt förfarande då all info finns när du valt en tidigare innovation är att radera allt på raden och sen skriva in det som finns när man klickar spara. Då kommer endast det som valts. Men det handlar ju om hur man vill att hanteringen ska gå till.
Testa och se om du kan få ovanstående kod att rulla så du kommer nåt steg framåt.
Godmorgon,
Jag har nu lagt in den kodstruktur du skickade tidigare med "Select-Case" med samtliga kolumner inlagda.
När det gäller kommandoknapparna "Nytt In-NR" resp "Spara redigerat "Ino-NR" så är skillnaden den att vid Exit via "NYTT-knappen" så skall allt ramla ner på första ledaiga rad och tillhörande kolumner, medans "Spara redigerat-knappen" ska spara ner informationen för det Ino-NR som man valt att visa/titta på och i vilket man gjort en ändring eller komplettering med beskrivandetext etc. I övrigt ska dom ha samma funktion.
När det gäller "Kategori inblandad eller påverkande faktor" så är det så - i nuläget - att det ska sättas ett val, men kan givetvis vara flera ketegorier som är inblandade. . . Därav "checkboxarna". . .
När det gäller "Teknik" är den "chb-rutan" intern i formuläret kan man säga, dvs den genererar inget eget "X" på Blad1, utan den aktiverar OpnBut i ramen "Typ av anläggning" där valet DÄR ska ge ett "X" i motsvarande kolumn.
Här är det nog i dina ögon "lite svajigt" och inkonsekvent.
Hur som helst, hur får jag allt detta komplett och färdigt? Resterande data inkluderat dessa "X" samt datumstämplarna. . . ?? Känner att jag "tappat tråden" lite just nu. . .
Status just nu är att jag fått in nedanstående kodsträngar för knappen "Nytt nummer". . . Ej komplett för att få med allt enl ovan.
/ Vänlig hälsning MagnusG_68