Just nu i M3-nätverket
Gå till innehåll

Combobox's value till nästa blad.


Rille63

Rekommendera Poster

Hej !

 

Är dålig på detta,fick till formuläret med knappar o rullistor så att det fungerar,allt hamnar på rätt rad på rätt blad.

 

Mitt problem.

 

Från "spara" knappen på mitt userform,vill jag att mina value's även ska hamna på nästa blad,i olika kolumner.

 

Hmm,lite svårt att förklara detta.

 

Bifogar en fil.zippad xlsm.Exempel.zip

 

Mycket tacksam för ev. hjälp.

 

/Christer   

Länk till kommentar
Dela på andra webbplatser

Du startar den från blad1 och vill spara på blad2?

 

Inga problem, bara att adressera blad2 vid skriviningen av värdena. Precis som på det aktiva bladet. Något man alltid bör göra.

Länk till kommentar
Dela på andra webbplatser

Okej

1: Flytta ut spara-koden du har idag i egen funktion, i ditt UserForm

Private Sub SaveDataAll()
    Dim nextrow As String
    '=COUNTA(A:A)+1
    With Sheets("Inmatning")
          nextrow = WorksheetFunction.CountA(.Range("A:A")) + 1
         .Cells(nextrow, 1) = Now
         
         'Kolumn B Första lediga raden anger värdet från namn
          .Cells(nextrow, 2) = UserForm1.ComboBox1.Value
         
         'Kolumn C Första lediga raden anger värdet från förening
          .Cells(nextrow, 3) = UserForm1.ComboBox2.Value
         
         'Kolumn D Första lediga raden anger värdet från 1:a Start
          .Cells(nextrow, 4) = UserForm1.ComboBox3.Value
         
         'Kolumn E Första lediga raden anger värdet från 2:a Start
          .Cells(nextrow, 5) = UserForm1.ComboBox4.Value
         
         'Kolumn F Första lediga raden anger värdet från 3:e Start
          .Cells(nextrow, 6) = UserForm1.ComboBox5.Value
    End With

End Sub

2: Skapa en till spara-rutin

Private Sub SaveData2()
    Dim nextrow As String
    With Sheets("Mellanlandning")
        nextrow = WorksheetFunction.CountA(.Range("A:A")) + 1
        .Cells(nextrow, 1) = UserForm1.ComboBox3.Value
        .Cells(nextrow, 2) = UserForm1.ComboBox1.Value
        .Cells(nextrow, 3) = UserForm1.ComboBox2.Value
        
    End With
End Sub

3: Anropa dessa två från Click-händelsen

Private Sub CommandButton1_Click()
    'Spara Knappen
    SaveDataAll
    SaveData2
   
    
     Unload UserForm1

End Sub

Alltid bra att ha atomära funktioner, varje funktion gör bara en sak och den saken bra.

Och några tips:

Ändra adressering av blad till VBAs namn.

Sätt namn på dina kontroller i UserForm, namn som beskriver dem.

Använd gärna Excels tabellformat. Inget krav men trevligt.

Du behöver inte adressera kontroller inom ditt Userform med UserForm1. Implicit förstås att det är inom detta formulär de finns. Om du vill adressera helt använd istället Me

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...