Mariusz Z.

Mariusz Z. Główny Specjalista
ds. Monitorowania
Wskaźników

Temat: Makro

Witam potrzebuje napisać makro które robi :
Dane Podstawowe:

Nazwisko Produkt Cena
Kowalski_1 Produkt_1 2
Kowalski_1 Produk_2 4
Kowalski_2 Produkt_1 2
Kowalski_2 Produk_2 4
Kowalski_3 Produkt_1 2
Kowalski_4 Produkt_1 2
Kowalski_5 Produkt_1 2
Kowalski_6 Produkt_1 2
Kowalski_7 Produkt_1 2
Kowalski_8 Produkt_1 2
Kowalski_9 Produkt_1 2
Kowalski_10 Produkt_1 2
Kowalski_11 Produkt_1 2
Kowalski_12 Produkt_1 2

Sumę po cenie, według produktu dla danego Nazwiska

Nazwisko Produkt_1 Produkt_2
Kowalski_1 2 4
Kowalski_2 2 4
Kowalski_3 2 0
Kowalski_4 2 0
Kowalski_5 2 0
Kowalski_6 2 0
Kowalski_7 2 0
Kowalski_8 2 0
Kowalski_9 2 0
Kowalski_10 2 0
Kowalski_11 2 0
Kowalski_12 2 0

Z góry dziękuję za pomoc.

konto usunięte

Temat: Makro

Do tego nadaje się i to bardzo skutecznie tabelka przestawna... Próbował Pan ? Czy interesuje Pana tylko makro ? Pozdrawiam.Darek J. edytował(a) ten post dnia 16.03.12 o godzinie 15:20
Mariusz Z.

Mariusz Z. Główny Specjalista
ds. Monitorowania
Wskaźników

Temat: Makro

Właśnie chodzi mi tylko i wyłącznie o makro.
Pozdrawiam

konto usunięte

Temat: Makro

są tylko dwa produkty ?Darek J. edytował(a) ten post dnia 16.03.12 o godzinie 15:26
Mariusz Z.

Mariusz Z. Główny Specjalista
ds. Monitorowania
Wskaźników

Temat: Makro

Dla przykładu podałem 2 produkty.

konto usunięte

Temat: Makro

OK,
więc zakładając, że Pana dane zaczynają się od A1 oraz są dwa produkty, wystarczy takie makro:

Sub Unikaty()
Dim No As New Collection
Dim i&, x&, tbl(), tbl1()

For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
On Error Resume Next
No.Add 1, CStr(Cells(i, 1).Value)
If Err.Number = 0 Then
x = x + 1
ReDim Preserve tbl(1 To x)
tbl(x) = Cells(i, 1).Value
End If
ReDim Preserve tbl1(1 To 2, 1 To x)
tbl1(Right(Cells(i, 2).Value, 1), x) = Cells(i, 3).Value
On Error GoTo 0
Next i

Cells(1, 9).Value = "Produkt_1"
Cells(1, 10).Value = "Produkt_2"
Cells(2, 8).Resize(UBound(tbl)) = Application.Transpose(tbl)
Cells(2, 9).Resize(x, 2) = Application.Transpose(tbl1)
End Sub

Da się je przerobić na większą ilość produktów, pozdrawiam.Darek J. edytował(a) ten post dnia 16.03.12 o godzinie 17:43
Mariusz Z.

Mariusz Z. Główny Specjalista
ds. Monitorowania
Wskaźników

Temat: Makro

Bardzo dziękuję za pomoc.
Temat uważam za zamknięty.



Wyślij zaproszenie do