Documente Academic
Documente Profesional
Documente Cultură
OneDimension = False
If R > 1 Then
If C > 1 Then
ReDim Arr(1 To R, 1 To C)
Else
ReDim Arr(1 To R): OneDimension = True
End If
Else
ReDim Arr(1 To C): OneDimension = True
End If
If OneDimension Then
If R > 1 Then
For i = 1 To R
Arr(i) = rng(i)
Next i
Else
For i = 1 To C
Arr(i) = rng(i)
Next i
End If
Else
For i = 1 To R
For j = 1 To C
Arr(i, j) = rng(i, j)
Next j
Next i
End If
If OneDimension Then
TestVariant = WorksheetFunction.Transpose(Arr)
Else
TestVariant = Arr
End If
End Function
10
11
12
5
6
7. Inserai formula TestVariant n celula D1
cu argumentul A1:C4.
8. Transformai plaja de celule D1:F4 ntr-o
formul matrice cum am vzut n
laboratorul 3.
9. Inserai n alte celule formula
TestVariant dar selectnd doar un vector
ca argument.
10. Adugai un punct de oprire n linia End
Function i adugai variabila TestVariant
la fereastra Watch cu comanda Add
Watch. Rulai codul pentru a vedea cum
este returnat tabloul Arr n cazul unui
vector, sau n cazul unui tablou cu dou
dimensiuni.
Observaii
Remarcm c att tabloul noastr Arr() l-am definit ca Variant, ct i funcia ScaleArr.
Dac declarm tabloul Arr() ca Variant putem face operaia de atribuire Arr = rng. Dac tabloul Arr() nu este
declarat ca Variant, la atribuirea Arr = rng, se produce o eroare.
Produsul a 2 matrice
i := 1
j := 1
cij := 0
k := 1
k := k + 1
k j+1
n
j :=
j := j + 1
jp
i := i + 1
im
Observaii
Daca matricele care se nmulesc sunt A(m,n) i B(n,p), matricea rezultant C=AB va fi de rang (m,p).
a1,1
a2,1
M
am,1
a1, 2
a2, 2
L
am , 2
L
L
O
L
a1, n1
a2,n 1
M
am ,n 1
a1,n
a2, n
M
am ,n
b1,1
b2,1
M
bn1,1
b
n,1
b1, 2
b2, 2
M
bn1, 2
bn, 2
L
L
O
L
L
b1, p
c
b2, p 1,1
c
M = 2,1
M
bn 1, p
c
bn , p m,1
c1, 2
c2 , 2
M
cm , 2
L
L
O
L
c1, p
c2, p
M
cm , p
=
=
=
=
rng1.Rows.Count
rng1.Columns.Count
rng2.Rows.Count
rng2.Columns.Count
Automatizarea Excel:
1. Lansai comanda Macros din meniul
Tools, grupul Macro.
2. n fereastra Macros, tastai TestMacro
n caseta Macro name: i clic Create.
3. Adugai codul alturat n subrutina
TestMacro i lansai comanda Compile
VBAProject din meniul Debug pentru a
corecta erorile.
4. Aranjai ferestrele Excel i VBA astfel
nct s fie ambele vizibile pe ecran.
5. Adugai un punct de oprire n linia
Texte(1, 1) i executai codul pas cu
pas cu combinaia de taste SHIFT+F8.
Bonus
ncrcai documentul Excel tetris.xls i Apsai butonul Play Game.