Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Excel - Makro kopiowania wierszy do innego arkusza

cinekcom 13 Gru 2012 23:14 10887 12
  • #1 13 Gru 2012 23:14
    cinekcom
    Poziom 8  

    Witam
    Mam taki mały problem potrzebuję zrobić makro które po wywołaniu będzie kopiowało zawartość z "Arkusz" od A3 do G30 do "Arkusza3" i po przekopiowaniu automatycznie będzie czyściło zawartość kolumny B3:B30 w "Arkusz", następnie po kolejnym uruchomieniu makra będzie wykonywało tą samą czynność tylko zapis w "Arkusz3" będzie w kolejnych wolnych wierszach, z góry wielkie dzięki gdyby ktoś rozgryzł ten temat.

    1 12
  • #2 14 Gru 2012 04:28
    PRL
    Poziom 34  

    Gdybyś zarejestrował sobie makro, to pewnie udałoby Ci się je zmodyfikować pod ten problem.
    Makro nic więcej nie robi, jak kopiuje i wkleja.
    W załączniku masz rozwiązanie.

    0
  • #3 14 Gru 2012 19:26
    cinekcom
    Poziom 8  

    Wszystko ok tylko potrzebuję jeszcze taki moduł gdzie będzie kopiowało tylko wartości komórek a nie formuły i przy wkopiowaniu w oddzielny arkusz będzie sprawdzać który wiersz jest pierwszy wolny i zapisywać pod pierwszym wolnym.

    Dodano po 3 [minuty]:

    Mam takie makro to prawie wykonuje to co bym chciał ale kopiuje całe formuły a nie same wartości komórek, jak by ktoś wiedział jak to zmienić byłbym wdzięczny

    Sub kopiowanie()
    Dim LastRow As Long

    Range("A8:D18").Select
    Selection.Copy
    Sheets("Arkusz2").Select


    If WorksheetFunction.CountA(Cells) > 0 Then
    LastRow = Cells.Find(What:="*", _
    After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    Ostatni_wiersz = LastRow
    Else
    Ostatni_wiersz = 0
    End If


    ActiveSheet.Cells(Ostatni_wiersz + 1, 1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Sheets("Arkusz1").Select

    End Sub

    0
  • #4 14 Gru 2012 21:18
    marek003
    Poziom 40  

    Zamień

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    na

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    2
  • #5 14 Gru 2012 22:35
    cinekcom
    Poziom 8  

    Wielkie dzięki wszystko działa, właśnie o to mi chodziło

    0
  • #6 15 Gru 2012 04:14
    PRL
    Poziom 34  

    Kolego.
    A co ja Ci wysłałem?

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Ten kod robi dokładnie to, co chciałeś...
    Pewnie nawet nie ściągnąłeś mego załącznika z 14 Gru 2012 04:28.

    1
  • #7 16 Gru 2012 23:15
    cinekcom
    Poziom 8  

    załącznik ściągałem dokładnie robi to o co chodziło tylko kopiowało całe komórki a nie same wartości, ale już wszystko ok wielkie dziękuję za pomoc

    0
  • #8 23 Sty 2013 22:46
    nexart
    Poziom 8  

    A ja tak do tego posta się dołączę i zapytam o makro co nie zakres komórek ma przenosić tylko wybrane komórki do nowego arkusza i ustawiać je w jednym wierszu. Mam już coś napisane ale nie działa. Proszę o pomoc.

    Kod makra:

    Sub zapisdobazy()
    '
    ' zapisdobazy Makro
    '

    Przyjmujący_zamówienie = Range("E6")
    ID_zamówienia = Range("E7")

    Sheets("Baza").Select
    NewRow = Range("A65536").End(xlUp).Row + 1
    Range("C" & NewRow) = Przyjmujący_zamówienie
    Range("D" & NewRow) = ID_zamówienia

    Sheet("Baza").Save
    ActiveWindow.Close

    End Sub

    0
  • #9 20 Mar 2013 23:23
    Zeneka1
    Poziom 7  

    Dobre macro tylko co zmienić by nie kasowało tabeli bo mam odpowiednio komórki scalone i przeniosło dokładnie zawartość wraz z taka samą tabelka ? Z góry dziękuje za odpowiedź.
    Wiele jest tematów na temat kopiowania danych z arkusza do arkusza lecz nie mogę wykombinować jak
    1.Skopiować tabelkę z zawartością zachowując format czcionkę etc.
    2.W tabeli w arkuszu kopiowanym czasami zwiększam ilość wierszy lecz moje makro tylko kopiuje 7 nie koryguje tego że dodano np.2 wiersze.Dodam że 7 wiersz to wyniki z poprzednich wiec wiersze zawsze dodawane są przed 7.
    3.Po skopiowaniu Tabeli dane powinny być skasowane ( odmiennie do kopiowania tabele) tym razem mi kasuje a nie powinno kasować linii tabeli lecz same dane.

    0
  • #10 21 Kwi 2013 17:19
    balasek
    Poziom 9  

    Witam
    Potrzebuję stworzyć makro które będzie działało tak że przy pomocy przycisku będzie kopiowało wypełnione komórki w akruszu 1 (wielokrotnie wpisywanie rożne dane do tych samych komórek) do kolejnych wierszy w arkuszu 2.
    Przykład w załączniku.
    Będę wdzięczny za pomoc.
    Pozdrawia

    0
  • #11 29 Lis 2018 12:19
    vipczesio
    Poziom 9  

    PRL napisał:
    Kolego.
    A co ja Ci wysłałem?

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Ten kod robi dokładnie to, co chciałeś...
    Pewnie nawet nie ściągnąłeś mego załącznika z 14 Gru 2012 04:28.



    Mam pytanie korzystam z bardzo podobnego kodu poniżej, ale pojawił się problem po skopiowaniu np 10 wierszy z arkusza 1 i następnie kopiowaniu kolejnych linii z arkusza 2, linie z arkusza 2 nie wklejają się w pierwszy wolny wiersz pod tymi 10-cioma z arkusza 1 tylko nadpisują się na 10-tym, kasują ostatni wiersz.
    Czy w tym kodzie jest gdzieś błąd?
    Mam wrażenie że do tej pory działało to dobrze i teraz tak się stało.

    Sub Arek()
    Dim OstW As Long, OstWA As Long
    Sheets("Arek").Select
    OstWA = Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
    Range(Cells(2, 1), Cells(OstWA, 9)).Select
    Selection.Copy
    Sheets("Arkusz1").Select
    OstW = Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
    Cells(OstW, 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    inf = MsgBox("Usunąć dane z 'Arkuszu Arka'?", vbYesNo, "UWAGA")
    If inf = vbYes Then
    ActiveWorkbook.Save
    Sheets("Arek").Select
    Range(Cells(2, 1), Cells(OstWA, 3)).Select
    Selection.ClearContents
    Cells(2, 1).Select
    Sheets("Arek").Select
    Range(Cells(2, 5), Cells(OstWA, 9)).Select
    Selection.ClearContents
    Cells(2, 9).Select
    ActiveWorkbook.Save
    End If
    Sheets("Arek").Select
    Cells(2, 1).Select
    End Sub

    0
  • #12 29 Lis 2018 13:26
    PRL
    Poziom 34  

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Dodano po 41 [minuty]:

    To moja wina, bo modyfikowałem (po wysłaniu) kod.
    Obecny działa poprawnie.

    0
  • #13 29 Lis 2018 14:48
    vipczesio
    Poziom 9  

    Tak dziękuję bardzo za pomoc.

    0