Excel総合相談所 83at BSOFT
Excel総合相談所 83 - 暇つぶし2ch155:名無しさん@そうだ選挙にいこう
09/06/13 23:41:10
>>150
今後の予測なんて本当にVBAでやってるの?
配列も知らなかったのに。

156:名無しさん@そうだ選挙にいこう
09/06/13 23:42:11
>>154
印刷をVBAでやりたいということ?

157:名無しさん@そうだ選挙にいこう
09/06/14 00:02:04
【1 OSの種類         .】 Windows2000
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 割り算 あまり
VBAのfornextループを使い、データの整形をしようとしています
ループカウンタiが3の倍数のときに3、3の倍数+1の時は1、3の倍数+2の時は2を返したいのですが、
どうすればいいでしょうか?
for i = 1 to 100
if 「iは3の倍数か、+1か+2かどうか」 then
'ここの間に処理
next
だと思うのですがどうやればいいでしょうか

158:名無しさん@そうだ選挙にいこう
09/06/14 00:02:41
>>150
Private Sub Init_proc()の、
Tate_I = 2をTate_I = 3にすればいい。

これは>>104が間違えたというよりもお前の説明不足。
DATAシートのデータが3行目から始まっているなんて>>89からはわからない。

159:名無しさん@そうだ選挙にいこう
09/06/14 00:03:01
ぜんぶホストコンピュータでやればいいじゃん

160:名無しさん@そうだ選挙にいこう
09/06/14 00:04:07
>>150
集計をマクロを使ってピボットテーブルを作成するのはダメ?
別シート作ってやればシートが汚くなることも無いけどな
俺は会社でそうやってるけど

161:名無しさん@そうだ選挙にいこう
09/06/14 00:10:14
>>157
((i - 1) Mod 3) + 1
これ、たまに忘れる

162:名無しさん@そうだ選挙にいこう
09/06/14 00:19:57
>>157
If i Mod 3 = 0 Then
'3
ElseIf i Mod 3 = 1 Then
'1
Else
'2
End If

こっちのがいいかも
Select Case i Mod 3
Case 0
'3
Case 1
'1
Case 2
'2
End Select

163:名無しさん@そうだ選挙にいこう
09/06/14 00:21:45
>>161>>162
ありがとうご゛ざいます
selectcaseいいですね。使ったこと無いので使って見ます

164:名無しさん@そうだ選挙にいこう
09/06/14 00:25:09
>>150
2003以前のピボットテーブルは
フィールドあたりの重複しないアイテムは32500まで。
データ量がそんなあるなら「アイテムが多すぎます」みたいなエラーが出るだろうね。

165:名無しさん@そうだ選挙にいこう
09/06/14 00:31:08
ピボットはファイルがでかくなるし、多くの人は嫌がるよな。
VBA使えるならその方がいいと思うけど。

166:名無しさん@そうだ選挙にいこう
09/06/14 00:39:47
ファイルがでかくなると言っても大した量じゃないと思うけど。まぁ重くなるのは避けたいところだけど
作成した後にコピーして別シートにはりつけ、ピボット削除をマクロにさせれば問題ないんじゃないかな

167:89 ◆2LLK9dXXUc
09/06/14 00:50:10
>>153
とりあえず動いたので、104さんのマクロは
あとで検証してみます。

>>160
ピボットテーブルをつくる手間を掛けるなら、マクロで一括と・・・

>>164
2000だと辛いですね。2003で作ったマクロが動かないこともありますし。
いずれにしても、今回のはピボットテーブルでは実現が困難のようなので
マクロでやります。

みなさん、ありがとうございました。

168:名無しさん@そうだ選挙にいこう
09/06/14 01:08:55
Exel2000はもうすぐサポートが切れるんじゃなかったか?

169:名無しさん@そうだ選挙にいこう
09/06/14 01:24:47
>>168
まあこれ以上>>89の心配しても仕方がない。
また新しいレポート作らないといけなくなった時に泣きついてくる。
きっと。

170:名無しさん@そうだ選挙にいこう
09/06/14 01:25:31
【1 OSの種類         .】 WindowsXP/VISTA
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(できればVBAなしのほうが助かりますが、この機に勉強する気もあります)
【5 検索キーワード     】 EXCEL 並び替え 合計

相談させてください。
EXCEL初心者なのですが、仕事で作らなければいけない情報があって困ってます。

たとえば

A列  B列  
人名 経費 
山田 1200
鈴木 3000
佐藤 2400
鈴木 1000
佐藤 8000

というエクセルデータがあったとして
佐藤 10400
鈴木 4000
山田 1200

というように、数字を合計させて、かつ、多い順に並べて表示させたいのです。

どのような仕組みにすればできるでしょうか?
教えていただけると幸いです、宜しくお願いします。

171:名無しさん@そうだ選挙にいこう
09/06/14 01:40:56
>>170
話題沸騰のピボットテーブル。
リストのどこかを選択→データ→ピボットテーブルとピボットグラフレポート→
範囲がちゃんと選択されてるか確認→次へ→レイアウト→人名を行にドラッグ→
経費をデータにドラッグ→OK→完了
ピボットテーブルができるので計列のデータのどこか選択して降順で並び替え

172:名無しさん@そうだ選挙にいこう
09/06/14 01:46:20
人名順に並び替えしてデータ(D)→集計(B)で集計させてから経費列を降順というのも。

173:名無しさん@そうだ選挙にいこう
09/06/14 02:21:32
人数がそんなに多くなければsumif使って集計すれば?
課内の交通費清算表なんかはこうやってるな。
あと、多い順にするには最後にソートする。

174:名無しさん@そうだ選挙にいこう
09/06/14 04:02:20
そこは今このスレで話題のVBAでだな

175:名無しさん@そうだ選挙にいこう
09/06/14 07:37:31
>>164,>>167
Excel2000は8000ちょっとだよ。
だから俺は2000使ってた頃、ピボットテーブルつかうのはお子ちゃまだと思ってた。
2002からぐっと増えたから2000からは絶対に乗り換えた方がいいね。

あとピボットテーブルは一度作っておけば、範囲の変更(名前定義使えば不要だけど)と更新と
場合によっては集計方法の変更くらいをマクロで操作すればいいから、VBAだけでやりたいってのは言い訳にしかすぎない。
今回は30000行にたいしてユニークなアイテム数がどのくらいあるか知らんが、せいぜい数百種類なら絶対ピボットテーブル
使った方がいいな。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch