[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『16進数』(A)
7桁の番号を16進数表示(bと6を外して)簡単にできないでしょうか?
0000001 0000002 0000003 0000004 0000005 0000007 0000008 0000009 000000a 000000c 000000d 000000e 000000f 0000010
こんな感じで作成していきたいのですが
ふつう 0〜9で10進数 0〜1で2進数 0〜7で8進数 0〜Fで16進数
これもふつうに考えると0から数えるわけだけど、 2つ使わないから14進数で表したいということ?
例えば1234567という番号だったら、241ED5としたいということ?
(ramrun)
Sub testHex()
Dim j As Integer, k As Integer
k = 1
For j = 8192 To 12014 Cells(k, 1) = j Cells(k, 2) = "'000" & Hex(j) k = k + 1 Next j
End Sub
> 以前ここで掲載されていた下記のマクロ... それらしきマクロが見当たりません...。 (検索下手・kazu)
ファンクションにしたら、めっさ時間かかります。 (ramrun)
たぶんこれです。しかもkazuさん(笑)。
https://www.excel.studio-kazu.jp/z_old_log/13.html#u2129
Sub testHex() Dim j As Long, k As Long k = 1 For j = 8192 To 12014 Cells(k, 1) = j Cells(k, 2) = "'" & dec(j) k = k + 1 Next j End Sub
Function dec(ByVal c As Long) As String Dim ary As Variant Dim d As Long, buf As String ary = Array("0", "1", "2", "3", "4", "5", _ "7", "8", "9", "A", "C", "D", "E", "F") Do d = Int(c / 14) buf = buf & ary(c - d * 14) c = d Loop While (c > 0) buf = buf & Mid("0000000", 1, 7 - Len(buf)) For n = Len(buf) To 1 Step -1 dec = dec & Mid(buf, n, 1) Next n End Function
14進法でしたら、解決済みですが、このようなことでもよいかもしれません。 (LOOKUP) =IF(A1="","", MID("012345789acdef",MOD(A1/14^6,14)+1,1) &MID("012345789acdef",MOD(A1/14^5,14)+1,1) &MID("012345789acdef",MOD(A1/14^4,14)+1,1) &MID("012345789acdef",MOD(A1/14^3,14)+1,1) &MID("012345789acdef",MOD(A1/14^2,14)+1,1) &MID("012345789acdef",MOD(A1/14,14)+1,1) &MID("012345789acdef",MOD(A1,14)+1,1))
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.