Avatar billede Sonic Mester
21. september 2018 - 11:41 Der er 7 kommentarer og
2 løsninger

Udskifte data i et datahoved ark (ark2) fra flere ark (Ark4-6)

Hej,

Jeg har et ark1(overbliksbilled) hvor jeg gerne vil have 3 knapper/macroér
(valg af datasæt 1, valg af datasæt2 og valg af datasæt 3, evt osv. og
jeg kan godt selv lave billederne/kald af macroér)

ved tryk af knap 1 skal alle data i ark 4 overtage/overskrive alle data i ark 2
ved tryk af knap 2 skal alle data i ark 5 overtage/overskrive alle data i ark 2
ved tryk af knap 3 skal alle data i ark 6 overtage/overskrive alle data i ark 2
(evt. flere senere)

Er der en der kan hjælpe med vba delen?
Avatar billede Jan Hansen Ekspert
22. september 2018 - 11:27 #1
Avatar billede Sonic Mester
24. september 2018 - 16:20 #2
Hej Jan

Har lige prøvet med en lille tilpasning, og den ser ud til at være det
jeg var på "jagt" efter....
Forsøger at lægge den ind i mit rigtige ark, og tester så lige den der også.
Vender tilbage med svar.

Henrik
Avatar billede Sonic Mester
24. september 2018 - 19:12 #3
Virker fint med tilpasning...
Har forsøgt at ændre den til at udskifte i et andet ark, uden held.
(forsøgt nyt modul og tilpasset den der er)

Hvis jeg gerne vil have samme knap til at gøre 2 ting, hvordan fixer jeg lige den?
button1 Copysheet ("Ark2") plus Copysheet ("Ark6") og
Button2 Copysheet ("Ark3") og Copysheet ("Ark7")
osv.


pt. lavet et HovedArk hvor knapper er (4 stk)

Option Explicit
Dim ws As Worksheet, wsCopySheet As Worksheet
Dim rArea As Range, rLastcell As Range

Sub Button1()
    Copysheet ("Ark2")
End Sub
Sub Button2()
    Copysheet ("Ark3")
End Sub
Sub Button3()
    Copysheet ("Ark4")
End Sub

Sub Button4()
    Copysheet ("Ark5")
End Sub

Private Sub Copysheet(sh As String)

Copy til Ark1 osv.... som i dit eksempel/genvej.

End Sub
Avatar billede Jan Hansen Ekspert
24. september 2018 - 19:50 #4
hej
som jeg nu har beskrevet hvad makroen gør, vil du aldrig kunne kopiere 2 ark til hovedarket, hvis så skal den ændres en hel del.

Option Explicit
Dim ws As Worksheet, wsCopySheet As Worksheet
Dim rArea As Range, rLastcell As Range

Sub Button1()
    Copysheet ("Ark2")
End Sub
Sub Button2()
    Copysheet ("Ark3")
End Sub

Private Sub Copysheet(sh As String)
    Set ws = Sheets("Ark1") ' bestemmer arket der skal kopieres til
    Set wsCopySheet = Sheets(sh) ' sætter arket der skal kopieres fra
    ' finder sidste celle med indhold
    Set rLastcell = Range(wsCopySheet.Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByRows, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Address)
    Set rArea = wsCopySheet.Range("A1", rLastcell.Address) ' sætter området der skla kopieres
    ws.Range("A:XX").ClearContents ' Renserarket der skal kopieres til
    ws.Range("A1", rLastcell.Address).Value = rArea.Value ' kopierer
End Sub

Jan
Avatar billede Sonic Mester
24. september 2018 - 20:10 #5
Hej Jan,
(forstår det lidt bedre)

Tænkte at det var muligt at lave det som flere macroér og så kalde dem fra 1 knap.

"Sub Button1_Click()
    Call copy Calculations 'Macro1 (den der copy Calculations2 til Calculations)
    Call copy Data 'Macro2 (en der copy Data2 til Data)

"Sub Button2_Click()
    Call copy Calculations2 'Macro3 (den der copy Calculations3 til Calculations)
    Call copy Data2 'Macro4 (en der copy Data3 til Data)

osv til 4 buttons

"de 4 buttons er på hovedArk"

Faneblade hedder(efter HovedArk): Data, Calculations, Data2, Data3, Data4, Data5,
Calculations2, Calculations3, Calculations4 og Calculations5
1 button kalder 2 macroer (copy Data2 til Data og Calculations2 til Calculations.
2 button kalder 2 macroer (copy Data3 til Data og Calculations3 til Calculations
3 og 4 på samme måde.

Er det muligt på den måde ?
Avatar billede Sonic Mester
24. september 2018 - 20:28 #6
Det virkede med kald
Avatar billede Sonic Mester
24. september 2018 - 20:30 #7
Sub Button10_Click()

    Call Button1  'Macro1
    Call Button5  'Macro2
   
End Sub

Sub Button11_Click()

    Call Button2  'Macro3
    Call Button6  'Macro4
   
End Sub

Sub Button12_Click()

    Call Button3  'Macro5
    Call Button7  'Macro6
   
End Sub

Sub Button14_Click()

    Call Button4  'Macro1
    Call Button8  'Macro2
   
End Sub
Avatar billede Sonic Mester
24. september 2018 - 20:34 #8
Sætter stor pris på alt din tid og hjælp.

Jeg lærer virkelig meget og syntes det går frem af ;)

Henrik

ps. laver 2 løsninger til denne, selvom den sidste er et "bonus" svar :)
Avatar billede Jan Hansen Ekspert
24. september 2018 - 21:35 #9
Velbekomme, ikke altid man kan læse tanker

Jan
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