- 締切済み
excelVBAでX進法のマクロを作る方法
cj_moverの回答
- cj_mover
- ベストアンサー率76% (292/381)
一例です。 ' ' ===============♪ ' ' 'シートの列番地'同様の規則でシリアルコードを振る。 ' ' A列に'数字の代わりに使う文字'一文字ずつ ' ' 設定されたセルがふたつ以上あること 要。 ' ' それらがいくつあるかで基数を規定。 ' ' 全半角0や '^ などの制御記号は不可。(重複未処理)(一文字でないセル、可=無視) ' ' 他、可読性重視、エラー処理略。 ' ' n = (n - 1) \ 基数 →ベター→ n = Int((n - 1) / 基数) Sub re7529645() Dim 最大値 As Long 最大値 = 1000 '←任意指定 Dim 暗号リスト As String, ret As String Dim 最下行 As Long, 基数 As Long, 行ずれ As Long, 十進数 As Long Dim i As Long, n As Long 最下行 = Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To 最下行 If Cells(i, 1) Like "?" Then 暗号リスト = 暗号リスト & Cells(i, 1) Next i ' ' ↑A列一文字セルの値を連結して ' ' 数字の代りになる文字列群を採る 基数 = Len(暗号リスト) 行ずれ = 最下行 - 基数 ' ' ↓数字に対応した暗号リストを使って ' ' ↓シリアルコードを展開 For 十進数 = 基数 + 1 To 最大値 n = 十進数 Do ret = Mid$(暗号リスト, (n - 1) Mod 基数 + 1, 1) & ret n = (n - 1) \ 基数 Loop While n > 0 Cells(十進数 + 行ずれ, 1) = ret ret = "" Next 十進数 End Sub ' ' ===============♪ こんにちは 参考の為に過去のご質問を拝見したところ ステップ実行&トレースはお出来になるようなので敢えて解説は添えません。 Do...Loop内の2行、読み込んでモノにしちゃってください。 変数 n :何を表し、どう変化するか (n - 1) Mod 基数 :剰余の求め方、何故 - 1 ? n = (n - 1) \ 基数 :商の求め方、何故 - 1 ? こちらでニーズを把握しきれてない気もしますが、 わりとメジャーなロジックですし、応用できる場面が多々あるとは思います。 それでは、また
関連するQ&A
- エクセルのマクロについて教えてください。
エクセルのマクロについて教えてください。 a b c d A 1 2 3 4 B 5 6 7 8 ↓ aA1 bA2 cA3 dA4 aB5 bB6 cB7 dB8 という並びになるようにしたいので、よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- 因数分解で解けない問題があります。
因数分解で解けない問題があります。 a(b-c)^2+b(c-a)^2+c(a-b)^2+8abcという問題です。 =(b-c)^2+b(c^2-2ca+a^2)+c(a^2-2ab+b^2)+8abc =(b-c)^2+bc^2-2cab+ba^2+ca^2-2abc+cb^2+8abc =(b-c)^2+(ba+ca-2bc-2bc+8bc)a+bc^2+cb^2 ここまで解いてみたのですが、この続きが分りません。詳しく説明していただければありがたいです。すみませんがお願いします。
- ベストアンサー
- 数学・算数
- 一部のフォルダのみ複製(コピー)する方法
下記のようなフォルダ構造があります(ABC…フォルダ内にそれぞれ2つずつフォルダが入れ子になっています)。 AーAa ∟Ab BーBa ∟Bb CーCa ∟Cb … ここから、下記のようなフォルダ構造のみを「複製(コピー)」したいと考えています。 AーAa BーBa CーCa … 実際はABCだけでなく複数フォルダが存在しており、これらを一括で上記フォルダ構造に複製できるプログラム・方法を探しております。 何か良いアイディアはございませんでしょうか。何卒よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- にゃんこ先生の自作問題、4実数a,b,c,dとその基本対称式の符号の可能性
にゃんこ先生といいます。 3実数a,b,cと、基本対称式a+b+c,ab+bc+ca,abcにおいて、その符号の可能性を下のように調べました。 a,b,cの符号が分かると、abcの符号は一通りに決まるので、それは省略します。 a>0,b>0,c>0ならばa+b+c>0,ab+bc+ca>0 a>0,b>0,c<0でa+b+c>0,ab+bc+ca>0の例:a=3,b=3,c=-1 a>0,b>0,c<0でa+b+c>0,ab+bc+ca<0の例:a=1,b=1,c=-1 a>0,b>0,c<0でa+b+c<0,ab+bc+ca<0の例:a=1,b=1,c=-3 a>0,b>0,c<0でa+b+c<0,ab+bc+ca>0はありえない。 a>0,b<0,c<0でa+b+c>0,ab+bc+ca>0はありえない。 a>0,b<0,c<0でa+b+c>0,ab+bc+ca<0の例:a=3,b=-1,c=-1 a>0,b<0,c<0でa+b+c<0,ab+bc+ca>0の例:a=1,b=-3,c=-3 a>0,b<0,c<0でa+b+c<0,ab+bc+ca<0の例:a=1,b=-1,c=-1 a<0,b<0,c<0ならばa+b+c<0,ab+bc+ca>0 では、4実数a,b,c,dと、基本対称式a+b+c+d,abc+abd+acd+bcd,ab+ac+ad+bc+bd+cd,abcd(これは省略する)において、その符号の可能性はどうなるのでしょうか?
- ベストアンサー
- 数学・算数
- エクセルで最後行に入力したデーターを自動で別の(ファイル)シートの任意の場所に自動で転記できるようにしたいのですが・・。
全くの初心者です。よろしくお願いします。 初心者にもかかわらず無謀にもエクセルで最後行に入力したデーターを自動で別の(ファイル)シートの任意の場所に自動で転記し、上下が逆になる形にしたいと思います。 例) A B C D E F 1 a aa ab ac ad 2 b ba bb bc bd 3 c ca cb cc cd 4 d da db dc dd 行4に d da db dc ddを入力すると A B C D E F E 1 2 3 d da db dc dd 4 c ca cb cc cd 5 b ba bb bc bd 6 a aa ab ac ad 別(ファイル)シートの任意の場所へ挿入する形で転記され、入力のシートとは上下が逆になる。 何かよい方法がありましたら、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 配向テンソルについて
0点から座標(a,b,c)に配向している繊維の配向テンソルを求めると |a| |a^2 ab ac | |b|(a、b、c)=|ba b^2 bc | |c| |ca cb c^2| となるようですが、なぜ |a| (a,b,c)|b|=(a^2、b^2、c^2) |c| とはならないのでしょうか? すみませんがよろしくお願いいたします。
- ベストアンサー
- 物理学
- グラフの作成
エクセル表は色んなものを作ってきましたが、それに付随するグラフを作りたいのですが、中々思うようにできません。 分類A 分類B 値 A AA 10 A AA 20 A AB 10 A AC 10 A AB 10 B BA 10 B BC 10 B BD 5 C CA 10 C CA 20 C CB 10 C CC 10 D DA 5 D DA 3 D DB 2 と言うエクセル表を分類AのAからDまでの4分割の合計値の円グラフと、分類Bの12分割の合計の円グラフを書きたいのですが・・・ このエクセル表からはグラフは書けませんか? 一度分類ごとに合計を出したエクセル表からはできるのですが、元の表からグラフにできませんか? 何せPCに疎く、独学でやってますので限界があります。 よろしく御指導ください。
- 締切済み
- オフィス系ソフト