napisał: Fantek postów: 3
umieszczony: 31 maja 2005 07:22
|
|
Dzięki za rade, na przyszłość się poprawię :D |
|
napisał: admin postów: 613
umieszczony: 26 maja 2005 21:02
|
|
Och, to banał.
Ale brakuje kodu funkcji o nazwie "o". Jest ona kilkatrronie wywoływana z tej procedury.
Zdaje mi sie, że ona zwraca jakeiś wartości, określane na podstawie jej agumentów (hm, właśnie się zorientowałem, że nie powiedziałem nic odkrywczego;))
Jest tam także funkcja tw, która też nie wiem co robi. Bez kodów tych funkcji nie wiem zatem, co się będzie działo.
Postaraj się na drugi raz kod VBA ująć w znaczniki kod.vba i stosuj wcięcia, bo inaczej kod jest nieczytelny. Zobacz sam:
Sub przelicz()
Dim r1, i, j, y, z, k, d
r1 = o("dane", "I", "1")
ReDim t(1 To r1)
Sheets("jk").Select
Cells.Select
Selection.ClearContents
For i = 1 To r1
t(i) = o("dane", "C", i)
Next i
Dim r
r = o("dane", "I", "2") + 3
ReDim tt(1 To r)
For i = 1 To r - 3
tt(i) = o("dane", "M", i)
Next i
tt(r - 2) = "1"
tt(r - 1) = "2"
tt(r - 0) = "3"
ReDim tg(1 To r, 1 To r1)
For i = 1 To 31
j = 8
z = o((i), "O", "2")
If (Not IsEmpty(z) And IsNumeric(z)) Then
y = o((i), "L", j)
Do While ((Not IsEmpty(y)) And IsNumeric(y))
k = zi(t, r1, o((i), "S", j))
If (k <> -1) Then
d = zi(tt, r, o((i), "B", j))
If (d = -1) Then
d = zi(tt, r, z)
End If
tg(d, k) = tg(d, k) + y
End If
j = j + 1
y = o((i), "L", j)
Loop
End If
Next i
x = tw(tt, t, r, r1, tg)
Range("A1").Activate
End Sub |
|
napisał: Fantek postów: 3
umieszczony: 25 maja 2005 08:43
|
|
Czy ktoś może mi wyjaśnić o co chodzi w poniższym makrze??? :o
Sub przelicz()
Dim r1, i, j, y, z, k, d
r1 = o("dane", "I", "1")
ReDim t(1 To r1)
Sheets("jk").Select
Cells.Select
Selection.ClearContents
For i = 1 To r1
t(i) = o("dane", "C", i)
Next i
Dim r
r = o("dane", "I", "2") + 3
ReDim tt(1 To r)
For i = 1 To r - 3
tt(i) = o("dane", "M", i)
Next i
tt(r - 2) = "1"
tt(r - 1) = "2"
tt(r - 0) = "3"
ReDim tg(1 To r, 1 To r1)
For i = 1 To 31
j = 8
z = o((i), "O", "2")
If (Not IsEmpty(z) And IsNumeric(z)) Then
y = o((i), "L", j)
Do While ((Not IsEmpty(y)) And IsNumeric(y))
k = zi(t, r1, o((i), "S", j))
If (k <> -1) Then
d = zi(tt, r, o((i), "B", j))
If (d = -1) Then
d = zi(tt, r, z)
End If
tg(d, k) = tg(d, k) + y
End If
j = j + 1
y = o((i), "L", j)
Loop
End If
Next i
x = tw(tt, t, r, r1, tg)
Range("A1").Activate
End Sub |
|
wstecz 1 dalej wszystkich stron: 1
|
|