
No.5ベストアンサー
- 回答日時:
No1,4です。
kintouとkintou()がかぶってますね・・・・すいません。
for i=0 to 5000
kintou(i)=除算の整数部
next
kannkaku = 5000\除算の整数部
for i=kannkaku to 5000 step kannkaku
kintou(i)=kintou(i) + 1
next
又は
除算の整数部=15100\3
kannkaku=5000/除算の整数部
for i=0 to 5000
kintou(i)=除算の整数部 + (i\kannkaku)^0
next
と、ちょっと修正させてください。
皆様、回答ありがとうございます。
このプログラムは、サーボモーターの移動量を均等にするのに使うつもりです。
全移動量、mパルスをn回に分けて移動させます。
あまりを無視すると、移動量が短くなってしまい、均等に載せないと移動量が偏ってしまいます。
あまりの載せ方で、移動量が偏りを防ぐつもりです。
早速皆様の方法を試してみます。
No.4
- 回答日時:
No2の方のを見てよーやく理解しました。
kintou(0) = 3
kintou(1) = 3
・・・・
kintou(49) = 3
kintou(50) = 4
kintou(51) = 3
・・・
ですか。
なら、
除算の整数部=15100\3
for i=0 to 5000
kintou(i)=除算の整数部
next
kintou = 5000\除算の整数部
for i=kintou to 5000 step kintou
kintou(i)=kintou(i) + 1
next
又は
除算の整数部=15100\3
kintou=5000/除算の整数部
for i=0 to 5000
kintou(i)=除算の整数部 + (i\kintou)^0
next
ですかね。
下のほうが毎回計算しているので実行速度は遅そうですが、ソースが短いと思います。
毎度ですが、試してないので改良が必要かと思います。
No.3
- 回答日時:
簡単に作ってみました。
Sub kintoh()
Dim cnt As Integer
Dim answer() As Integer
Dim gokei, kosu As Long
' 割り振る元の合計値 '
gokei = 15100
' 均等割の個数 '
kosu = 5000
' 結果配列初期化 '
ReDim answer(kosu) As Integer
For cnt = 1 To kosu
' Excelシミュレート用の出力 '
answer(cnt) = Int(cnt * gokei / kosu) - Int((cnt - 1) * gokei / kosu)
' 確認用 '
Debug.Print answer(cnt)
Next cnt
End Sub
実際に作ってみました。
上手く説明出来ませんが
貴方の式はパーペキ(パーフェクトに完璧)でした。
どのケースに於いても完全に均等に割り振れました。
ありがとうございました。
No.2
- 回答日時:
n番目の「位置」=15100÷5000×nを切り捨て
n番目の「データ」=n番目の「位置」-(n-1)番目の「位置」
では?
Pos(00)=0
Pos(01)=3
Pos(02)=6
~
Pos(49)=147
Pos(50)=151
Pos(51)=154
となりますから、
Data(01)=Pos(01)-Pos(00)=3
Data(02)=Pos(02)-Pos(01)=3
~
Data(50)=Pos(50)-Pos(49)=4
Data(51)=Pos(51)-Pos(50)=3
となるハズ。
No.1
- 回答日時:
あまりを均等に分けるのは
kintou=5000\100
for i=0 to 5000 step kintou
kintou(i) = 1
next
見たいな感じじゃないですか?
あんまり考えないで作ったので修正必要と思います。大体の考え方はこれでいいと思います。
>3333...<--3のデーターが49個50個目が1加えられて4というような。
この部分意味分からなかったので、自分でどうにかしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba textboxへの入力について教...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
Vba FileSystemObject オブジェ...
-
複数のExcelファイルをマージす...
-
【マクロ】並び替えの範囲が、...
-
エクセルのVBAコードと数式につ...
-
【マクロ】値を渡されたプロシ...
-
VBAでユーザーフォームを指定回...
-
【ExcelVBA】5万行以上のデー...
-
VBAでセルの書式を変えずに文字...
-
Web画面の文字をVB6で取得したい
-
VBAでCOPYを繰り返すと、処理が...
-
VBA ユーザーフォーム ボタンク...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
【マクロ】開いているブックの...
-
エクセルのマクロについて教え...
-
エクセルの改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excel2007 VBA countif関数
-
効率のよい方法ないでしょうか...
-
『あまり』を均等に割り当てる方法
-
For構文に入りうる変数を指定す...
-
特定のセルだけ結果がおかしい...
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
別シート参照のセルをシート毎...
-
エクセルで前シートを参照して...
-
エクセルでファイルを開いたと...
-
特定のシートの削除を禁止した...
-
Excelで金銭出納帳。繰越残高を...
-
エクセル 計算式も入っていない...
-
Excel、同じフォルダ内のExcel...
-
Excel2007で、太字にした行のみ...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
シートの保護のあとセルの列、...
-
Accessのスプレッドシートエク...
おすすめ情報