92 92 :
" " , 5 (w1..w5) Set 5 (Sht1..Sht5), :
# 1:
DefObj W
Sub wSet1()
Dim w1, w2, w3, w4, w5
Set w1=[Sht1]:Set w2=[Sht2]:Set w3=[Sht3]:Set w4=[Sht4]:Set w5=[Sht5]
End Sub
... , , , , 92 Set 92 ? :
# 2:
DefObj W
Sub wSet2():Dim wks(1To 92),x:For x=1To 92:Set wks(x)=Sheets("Sht"&x):Next x:End Sub
( 92 ... !)
:
. . " " .
:. , . , , ( ), .
, " ", ! , " ", , . , , , , , . ; . , , , , , :
. ( [MCVE]!) , !... , , , ... !
โ DefObj ( )
[Deftype statements][1] are a forgotten method of declaring default data types. Normally, the default data type is [`Variant`][2], so this:
Dim myVariable as Variant
... :
Dim myVariable
... DefObj W ( ) :
, , , "W" , Object ( ). , Deftypes ( Sub).
: ( )
DefBool DefByte DefCur DefDate DefDbl DefDec DefInt DefLng DefSng DefStr DefObj DefVar
โ , ( Dim)
Dim , . :
Sub mySub()
Dim myVariable1 as Currency
Dim myVariable2 as Currency
โฆ
... : ( Deftypes)
DefCur m
Sub mySub()
Dim myVariable1, myVariable1
โฆ
โ Sheets ( "" )
WorkSheets Worksheet .
Charts Object` ** .
- **
Sheets refers to ***both*** the *and* .
, 3 2 , VBA:
Sheets.Count 5
Worksheets.Count 3
: Sheets , ( ). , , Work Sheets.
โ [ ] ( )
[ ] , . > . A1 Reference Style, Range. "Range" .
Worksheets("Sheet1").[A1:B5].ClearContents
[MyRange].Value = 30
, , , , . .
, , :
Worksheets("Sheet1").Range("A1") = Now()
Sheets("Sheet1").Range("A1") = Now()
Worksheets("Sheet1").[A1] = Now()
Sheets("Sheet1").[A1] = Now()
[Sheet1].[A1] = Now()
โ wks() ( )
, ( ) . , , , Object, Worksheet. (... , LongLong IConverterApplicationPreferences. (-, , .)
โ For..Set..Next (Loop )
( ) , .
:
# 1 , , . S1..S5 oh-so-lengthy Sht1..Sht5, :, 105 :
# 1b:
DefObj W
Sub wSet():Dim w1,w2,w3,w4,w5:Set w1=[S1]:Set w2=[S2]:Set w3=[S3]:Set w4=[S4]:Set w5=[S5]:End Sub
1974 : , Gary Kildall CP/M
SymbolโโData TypeโโConstant โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
% Integer vbInteger = 2
$ String vbString = 8
& Long vbLong = 3
@ Decimal vbDecimal = 6
! Single vbSingle = 4
# Double vbDouble = 5
, , , :
Dim myVariable as String
Dim myVariable$
: