Generare interval din doua coloane

tuxman
Mesaje: 43
Membru din: Sâm Ian 29, 2011 9:22 am

Generare interval din doua coloane

Mesaj de tuxman » Lun Dec 02, 2019 2:13 pm

Buna ziua !

Copiez valori din mai multe sheet-uri, in primul sheet din workbook.

In range-ul A64:A70 am valori de genul:
50
25
10

In range-ul B64:B70:
25
10
0

Vreau ca in primul sheet, in coloana N sa creez un interval, cu valorile anterioare:
50-25
25-10
10-0

Am incercat asa:

Cod: Selectaţi tot

For i = 64 To 70 Step 1
A = ws.Range("A" & i).Value
B = ws.Range("B" & i).Value
Sheets("Centralizator").Range("N" & lRow).Value = A & "-" & B

Next i
Dar nu returneaza decat "-" in coloana N.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

IPP
Moderator
Moderator
Mesaje: 4197
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Generare interval din doua coloane

Mesaj de IPP » Mar Dec 03, 2019 7:55 am

Buna ziua

Cel putin in fisierul atasat de dvs., pe coloanele A si B din foaia Centralizator nu exista valori numere ci din când in când informatie de tip text, altfel nimic. In ultimul caz e normal asadar sa va arate doar -

Pe de alta parte, fragmentul de cod din mesajul dvs. e inutilizabil in aceasta forma pentru ca lipseste definirea pentru ws respectiv lRow. De asemenea, poate ma insel, nici locul unde urmeaza sa fie scrisa informatia rezultata nu mi se pare ca ar trebui setat asa. Mai logic ar fi sa fie pe acelasi rand cu rândul de unde au fost luate valorile sursa, nu?

IP

tuxman
Mesaje: 43
Membru din: Sâm Ian 29, 2011 9:22 am

Re: Generare interval din doua coloane

Mesaj de tuxman » Mar Dec 03, 2019 10:22 am

Buna dimineata,

Vreau sa copiez anumite campuri din toate sheet-urile, in sheet-ul "Centralizator".
De exemplu: valorile din range-ul E83:E89 din toate sheet-urile, se vor copia in coloana D, din "Centralizator".
Copierea decurge ok, cu o singura exceptie.

Exceptia este la copierea datelor din A64:A70 si B64:B70, pentru ca vreau sa pun "-" intre ele, si rezultatul sa il copiez in coloana "O"
De exemplu : daca A64="50", B64="25", atunci in coloana "O" ar trebui sa am "50-25".
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

IPP
Moderator
Moderator
Mesaje: 4197
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Generare interval din doua coloane

Mesaj de IPP » Mar Dec 03, 2019 12:14 pm

Buna ziua

Testati fisierul atasat in care am completat o parte din cod sub forma:

Cod: Selectaţi tot

For i = 64 To 70 Step 1
  A = ws.Range("A" & i).Value
  B = ws.Range("B" & i).Value
  Sheets("Centralizator").Range("O" & lRow).Value = "'" & A & "-" & B
 lRow = lRow + 1

Next i
lRow = lRow - 7

Modificarea a fost facuta in ceea ce priveste valorea luata de variabila lRow fara de care informatia noua era mereu suprascrisa pe un anumit rand, respectiv revenirea la lRow initial in vederea scrierii restului de informatie.

apostroful care precede informatia concatenata este pentru a preintampina aparitia unor valori pe care Excel sa le interpreteze ca fiind data calendaristica si implicit sa le modifice/converteasca, rezultand o informatie eronata

IP
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

tuxman
Mesaje: 43
Membru din: Sâm Ian 29, 2011 9:22 am

Re: Generare interval din doua coloane

Mesaj de tuxman » Mar Dec 03, 2019 12:33 pm

Buna ziua,

Merge foarte bine ! Multumesc mult !


Numai bine !

Scrie răspuns

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