22. marts 2015 - 22:57Der er
10 kommentarer og 1 løsning
VBA; Vælge specifik data og overføre til andet Excel ark
Hej Eksperter
Jeg har forgæves prøvet at lave mig en makro (og søgt Google tyndt), hvor jeg i f.eks. kolonne A kan vælge forskellige celler og så køre makroen, hvor efter nogle specifikke celler fra disse cellers rækker bliver kopieret over i et andet ark til en specifik placering. Håber det giver mening.
Eksempel: Altså hvis jeg i A1, A2, A3 og kører makroen, så bliver data fra følgende celler kopieret over i et nyt ark:
A1, A2, A3 --> B1, B2, B3 F1, F2, F3 --> D1, D2, D3 E1, E2, E3 --> F1, F2, F3 osv. så jeg selv kan ændre det efter behov.
Jeg ligger inde med to "test" data ark (de rigtige placeringer, etc.), det giver måske mere mening at se det. God mandag :)
Tak for dit svar. Det er fordi jeg har et stort master data sheet, hvor jeg behøver at trække noget specifikt data ud og kopiere det ind i en ny workbook (og ikke ark).
Så idéen var at jeg kunne markere de firmanavne, i f.eks. kolonne A, jeg gerne ville ha kopieret data fra, over i et nyt excel ark. Altså vil det give mening hvis jeg kan markere de firmanavne jeg skal bruge og så kopierer makroen præcis det specifikke data fra de respektive kolonner/celler som jeg skal bruge.
Altså hvis jeg markerer A2 og kører makroen, så skal den kopiere data fra A2, F2 og E2 og paste disse data ind i et nyt ark i B2, D2, F2. Håber det giver bedre mening?
Men selvom jeg vælger flere rækker i kolonne A, så kopierer den kun første "row".
Skal jeg bruge et for each, som du postede ovenfor?
Noget lignende?
Sub KopiData() Dim wkbNew As Workbook Dim wkbCurrent As Workbook Set wkbCurrent = ActiveWorkbook Set wkbNew = Workbooks.Add Dim c As Range
For Each c In Selection.Cells wkbCurrent.ActiveSheet.Range("A" & Selection.Row).Copy Destination:=wkbNew.Worksheets(1).Range("B" & Selection.Row) wkbCurrent.ActiveSheet.Range("F" & Selection.Row).Copy Destination:=wkbNew.Worksheets(1).Range("D" & Selection.Row) wkbCurrent.ActiveSheet.Range("E" & Selection.Row).Copy Destination:=wkbNew.Worksheets(1).Range("F" & Selection.Row) Next End Sub
For Each c In Selection.Cells wkbCurrent.ActiveSheet.Range("A" & c.Row).Copy Destination:=wkbNew.Worksheets(1).Range("B" & c.Row) wkbCurrent.ActiveSheet.Range("F" & c.Row).Copy Destination:=wkbNew.Worksheets(1).Range("D" & c.Row) wkbCurrent.ActiveSheet.Range("E" & c.Row).Copy Destination:=wkbNew.Worksheets(1).Range("F" & c.Row) Next
Sub KopiData() Dim wkbNew As Workbook Dim wkbCurrent As Workbook Set wkbCurrent = ActiveWorkbook Dim valg As Range Set valg = Selection Set wkbNew = Workbooks.Add
Dim c As Range
For Each c In valg.Cells wkbCurrent.ActiveSheet.Range("A" & c.Row).Copy Destination:=wkbNew.Worksheets(1).Range("B" & c.Row) wkbCurrent.ActiveSheet.Range("F" & c.Row).Copy Destination:=wkbNew.Worksheets(1).Range("D" & c.Row) wkbCurrent.ActiveSheet.Range("E" & c.Row).Copy Destination:=wkbNew.Worksheets(1).Range("F" & c.Row) Next
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.