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.

kopiowanie wierszy do innego arkusza po znalezieniu okreslonego słowa

maxweber1981 07 Maj 2014 15:42 1026 9
  • #1 07 Maj 2014 15:42
    maxweber1981
    Poziom 9  

    Potrzebuje skryptu vba które zrealizuje mi usuniecie wierszy i ich skopiowanie do innego arkusza jak pojawi sie słowo www. Ma ktos na to pomysł ;-)
    a sorki troszke nie doprecyzowałem
    mam 150 wierszy i po nich 151 w którym mam słowo ww.
    chce by mi usunął i skopiował excel te 150 wierszy do innego arkusza.

    0 9
  • #2 07 Maj 2014 16:35
    marcinj12
    Poziom 40  

    O coś takiego chodzi?

    Kod: vb
    Zaloguj się, aby zobaczyć kod

    0
  • #3 07 Maj 2014 16:42
    maxweber1981
    Poziom 9  

    no prawie
    zamiast Arkusz1 mam inna nazwe test
    nie mam Arkusza2 wiec musze go jakos tworzyc
    Usuwa mi te wiersze ale nie kopijue pomimo ze utworzyłóem Arkusz2

    0
  • #4 07 Maj 2014 16:45
    marcinj12
    Poziom 40  

    Arkusz2 to nazwa arkusza w VBA, nie zakładki w Excelu. Albo wpisz tam swoją poprawną nazwę, albo zastąp przez Sheets("nazwa_arkusza_w_excelu")

    0
  • #5 07 Maj 2014 17:50
    maxweber1981
    Poziom 9  

    ok zadziałało
    a jak zrobić aby usunął mi komórki w arkuszu w którym mam tekst.

    Dodano po 23 [minuty]:

    kurka
    nie no nie wiem co robie generalnie zle
    ale takie cos mi nie bangla
    sub test
    Sheets.Add(After:=Sheets("Arkusz1")).Name = "Arkusz2"


    ost_w = Range("A" & Rows.Count).End(xlUp).Row

    poz = 2
    For Each c In Range("A2:A" & ost_w)
    If InStr(c.Value, "www") > 0 Then
    Rows("2:" & c.Row - 1).Copy Sheets("Arkusz2").Rows(2)
    Rows("2:" & c.Row - 1).Delete Shift:=xlUp
    Exit For
    End If
    Next c
    end sub

    0
  • #6 07 Maj 2014 19:09
    JRV
    Specjalista - VBA, Excel

    Witam
    Generalnie , trzeba trochę czytanie pomóc o pętli

    0
  • #7 07 Maj 2014 19:45
    marcinj12
    Poziom 40  

    U mnie ten kod działa. Pytanie, czy zrozumiałeś co on robi? Bo sprawdza występowanie fragmentu "www" w kolumnie A (od drugiego wiersza) w aktywnym arkuszu (tym, który jest aktywny gdy odpalasz makro).
    PS. Zmienna poz jest niepotrzebna, została po innych fragmencie.

    0
  • #8 08 Maj 2014 13:36
    maxweber1981
    Poziom 9  

    dobra a jak ustawić aby w pętli było podane lub przednia zdefiniowane wskazanie ktory to aktywny arkusz.
    Mam trzy Arkusze tj. Arkusz1 Arkusz 2 i Arkusz3
    W arkuszu 1 mam dane które chce kopiować do Arkusza 2.
    bo po tej pętli chce realizować ten kod
    Sub copy1500()
    Dim r&, rw&
    Dim bs As Range, bw As Range
    Set bs = Sheets(1).Range("A:B")
    Set bw = Sheets(3).Range("A:B")
    For r = 2 To bs(Rows.Count, 2).End(xlUp).Row
    If bs(r, 2) > 1500 Then

    rw = bw(Rows.Count, 2).End(xlUp).Row + 1
    bw(rw, 1) = bs(r, 1).Value
    bw(rw, 2) = bs(r, 2) / 1000 & "s"
    End If
    Next
    End Sub
    przeszukując spełniające warunki z arkusza2 i wstawić je do arkusza 3
    Ale do arkusza 3 nie wkleja mi komorek jak mam cały kod.

    0
  • #9 08 Maj 2014 15:25
    JRV
    Specjalista - VBA, Excel

    Na innym forum powiedział, że wszystko jest dobrze, w stosunku do tego kodu

    0
  • #10 08 Maj 2014 17:10
    maxweber1981
    Poziom 9  

    dobra udało mi sie to rozwiązać poprzez dodanie
    ActiveWorkbook.Sheets("Arkusz1").Activate
    Ale mam inny problem.
    Jak juz mi znajdzie wartości spełniające warunek większe od 3000 i skopiuje mi te wiersze do Arkusza2 to chciałbym aby te wiersze które sa w tym arkuszu (a zakres tych wierszy jest zmienny i zawiera sie w kolumnach A:B) skopiował do innego dokumentu nazwałem go test2.
    W tym innym dokumencie test2 juz mam wpisy i chciałbym aby mi kopiował do pierwszego wolnego wiersza.

    0