Avatar billede Butterfly Ekspert
09. september 2019 - 08:15 Der er 11 kommentarer og
2 løsninger

Auto udfyldelse i række 1 indtil

Hej
Kan jeg lave noget VBA der autoudfylder fra E1 indtil der er data i en kolonne i række 1
Avatar billede Jan Hansen Ekspert
09. september 2019 - 08:33 #1
Ja vil jeg tro, hvad skal fyldes ind?
Avatar billede Jan Hansen Ekspert
09. september 2019 - 08:57 #2
måske denne kode i arket vil virke


Option Explicit
Dim SourceRange As Range, FillRange As Range, Cell As Range
Dim Count As Integer

Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("E1")) Is Nothing Then
            Set SourceRange = Target
            Set Cell = SourceRange
            Count = -1
            Do
                Count = Count + 1
                Set Cell = Cell.Offset(0, 1)
            Loop Until Cell.Value <> ""
            If Count < 1 Then Exit Sub
            Set FillRange = Range(SourceRange, SourceRange.Offset(0, Count))
            SourceRange.AutoFill Destination:=FillRange
        End If
End Sub
Avatar billede Butterfly Ekspert
09. september 2019 - 10:36 #3
Jeg går ud fra ovenstående skal sættes ind i nyt modul. Hvordan kører jeg den?
For jeg kan ikke få det til at virke, hvad gør jeg galt?
Avatar billede Jan Hansen Ekspert
09. september 2019 - 10:58 #4
Næ det er kode på arket

I Vba editoren dobelklikker du på arket og sætter koden ind!

på arket Skriver du et eller andet eksempelvis i k1 og skriver så i e1 og vubti flyder den f1 til j1 ud
Avatar billede store-morten Ekspert
09. september 2019 - 11:57 #5
Prøv:
Range("E1").AutoFill Destination:=Range("E1:" & _
Range("E1").End(xlToRight).Offset(0, -1).Address)
Avatar billede Butterfly Ekspert
09. september 2019 - 14:42 #6
Hej store-morten
Det virker fint - næsten, for den skal kun udfylde indtil der står noget i næste kolonne.
Avatar billede Butterfly Ekspert
09. september 2019 - 14:43 #7
Hej Jan Hansen
Det kan jeg ikke for det er nyt ark hver gang.
Jeg kan selvfølgelig lave en makro der sætter det ind
Avatar billede store-morten Ekspert
09. september 2019 - 14:56 #8
Gør den da ikke det?
Kikker til højre,  finder udfyldte celle og går 1 til venstre.
Avatar billede store-morten Ekspert
09. september 2019 - 15:10 #9
Er vi enige om kun at kikke i række 1?
Avatar billede Jan Hansen Ekspert
09. september 2019 - 15:27 #10
I "Denne_projektmappe" 's kode indsætter du denne kode


Option Explicit
Dim wb As Workbook, ws As Worksheet
Dim SourceRange As Range, FillRange As Range, Cell As Range
Dim Count As Integer

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Set wb = ThisWorkbook
    If Not Sh.Name = wb.Sheets(1).Name Then ' kan udvides med flere ark ved at skrive inden "Then"
                                            ' or sh.name=wb.Sheets(2).name osv
        If Not Intersect(Target, Range("E1")) Is Nothing Then
            Set SourceRange = Target
            Set Cell = SourceRange
            Count = -1
            Do
                Count = Count + 1
                Set Cell = Cell.Offset(0, 1)
            Loop Until Cell.Value <> ""
            If Count < 1 Then Exit Sub
            Set FillRange = Range(SourceRange, SourceRange.Offset(0, Count))
            SourceRange.AutoFill Destination:=FillRange
        End If
    End If
End Sub

Avatar billede Jan Hansen Ekspert
09. september 2019 - 15:32 #11
Koden kører på alle ark undtagen dem du vælger fra

Vælges i denne kodelinie

If Not Sh.Name = wb.Sheets(1).Name Then

du kan også skrive

If Not Sh.Name = wb.Sheets("arknavnet 1").Name  or Not Sh.Name = wb.Sheets("arknavnet 2").Name Then
Avatar billede store-morten Ekspert
09. september 2019 - 16:10 #12
Lidt at lege med:

Sub test_Område()
MsgBox "Autofylder fra: $E$1 til: " & Range("E1").End(xlToRight).Offset(0, -1).Address
End Sub
Avatar billede Butterfly Ekspert
12. september 2019 - 09:15 #13
Mange tak store-morten, nu kan jeg få det til at virke perfekt, smiler stort.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester