PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAVBA VBA
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2023-01-20 08:53
 
VBA  

Jag har ett formulär där man ska uppdatera status vid olika tidsperioder utifrån 5 olika värden i en combobox ”Ny status”.

Värdena ska sedan läggas in på samma rad i en tabell (kolumn R-W).

Om ”Status 1” är ifylld (kolumn R) ska värde från ”Ny status” skrivas i kolumn S och så vidare.

 

De tidigare värdena ska inte skrivas över.

I detta fall ska ”Ny status” skrivas i cell V3 och sedan kunna visas i formuläret vid ”Status 5”.

 

Hittills har jag skrivit följande kod men får inte till det för att kunna göra vad jag önskar.

            If Sheets("Aktivitet").Cells(i, 18).Value = Empty Then Sheets("Aktivitet").Cells(i, 18).Value = cboU1.Text

            If Sheets("Aktivitet").Cells(i, 19).Value = Empty Then Sheets("Aktivitet").Cells(i, 19).Value = cboU1.Text

Nytt inlägg
 2023-01-23 12:47
 

 Hej hej

Jag utgår ifrån att du har en äkta tabell i din bild. I så fall kan du använda denna kod. Koden klistrar alltid in din rad med data under din tabell. Då tabellen alltid utökar sig själv komemr detta fungera så länge som det är ok att klistra in din data på sista raden.

Sub dub()

    'Byt ut tbltest mot namnet på din tabell som du kan se om du markerar din tabell och öppnar menyfliken tabelldesign.

   'Koden kräver också att du befinner dig på bladet där du har din tabell, annars får du ändra i koden så att den pekar ut det bladet

    Dim tbl As ListObject: Set tbl = ActiveSheet.ListObjects("tbltest")

    Dim arr As Variant

    ReDim arr(1 To 1, 1 To tbl.ListColumns.Count)

    Dim cb As ComboBox, i As Long: i = 1

    'Userform1 behöver du möjligtvis byta ut mot namnet på din userform

    For Each cb In UserForm1.Controls

        arr(1, i) = cb.Text

        i = i + 1

    Next cb    

    tbl.Range.Rows(tbl.Range.Rows.Count).Offset(1, 0) = arr

End Sub

 
Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAVBA VBA

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter