Code:
Sub RangeObjectsDefaultPropertiesCells() ' https://www.excelfox.com/forum/showthread.php/2914-Tests-and-Notes-on-Range-objects-in-Excel-Cell?p=23181&viewfull=1#post23181
Rem 0 ' Test data range
Dim Ws12 As Worksheet: Set Ws12 = ThisWorkbook.Worksheets.Item("Sheet1 (2)")
Ws12.Range("A80:D80").Clear ' .Clear to get rid of all valiues and any formats
Ws12.Range("A69:B69").Clear
Let Ws12.Range("A69").Value = Split("44") ' ' Gives Number held as text thing
Let Ws12.Range("B69").Value = "42" ' does not gives "
Rem 1
Dim Rng As Range
Set Rng = Ws12.Range("A69:B69") ' Watch : + : Rng : : Range/Range : Sheet2.RangeObjectsDefaultPropertiesCells
' + : Value2 : : Variant/Variant(1 to 1, 1 to 2) : Sheet2.RangeObjectsDefaultPropertiesCells
' + : Value2(1) : : Variant(1 to 2) : Sheet2.RangeObjectsDefaultPropertiesCells
' : Value2(1,1) : "44" : Variant/String : Sheet2.RangeObjectsDefaultPropertiesCells
' : Value2(1,2) : 42 : Variant/Double : Sheet2.RangeObjectsDefaultPropertiesCells
Debug.Print VarTyp(VarType(Rng)) ' Array of Variant type Elements
Dim vTemp As Variant, Str As String
Let vTemp = Rng ' Watch : + : vTemp : : Variant/Variant(1 to 1, 1 to 2) : Sheet2.RangeObjectsDefaultPropertiesCells
' + : vTemp(1) : : Variant(1 to 2) : Sheet2.RangeObjectsDefaultPropertiesCells
' : vTemp(1,1) : "44" : Variant/String : Sheet2.RangeObjectsDefaultPropertiesCells
' : vTemp(1,2) : 42 : Variant/Double : Sheet2.RangeObjectsDefaultPropertiesCells
' Let Str = Rng ' Runtime error 14 Type mismatch
Rem 2
Let Ws12.Range("A80") = Rng: Ws12.Range("A80").Value = Rng ' Nothing seems to have been done
Debug.Print VarType(Ws12.Range("A80")) ' 0
Debug.Print VarType(Ws12.Range("A80").Value) ' 0
Debug.Print VarTyp(VarType(Ws12.Range("A80"))) ' Empty
Debug.Print VarTyp(VarType(Ws12.Range("A80").Value)) ' Empty
' Note that we see an empty space here : https://i.postimg.cc/sgdHWZc7/Range-A69-B69.jpg https://i.postimg.cc/sgdHWZc7/Range-A69-B69.jpg
Let Ws12.Range("A81") = Rng.Value ' Watch : + : Ws12.Range("A81") : 44 : Object/Range : Sheet2.RangeObjectsDefaultPropertiesCells
Ws12.Range("A81").Clear
Ws12.Range("A81").Value = Rng.Value ' Watch : : Range("A81").Value : 44 : Variant/Double : Sheet2.RangeObjectsDefaultPropertiesCells
Debug.Print VarTyp(VarType(Ws12.Range("A81").Value)) ' Double-precision floating-point number
Debug.Print VarTyp(VarType(Rng.Value)) ' Array of Variant type Elements
Let Ws12.Range("A82").Value = Rng.Value(RangeValueDataType:=xlRangeValueDefault)
' Watch : : Ws12.Range("A82").Value : 44 : Variant/Double : Sheet2.RangeObjectsDefaultPropertiesCells
' Watch : + : Rng.Value(RangeValueDataType:=xlRangeValueDefault) : : Variant/Variant(1 to 1, 1 to 2) : Sheet2.RangeObjectsDefaultPropertiesCells
' + : Rng.Value(RangeValueDataType:=xlRangeValueDefault)(1) : : Variant(1 to 2) : Sheet2.RangeObjectsDefaultPropertiesCells
' : Rng.Value(RangeValueDataType:=xlRangeValueDefault)(1,1) : "44" : Variant/String : Sheet2.RangeObjectsDefaultPropertiesCells
' : Rng.Value(RangeValueDataType:=xlRangeValueDefault)(1,2) : 42 : Variant/Double : Sheet2.RangeObjectsDefaultPropertiesCells
Ws12.Range("A82").Clear: Ws12.Range("A82") = Rng.Value(RangeValueDataType:=xlRangeValueDefault)
' Watch : + : Ws12.Range("A82") : 44 : Object/Range : Sheet2.RangeObjectsDefaultPropertiesCells
Let Ws12.Range("A83").Value = Rng.Value(RangeValueDataType:=xlRangeValueXMLSpreadsheet)
' Watch : : Ws12.Range("A83").Value : " : Varinat/String
'
'
' xmlns: o = "urn:schemas-microsoft"
' ... etc.
Let Ws12.Range("A83").WrapText = False: Ws12.Range("A83").Clear
Let Ws12.Range("A83") = Rng.Value(RangeValueDataType:=xlRangeValueXMLSpreadsheet): Let Ws12.Range("A83").WrapText = False
' Watch : + : Ws12.Range("A83") : " : Variant/String
'
'
' xmlns: o = "urn:schemas-microsoft-com:o"
'
'
' Watch : : Rng.Value(RangeValueDataType:=xlRangeValueXMLSpreadsheet) : "
'
' ' Strange its not showing an array
Let Ws12.Range("A84:B84") = Rng.Value(RangeValueDataType:=xlRangeValueXMLSpreadsheet): Ws12.Range("A84:B84").WrapText = False
' and not producing one either - It puts the same value in both cells
Let Ws12.Range("A84:B84").Value = Rng.Value(RangeValueDataType:=xlRangeValueXMLSpreadsheet) ' : Ws12.Range("A84:B84").WrapText = False
' (The behaviour of Range2.Value = or Range2 = making no difference is still apparant for RangeValueDataType:=xlRangeValueXMLSpreadsheet )
Ws12.Range("A84:B84").WrapText = False
Let vTemp = Rng.Value ' Watch : - : vTemp : : Variant/Variant(1 to 1, 1 to 2) : Sheet2.RangeObjectsDefaultPropertiesCells
' + : vTemp(1) : : Variant(1 to 2) : Sheet2.RangeObjectsDefaultPropertiesCells
' : vTemp(1,1) : "44" : Variant/String : Sheet2.RangeObjectsDefaultPropertiesCells
' : vTemp(1,2) : 42 : Variant/Double : Sheet2.RangeObjectsDefaultPropertiesCells
Let vTemp = Rng.Value() ' Watch as above "
Let vTemp = Rng.Value(RangeValueDataType:=xlRangeValueXMLSpreadsheet) ' Watch : : vTemp : "
'
'
' xmlns: o = "urn:schemas-microsoft-com:office:office"
' ....etc...
Debug.Print vTemp
'
'
'
'xmlns: o = "urn:schemas-microsoft-com:office:office"
'xmlns: x = "urn:schemas-microsoft-com:office:excel"
'xmlns: ss = "urn:schemas-microsoft-com:office:spreadsheet"
' xmlns:html="http://www.w3.org/TR/REC-html40">
'
'
'
'
'
'
'
'
' ss:DefaultColumnWidth="49.5">
'
'
'
' 44 |
' 42 |
'
'
'
'
Let Str = Rng.Value(RangeValueDataType:=xlRangeValueXMLSpreadsheet)
' Let Str = Rng.Value() ' Type mismatch
Let Str = Rng.Value(RangeValueDataType:=xlRangeValueMSPersistXML)
Debug.Print Str
'
'xmlns: dt = "uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
'xmlns: s = "uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
' xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
'
' 1
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
End Sub
.
.
.
https://www.youtube.com/channel/UCnxwq2aGJRbjOo_MO54oaHA
Bookmarks