Print side | Luk vindue

overføre valgte celler til andet ark

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=3222
Udskrevet den: 04.Dec.2024 kl. 10:05


Emne: overføre valgte celler til andet ark
Besked fra: AFrisk
Emne: overføre valgte celler til andet ark
Posteringsdato: 02.Nov.2017 kl. 09:58

Hej.

jeg er ved at lave nogle navneliste hvor man på ark 1, kolonne 1 ser navnene og i kolonne 2 skal man så kunne sætte et X.
Hvordan får jeg de celler der er sat X ved, overført til et andet ark således at de står alfabetisk lige efter hinanden?




Svar:
Besked fra: EXCELGAARD
Posteringsdato: 02.Nov.2017 kl. 10:04
Lav en makro, der gennemløber kolonne 2, og hvis der findes en 'X', så overfør data i kolonne 1 til Ark 2...
...efterfølgende kan makroen også sortere dine data.

Lav en knap i dit regneark, eller i båndet, eller i 'Hurtig Start' linjen, der starter 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.


Besked fra: AFrisk
Posteringsdato: 02.Nov.2017 kl. 10:05
Øhh hvordan...


Besked fra: ThorØstergaard
Posteringsdato: 02.Nov.2017 kl. 16:58
Det kunne se sådan her ud
Sub FlytMarkerede()
    Application.ScreenUpdating = False
    Dim c As Range
    'Slet alt på ark 2
    Worksheets(2).Cells.ClearContents
    
    'Flyt data
    For Each c In Range(Worksheets(1).Range("A2"), Worksheets(1).Range("A" & Worksheets(1).Rows.Count).End(xlUp)).Cells
        If LCase(c.Offset(0, 1).Text) = "x" Then
            c.Copy Destination:=Worksheets(2).Range("A" & Worksheets(2).Rows.Count).End(xlUp).Offset(1, 0)
        End If
    Next
    Worksheets(2).Range("A1").Value = "Navn"
    
    'Sortering
    With Worksheets(2)
        .Sort.SortFields.Clear
        .Sort.SortFields.Add Key:=.Range(.Range("A2"), .Range("A" & .Rows.Count).End(xlUp)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .Sort.SetRange .Range(.Range("A1"), .Range("A" & .Rows.Count).End(xlUp))
        .Sort.Header = xlYes
        .Sort.MatchCase = False
        .Sort.Orientation = xlTopToBottom
        .Sort.SortMethod = xlPinYin
        .Sort.Apply
    End With
    Application.ScreenUpdating = True
End Sub




Print side | Luk vindue