Copiere continut daca celula are aceeasi culoare

amador70
Mesaje: 37
Membru din: Mie Iun 18, 2014 8:46 pm

Copiere continut daca celula are aceeasi culoare

Mesaj de amador70 » Dum Iul 29, 2018 9:51 am

Va salut! Caut un cod care sa introduca noi date intr-un tabel pe baza culorii unei celule.Daca cineva are o solutie ii multumesc anticipat.Atasez fisier ca si exemplu.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

csaba1960
Moderator
Moderator
Mesaje: 160
Membru din: Mie Feb 02, 2011 4:05 pm
Localitate: Cluj-Napoca

Re: Copiere continut daca celula are aceeasi culoare

Mesaj de csaba1960 » Dum Iul 29, 2018 11:48 am

Buna
In atasament ai o metoda de copiere conditionata de culoarea de fond.
Va cauta o culoare identica in trei randuri, randul curent, cel anterior si in cel urmator si intre colMIn si colMax pe care le vei specifica.

Cod: Selectaţi tot

Sub copiereConditionataDeCuloare(ii As Integer)
Dim colMax As Integer, colMin As Integer, i As Integer
Dim culoare1 As Long
culoare1 = Cells(ii, 1).Interior.Color
colMin = 8: colMax = 20
For i = colMin To colMax
    If Cells(ii - 1, i).Interior.Color = culoare1 Then
    Cells(ii, 2) = Cells(ii - 1, i + 1): Cells(ii, 3) = Cells(ii - 1, i + 2): Cells(ii, 4) = Cells(ii - 1, i + 3): Cells(ii, 5) = Cells(ii - 1, i + 4):
    End If
        If Cells(ii, i).Interior.Color = culoare1 Then
        Cells(ii, 2) = Cells(ii, i + 1): Cells(ii, 3) = Cells(ii, i + 2): Cells(ii, 4) = Cells(ii, i + 3): Cells(ii, 5) = Cells(ii, i + 4):
        End If
            If Cells(ii + 1, i).Interior.Color = culoare1 Then
            Cells(ii, 2) = Cells(ii + 1, i + 1): Cells(ii, 3) = Cells(ii + 1, i + 2): Cells(ii, 4) = Cells(ii + 1, i + 3): Cells(ii, 5) = Cells(ii + 1, i + 4):
            End If
Next
End Sub
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

amador70
Mesaje: 37
Membru din: Mie Iun 18, 2014 8:46 pm

Re: Copiere continut daca celula are aceeasi culoare

Mesaj de amador70 » Dum Iul 29, 2018 12:05 pm

Va multumesc.Lucreaza dar doar pentru randurile respective .Eu as dori sa caute in toate randurile deoarece tabelul poate avea o marime de 200 si ceva de randuri si sa copieze si textul din celula colorata deoarece acesta se poate schimba.

csaba1960
Moderator
Moderator
Mesaje: 160
Membru din: Mie Feb 02, 2011 4:05 pm
Localitate: Cluj-Napoca

Re: Copiere continut daca celula are aceeasi culoare

Mesaj de csaba1960 » Lun Iul 30, 2018 6:37 am

Versiunea din atasament lucreaza de la randul iMin pana la randul iMax.
Cu observatia, ca daca exista in tabelul de unde se copiaza doua randuri de acelasi culoare o sa fie copiata doar continutul ultimului rand.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

amador70
Mesaje: 37
Membru din: Mie Iun 18, 2014 8:46 pm

Re: Copiere continut daca celula are aceeasi culoare

Mesaj de amador70 » Lun Iul 30, 2018 10:11 am

Ultima varianta la mine in excel 2016 nu merge, primesc erooare ''argument not optional" Atasez un nou fisier cu referire la celula colorata.Va multumesc.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

csaba1960
Moderator
Moderator
Mesaje: 160
Membru din: Mie Feb 02, 2011 4:05 pm
Localitate: Cluj-Napoca

Re: Copiere continut daca celula are aceeasi culoare

Mesaj de csaba1960 » Lun Iul 30, 2018 12:47 pm

Daca incerci rutina test va merge.
Pentru a evita confuzia era prezent si versiune a noua si versiune veche am pus si un buton.

Din fisierul 2, daca inteleg eu bine, ar fi vorba despre o serie de minitabele, cu patternul urmator.
Corpul tabelului (fara antet si fara total) este format din doua randuri, si in acelasi rand undeva in drepta este tabelul din care se iau datele. In tabelul sursa nu este obligatoriu acelasi culoare de fond in acelasi rand.
Corpul fiecarui microtabel incepe cu un text<>"" si se termina cu un text care incepe cu total.
Rutina ar trebui sa transpuna datele din tabelul sursa paralel in functie de coloarea de fond.

Tabelul se ultimul rand in care in coloana 1 este text.

Am inteles bine?
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

csaba1960
Moderator
Moderator
Mesaje: 160
Membru din: Mie Feb 02, 2011 4:05 pm
Localitate: Cluj-Napoca

Re: Copiere continut daca celula are aceeasi culoare

Mesaj de csaba1960 » Lun Iul 30, 2018 5:40 pm

Aceasta in mare respecta conditiile de mai sus.
Mai putin conditia de oprire, capat tabel, care este randul ultimei celule nenule din coloana 1.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

amador70
Mesaje: 37
Membru din: Mie Iun 18, 2014 8:46 pm

Re: Copiere continut daca celula are aceeasi culoare

Mesaj de amador70 » Lun Iul 30, 2018 9:38 pm

si se poate copia si textul din celula colorata?

amador70
Mesaje: 37
Membru din: Mie Iun 18, 2014 8:46 pm

Re: Copiere continut daca celula are aceeasi culoare

Mesaj de amador70 » Lun Iul 30, 2018 9:55 pm

pentru celulele tin tabel lucreaza, dar am nevoie sa copieze si textul din celula colorata

csaba1960
Moderator
Moderator
Mesaje: 160
Membru din: Mie Feb 02, 2011 4:05 pm
Localitate: Cluj-Napoca

Re: Copiere continut daca celula are aceeasi culoare

Mesaj de csaba1960 » Mar Iul 31, 2018 8:21 am

Buna
Versiunea noua in atasament.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Scrie răspuns

Înapoi la “Visual Basic for Application (VBA) cu Excel - Intrebari tehnice”