汎用機メモっとくか

しごと用の(学習メモ&お気に入り保存)。

【下準備】VBScriptで2^32シフト。多桁計算のかけ算。

2018年05月08日 02時27分40秒 | WSH

VBAでDecimal型使えば、簡単です。

VBScriptで実行するには、どうするか?の、試行でございま~す。

<Sheet Setting マクロ>

Sub set_formula()
Range("A1").Formula = "=2^32-1"
Range("B1").Formula = "=DEC2HEX(A1,10)"
Range("C1").Formula = "=HEX2BIN(MID($B$1,3,2),8)"
Range("D1").Formula = "=HEX2BIN(MID($B$1,5,2),8)"
Range("E1").Formula = "=HEX2BIN(MID($B$1,7,2),8)"
Range("F1").Formula = "=HEX2BIN(MID($B$1,9,2),8)"

Range("C2").Formula = "=BIN2DEC(C1)"
Range("D2").Formula = "=BIN2DEC(D1)"
Range("E2").Formula = "=BIN2DEC(E1)"
Range("F2").Formula = "=BIN2DEC(F1)"

Range("C4").Formula = "=C2*2^24"
Range("D4").Formula = "=D2*2^16"
Range("E4").Formula = "=E2*2^8"
Range("F4").Formula = "=F2"
Range("G4").Formula = "=SUM(C4:F4)"

Range("C7").Formula = "=2^32"
Range("D7").Formula = "=RIGHT(REPT(0,14)&C7,14)"

Range("C8").Formula = "=LEN(C7)"

Range("C8").Formula = "=G4"
Range("D8").Formula = "=RIGHT(REPT(0,14)&C8,14)"

'2^32固定
Range("D11").Formula = "=LEFT(D7,7)"
Range("E11").Formula = "=RIGHT(D7,7)"

Range("D12").Formula = "=LEFT(D8,7)"
Range("E12").Formula = "=RIGHT(D8,7)"

Range("E14").Formula = "=RIGHT(REPT(""0"",14)&(E11*E12),14)"

Range("D15").Formula = "=LEFT(E14,7)"
Range("E15").Formula = "=RIGHT(E14,7)"

Range("D16").Formula = "=RIGHT(REPT(""0"",14)&(D11*E12),14)"

Range("C17").Formula = "=LEFT(D16,7)"
Range("D17").Formula = "=RIGHT(D16,7)"

Range("D19").Formula = "=RIGHT(REPT(""0"",14)&(E11*D12),14)"

Range("C20").Formula = "=LEFT(D19,7)"
Range("D20").Formula = "=RIGHT(D19,7)"

Range("C22").Formula = "=RIGHT(REPT(""0"",14)&(D11*D12),14)"

Range("B23").Formula = "=LEFT(C22,7)"
Range("C23").Formula = "=RIGHT(C22,7)"

Range("D25").Formula = "=RIGHT(REPT(""0"",14)&(D15+D17+D20),14)"

Range("C26").Formula = "=LEFT(D25,7)"
Range("D26").Formula = "=RIGHT(D25,7)"

Range("C28").Formula = "=RIGHT(REPT(""0"",14)&(C17+C20+C23+C26),14)"

Range("B29").Formula = "=LEFT(C28,7)"
Range("C29").Formula = "=RIGHT(C28,7)"

Range("E30").Formula = "=C29&D26&E15"

Range("C7:D7").Interior.ColorIndex = 33
Range("D11:E11").Interior.ColorIndex = 33

Range("G4").Interior.ColorIndex = 43
Range("C8:D8").Interior.ColorIndex = 43
Range("D12:E12").Interior.ColorIndex = 43

Range("E14:F14").Interior.ColorIndex = 4
Range("D16").Interior.ColorIndex = 4
Range("D19").Interior.ColorIndex = 4
Range("C22").Interior.ColorIndex = 4

Range("D15:E15").Interior.ColorIndex = 6
Range("C17:D17").Interior.ColorIndex = 6
Range("C20:D20").Interior.ColorIndex = 6
Range("B23:C23").Interior.ColorIndex = 6

Range("D25").Interior.ColorIndex = 8
Range("C28").Interior.ColorIndex = 8

Range("C26:D26").Interior.ColorIndex = 39
Range("B29:C29").Interior.ColorIndex = 39

Range("E30:G30").Interior.ColorIndex = 40

End Sub


打ち込み用

 

A1 =2^32-1
B1 =DEC2HEX(A1,10)
C1 =HEX2BIN(MID($B$1,3,2),8)
D1 =HEX2BIN(MID($B$1,5,2),8)
E1 =HEX2BIN(MID($B$1,7,2),8)
F1 =HEX2BIN(MID($B$1,9,2),8)

C2 =BIN2DEC(C1)

D2 =BIN2DEC(D1)
E2 =BIN2DEC(E1)
F2 =BIN2DEC(F1)

C4 =C2*2^24

D4 =D2*2^16
E4 =E2*2^8
F4 =F2
G4 =SUM(C4:F4)

C7 =2^32

D7 =RIGHT(REPT(0,14)&C7,14)

C8 =LEN(C7)

C8 =G4

D8 =RIGHT(REPT(0,14)&C9,14)

 

2^32固定
D11 =LEFT(D7,7)
E11 =RIGHT(D7,7)

 

D12 =LEFT(D9,7)
E12 =RIGHT(D9,7)

 

E14 =RIGHT(REPT("0",14)&(E11*E12),14)

 

D15 =LEFT(E14,7)
E15 =RIGHT(E14,7)

 

D16 =RIGHT(REPT("0",14)&(D11*E12),14)

 

C17 =LEFT(D16,7)
D17 =RIGHT(D16,7)

 

D19 =RIGHT(REPT("0",14)&(E11*D12),14)

 

C20 =LEFT(D19,7)
D20 =RIGHT(D19,7)

 

C22 =RIGHT(REPT("0",14)&(D11*D12),14)

 

B23 =LEFT(C22,7)
C23 =RIGHT(C22,7)

 

D25 =RIGHT(REPT("0",14)&(D15+D17+D20),14)

 

C26 =LEFT(D25,7)
D26 =RIGHT(D25,7)

 

C28 =RIGHT(REPT("0",14)&(C17+C20+C23+C26),14)

 

B29 =LEFT(C28,7)
C29 =RIGHT(C28,7)

 

E30 =C29&D26&E15


 

Sub a001()
  Dim a01 As Variant
  Dim a02 As Variant
  Dim a03 As Variant

  a01 = CDec(2 ^ 32 - 1)
  a02 = CDec(2 ^ 32)
  a03 = a02 * a01
  Debug.Print CStr(a03)
End Sub