Print side | Luk vindue

Vend tilbage til combobox efter at have kørt marco

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=4914
Udskrevet den: 21.Nov.2024 kl. 18:22


Emne: Vend tilbage til combobox efter at have kørt marco
Besked fra: KlausMW
Emne: Vend tilbage til combobox efter at have kørt marco
Posteringsdato: 10.Apr.2023 kl. 17:45
Hej alle der kan hjælpe. Jeg bruger en kombinationsboks til at søge og finde elementer. Jeg overfører dem med en VBA kode, når jeg kører den tømmes comboboksen som den skal. Nu vil jeg gerne have, at markøren er i kombinationsboksen, efter at VBA-koden er kørt.
Nogle der kan hjælpe.

Med venlig hilsen

Klaus W



Svar:
Besked fra: EXCELGAARD
Posteringsdato: 11.Apr.2023 kl. 12:13
ComboBox1.SetFocus

Udskift 'ComboBox1' med navnet på din ComboBox.


-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.


Besked fra: KlausMW
Posteringsdato: 12.Apr.2023 kl. 16:52
Hej EXCELGAARD
Jeg er ikke helt sikker på hvor jeg skal sætte det ind.
Min VBA kode seer sådan ud. Den jeg gerne vil returnere til comboboxen efter at have kørt.

Sub Prisliste_Overfør_Varer_Klik()
    Application.ScreenUpdating = False
    SetVar
    Dim col As New Collection
    Dim Varelinje As New ClVarelinjer
    Dim vElement
    Dim Cell As Range, iCell As Range
    For Each Cell In rPris
        If Cell.Offset(0, 2) <> "" Then
            With Varelinje
                 .Vare_nr = Cell.Value
                 .Navn = Cell.Offset(0, 1).Value
                 .Antal = Cell.Offset(0, 2).Value
                 .Enhed = Cell.Offset(0, 4).Value
                 .Pris = Cell.Offset(0, 5).Value
                 .Bemærkning = Cell.Offset(0, 10).Value
            End With
        Else
            GoTo Videre
        End If
        For Each iCell In rBestil
            With Varelinje
                If iCell.Value = .Vare_nr Then
                    iCell.Value = .Vare_nr
                    iCell.Offset(0, 1).Value = .Navn
                    iCell.Offset(0, 2).Value = .Antal
                    iCell.Offset(0, 4).Value = .Enhed
                    iCell.Offset(0, 5).Value = .Pris
                    iCell.Offset(0, 5).NumberFormat = "$ #,##0.00"
                    iCell.Offset(0, 6).Value = .Bemærkning
                    iCell.Offset(0, 7).FormulaR1C1 = "=IFERROR(RC[-5]*RC[-2],"""")"
                    iCell.Offset(0, 7).NumberFormat = "$ #,##0.00"
                    GoTo Videre
                ElseIf iCell.Value = "" Then
                    iCell.Value = .Vare_nr
                    iCell.Offset(0, 1).Value = .Navn
                    iCell.Offset(0, 2).Value = .Antal
                    iCell.Offset(0, 4).Value = .Enhed
                    iCell.Offset(0, 5).Value = .Pris
                    iCell.Offset(0, 5).NumberFormat = "$ #,##0.00"
                    iCell.Offset(0, 6).Value = .Bemærkning
                    iCell.Offset(0, 7).FormulaR1C1 = "=IFERROR(RC[-5]*RC[-2],"""")"
                    iCell.Offset(0, 7).NumberFormat = "$ #,##0.00"
                    GoTo Videre
                End If
            End With
        Next
                
ComboBox1.SetFocus
        
Videre:
        Set Varelinje = New ClVarelinjer
    Next Cell
    Cbox
    'renser antal og bemærkning i prislisten
    ClearOmråde WsPris.Range("C9", WsPris.Range("C6000").End(xlUp))
    ClearOmråde WsPris.Range("K9", WsPris.Range("K6000").End(xlUp))
    '
    Slet_række
    ' sorterer
    Sorter WsBestil.Range("A9", WsBestil.Range("H6000").End(xlUp)), WsBestil.Range("B9", WsBestil.Range("B6000").End(xlUp))
    WsPris.Range("a1").Value = Now()
    ' sætter kanter
    IngenKanter WsBestil, WsBestil.Range("a9", WsBestil.Range("H6000"))
    Kanter WsBestil, WsBestil.Range("a9", WsBestil.Range("H6000").End(xlUp))
    WsPris.Activate
    Application.ScreenUpdating = True
 
 End Sub


Besked fra: EXCELGAARD
Posteringsdato: 13.Apr.2023 kl. 08:50
Tja, hvis du vil have det til at ske efter makroen er kørt, skal du vel sætte det ind til aller-sidst i din makro?




-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.



Print side | Luk vindue