10/04/06 17:23:46
▼━ 質問のしかた ━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1~4の情報)は必須情報。
▼━質問テンプレ (出来れば使ってね) ━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
URLリンク(www.google.co.jp)
前スレ
Excel総合相談所 90
スレリンク(bsoft板)
2:複乳
10/04/06 17:46:22
>>994
マクロの記録、と前言わなかったっけ
やり方はテキトーにぐぐれ
後はVBAスレがあるからそっちへ行け
スレリンク(tech板)
本が欲しいなら何でもいいから一冊買えばいい
「初心者」または「入門」と名が付く奴で一番安いヤツかっとけ
バージョンは不問
あとはいきなり命令を記述できるわけではなく
プログラムの大まかな流れを知らないとプログラムは記述できない
VBはVBというソフト、VBAはエクセル等についてくるVB劣化版。
VBAはVBAと言った方がいい。VBの回答だとVBAに対応していない場合がある
>>997
送ったっけ?
3:名無しさん@そうだ選挙にいこう
10/04/06 19:41:20
>>2
世の中には掲示板とメールの区別がついてなくて、
「掲示板で教える」ことを「メールで送る」って言う人がいるんだよ。
4:名無しさん@そうだ選挙にいこう
10/04/06 19:42:46
jl
5:複乳
10/04/06 19:45:18
そうなんですか、勉強になります・・
6:名無しさん@そうだ選挙にいこう
10/04/06 19:47:33
関連スレ
VBAの質問はこちらで
Excel VBA 質問スレ Part14
スレリンク(tech板)
7:名無しさん@そうだ選挙にいこう
10/04/06 21:41:08
>>3
> 「掲示板で教える」ことを「メールで送る」って言う人がいるんだよ。
そんなやつ初めて聞いたぞwwwww
8:名無しさん@そうだ選挙にいこう
10/04/06 21:48:01
>>6
ここは総合だから、VBAはまずここで(´・ω・`)
9:名無しさん@そうだ選挙にいこう
10/04/07 03:52:54
>>7
誰にでも初めてってのはあるもんだ。
カカクコムの口コミとか教えてgooとか見てるといっぱいいるぞ。
10:名無しさん@そうだ選挙にいこう
10/04/07 12:15:23
>あとはいきなり命令を記述できるわけではなく
>プログラムの大まかな流れを知らないとプログラムは記述できない
そのあたりはだいたい解っています
123のマクロなら嫌になるほど書いていますから
VBAの言語のマニュアルが欲しいだけなのです
それが無ければ始まらないしそれがあれば後はどうにでもなるでしょうから
ところがこれが無い
市販の本などというのは著者が教えたいことは書いてあってもこちらが知りたいことは書いてないもので不便極まりないです
Excelに入っているVBAを作ったのはマイクロソフトですからそこのマニュアルが有ってしかすべきなのにおかしいことです
マイクロソフトは自分の所ではマニュアルは販売していないと言い張って聞きません
それではExcelを買えばその中にヘルプという形で当然マニュアルが有るだろうと思っていたのですがこれが無い
私にはこんなことは異常に見えますが皆さん納得しているんですか?
いずれにせよお世話になりましたVBAスレに行くことにします
11:名無しさん@そうだ選挙にいこう
10/04/07 13:06:33
>>10
ヘルプにはVBAの事も当然入ってる。とても読みにくいけどね。
12:名無しさん@そうだ選挙にいこう
10/04/07 13:40:42
>>11
見にくくてもいいのです
有りさえすれば
ところが無いのです
今までの状況は、
1 エクセル2002のシート全体のセルの背景色と文字の色を変えたい
2 しかしそれは2003以降で出来ることで2002では出来ない
3 ただしVBAマクロを使えば2002でも出来る
とここまで教わってからVBAの言語マニュアルを手に入れるためOfficeXP2002を手に入れてみましたがそのVBAエディターのヘルプに「Worksheet_SelectionChange」やそれらしい言葉を入れても何も出てこないのです
マイクロソフトにマニュアルが別売で有れば買うからと聞いても無いという返事
じゃあどうすれば手に入るのかと聞いてもそういことは教えられないというあきれた返事しか帰って来ません
困ってしまっています
「Worksheet_SelectionChange」の説明がエクセルのVBAエディターのヘルプに本当に有るのですか?
13:名無しさん@そうだ選挙にいこう
10/04/07 14:24:17
Worksheet(_)SelectionChangeじゃなくて
Worksheet(.←ドット)SelectionChangeでも出てこない?
あるいは SelectionChange だけで調べてみた?
14:名無しさん@そうだ選挙にいこう
10/04/07 15:02:14
>>12
頭悪そうw
15:名無しさん@そうだ選挙にいこう
10/04/07 15:26:14
「SelectionChange」で出てきました!
ありがとうございます
しかし肝心のシート全体の背景の色を変えるというようなことがこれで出来るのでしょうか
出てくるのは下記のみです
-------------------------
SelectionChange イベント
関連項目 対象 使用例 アプリケーション情報
ワークシートで選択範囲を変更したときに発生します。
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Target 新しい選択範囲を指定します。
使用例
次の使用例は、選択範囲がウィンドウの左上隅になるまで、ブックのウィンドウをスクロールします。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveWindow
.ScrollRow = Target.Row
.ScrollColumn = Target.Column
End With
End Sub
-------------------------
16:名無しさん@そうだ選挙にいこう
10/04/07 15:29:21
>>14
知識がなさそうw
17:名無しさん@そうだ選挙にいこう
10/04/07 16:07:10
XPでexcel2003を使用している者です。
最新の"2007 microsoft office system 互換機能パック"を導入済みです。
お客様がexcel2007を導入しまして、2007で編集されたファイルを頂き、
自分の環境(2003)で開こうとしますと、
"セルの書式が多すぎるため、書式を追加できません"と表示され、深刻なダメージを受けて
まともに開くことができません。
お客様の手を煩わせる事なく、これを回避する方法はありますでしょうか?
2003でブックの書式数に制限があることは知っているため、原因そのものはわかります。、
最終手段は2007を導入することだと思いますが、それ以外に解決法があればそれを試したいです。
宜しくお願いします。m(_ _)m
18:名無しさん@そうだ選挙にいこう
10/04/07 16:42:31
>>17
OOoを入れてみるという手もあるが、ちゃんと開ける保証はない。
一番確実なのは、やっぱり2007を入れることだろう。
マイクロソフトのホームページから体験版が無料で落とせるので、使いたいのが今だけなら
そちらをおすすめする。
この先もずっとそのお客さんと付き合っていくなら素直に購入。
19:複乳
10/04/07 17:07:44
>>17
オフィス ビューワー
でぐぐれば開くためのソフトが色々見つかりますが・・
そんなに複雑怪奇なシートだと2007で試すのが良さそう
20:17
10/04/07 17:43:12
>>18-19さん
OOoを試してみましたところ、無事に開くことができました!
今後編集してお客様とやり取りする機会があることを想定しますと、
最終的には2007導入という結論にはなると思いますが
現在はとりあえず参照できれば充分ですので自分的には解決です。
親切に回答して頂き、ありがとうございました。
21:名無しさん@そうだ選挙にいこう
10/04/07 21:42:59
そう言えば
OOo3.x系のCalcとExcelではマクロ使ってないなら互換性は完璧といって良いレベルだったな。
WriterとWordだったらやばい事になってたぞw
22:名無しさん@そうだ選挙にいこう
10/04/08 00:37:58
>15
得意なロータス123で
利用者がセルの背景色や文字のフォントをいじった。
けどそれを、背景赤で文字青に無理矢理変更する。
この処理のコードは書ける?
書いてみてよ。
ロータス製品からMSへの移行はパッケージソフトにもなってるぐらい単純だよ
ロータスやめてMSに切り替える企業の移行作業は8割ぐらいは元ロータスの技術者。
MS->ロータスは難しくてもロータス->-MSは簡単なはずだよ
23:名無しさん@そうだ選挙にいこう
10/04/08 00:46:43
>>22
そろそろVBAスレでやってほしいんで放置でお願いします
24:名無しさん@そうだ選挙にいこう
10/04/08 09:30:05
>>22
なに絡んでいるんだ? このバカは
>この処理のコードは書ける?
おまえに対してそれをしてみる必要性がどこに有るというんだ?
説明できるか? このバカ
25:名無しさん@そうだ選挙にいこう
10/04/08 09:31:04
>>23
放置したいならお前も無駄レス付けないで黙っていろ
このバカ
26:名無しさん@そうだ選挙にいこう
10/04/08 10:24:31
>>15
イベントってのはマクロをスタートする方法のこと
そのマクロはなんでもいい
色を変えるマクロは自分で作るんだよ
27:名無しさん@そうだ選挙にいこう
10/04/08 12:50:10
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 エクセル メール アドオン 送信 添付 アウトルック以外 becky …など
エクセルやワードで編集中のシートやブックを直接メール送信する機能がありますよね
これと同じ様な事をアウトルックエキスプレスを使わないで出来る設定やアドオンなどは
ありませんでしょうか?
具体的にはbeckyを使っており、ボタン一発でブックを仮保存して自動的にメーラーに送るみたいな
機能があれば十分です。
28:名無しさん@そうだ選挙にいこう
10/04/08 14:12:59
>>26
>イベントってのはマクロをスタートする方法のこと
わかりました、ありがとうございました
>色を変えるマクロは自分で作るんだよ
わかりました
それでそのマクロ命令はいったいどういうものなのですか?
私の質問は元々それだった訳ですが
ワークシート全体の背景色をセル単独(またはその集合)の背景色の変更としてではなく変えるマクロとはいったいどういうものなのでしょうか
29:名無しさん@そうだ選挙にいこう
10/04/08 14:14:44
>>26
このスレが適当でなければVBAの質問スレで続きをお願いします
30:名無しさん@そうだ選挙にいこう
10/04/08 17:51:37
excelシートに行を365個、列をだいたいの平均寿命の80個、罫線で表をつくり、
ctrlキーとマウスホイールで表を縮小すると、
驚くことに、1個1個のセルがはっきり見えるんです。
つまり人間が生きていくうえで、1日も無駄にはできない、そう思うようになりました。
31:名無しさん@そうだ選挙にいこう
10/04/08 18:00:12
>>30
1時間=1ドットとすると、80年はだいたい1024x768ドット
32:名無しさん@そうだ選挙にいこう
10/04/08 18:16:32
>>30 ワロタ
33:複乳
10/04/08 20:44:09
>>30
試しに一つのセルを黄色で塗りつぶしてみた
これだけだとほとんどわからないぐらいの変化だが、
一行あればクッキリと見え、数行染めればはっきりと全体が変わる
成長ってこういう日々の積み重ねなんだな、と思いました。
34:名無しさん@そうだ選挙にいこう
10/04/08 20:47:28
100年分の1枚カレンダーを見て同じ事を思った
35:名無しさん@そうだ選挙にいこう
10/04/08 20:59:29
【1 OSの種類 .】 Windows vista
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 マクロシート 参照
久しぶりに
図形にマクロの登録をしようとしているのですが、次のようなのは初めてです。
「マクロシートに対する参照を指定してください」との指示が出てくるのですか
意味がわからなく、どう対処したらいいのか教えてください。
36:複乳
10/04/08 21:21:18
>>35
基本、エラーはエラーメッセージを一文字も変えずに検索
37:35
10/04/08 22:10:00
何となくですが、
「マクロシートに対する参照を指定してください」との指示はexcel4.0マクロの
関係のようです。
excel4.0マクロがexcel2007から復活しているけれど、excel2003でvista機で出て
くるのは想定外でした。
結局、
「モジュール名 半角スペース マクロ名」で登録するとうまく行きました。
xp機のときは、マクロ名だけでマクロの認識をしていたものが、vista機では
モジュール名まで要求するとの結論になりました。
もっと早くこれがわかっていたら、・・・
全自動化したxp機でのマクロがvista機では試行錯誤してもうまく行かず半自動化
に変えて乗り切った???原因がわかったようです orz orz
試行 + 思考
では。
38:名無しさん@そうだ選挙にいこう
10/04/08 22:57:40
>>34
そんなカレンダーどこに売ってるんですか?
39:名無しさん@そうだ選挙にいこう
10/04/08 23:21:52
▼━質問テンプレ (出来れば使ってね) ━━━━━━
【1 OSの種類 .】 WindowsXP SP3
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 日付 シリアル 並び替え 定義
お願いいたします。
日付の入力に関してなのですが、A列にH20/1(H20.1) という形で、
各行を入力して、それをシリアル値に変換して並び替えに使いたいのですが、
可能でしょうか?
H20/1/1(H20.1.1)まで入力するとシリアル値として反応してくれるのですが、
H20/1(H20.1)でH20/1/1として認識してシリアル値を取得する方法がありましたら
ご教授ください。S63/1等、年数・月数の入力でシリアル値を取り出せますでしょうか?
日の指定は特にないです。
(ユーザ定義でH20/1/1と入力してH20/1としての表示はできたのですが、
入力の際にH20/1として入力するとシリアル値として反応してくれませんでした)
40:名無しさん@そうだ選挙にいこう
10/04/08 23:41:06
>>39
書式でなんとかするのは無理っぽいんで、文字列から数式で年と日を取り出してシリアル値に変換するしかないね
41:名無しさん@そうだ選挙にいこう
10/04/09 00:04:10
>>40ありがとうございます。。
別の列でA列に/1を追加して、そこからシリアル値を取り出せました。
42:名無しさん@そうだ選挙にいこう
10/04/09 00:17:49
「100年分の1枚カレンダー」って詳しく教えていただけんだろうか?
43:名無しさん@そうだ選挙にいこう
10/04/09 00:23:26
100年カレンダー
URLリンク(plaza.harmonix.ne.jp)
このカレンダーを買った人のなかから次々と自殺者が出たこらしい
44:名無しさん@そうだ選挙にいこう
10/04/09 00:28:31
100年カレンダーが買えないから自分でExcelで作りたいのですが、
どうやってつくりますか?
だれか作ってUPしてくれますか?
自分的に必要な機能は、
・A4の1枚であること。
・最初の年(例えば1988年)を指定すると、その年の1988年1月1日から2088年12月31日までが自動でセルに入力されること。
・その入力される数字形式は、ちっちゃくなっても見やすくするため1つのセルに日だけ(月の最初の1日だけは4/1みたいにする。年の初めはどこかに西暦年号を入れる)。
45:44
10/04/09 00:29:18
複乳さん、いつも見てます。尊敬しています。こんなのチョチョイノチョイ(死語)でしょ?作ってくれませんか?あるいは、どなたか・・・。
46:複乳
10/04/09 00:38:02
>>44
別に作るのはいいんだけど、いまいち出力形態が分からない
1行目に1988ねん1/1-12/31
にぎょうめに1989ねん1/1-
なのか
それで日付だけなのか、付きもつけるのか、なんなのか。サンプルでもあればいいんだけど
47:複乳
10/04/09 00:40:34
あとA4の一枚ってのが曖昧すぎてねー
>>30みたいにフォントサイズを1にしたり縮小倍率を1%に設定したりすれば、
1ドットだけどこれは8を表してる、とか言えるわけだし
48:44
10/04/09 00:41:57
しかしこれぐらいはスキルを身につけて自分でつくれるようになりたいな。
みんなどうやってつくる?
自分が思いつくのはこれくらい
・A1を入力用「年代」セルとする。つまりここを変更するだけで、その人用の人生カレンダーが一瞬でできる。
・B2がスタート。つまり1988年1月1日。そして右側にこの年の365日分の日を。
・下にいくにつれて年を1つ増やす。
・条件付書式で、土日は文字に色を塗る。
と思ったけど、さっそく問題が出た。Excelは列が255までなので、1年分の365が入りきらない。
49:複乳
10/04/09 00:45:36
>>48
一つ目はinputboxにするつもりだったな
二つ目は気づかなかった・・
書式設定で縦書きにしてA366を1/1、a365を1/2・・かな・・
それで列が右に行くごとに一年・・・
やりたくないなぁ。
50:44
10/04/09 00:46:06
>>46-47
こんにちは。
それはおまかせしますよ。
作者のかたがつくりやすい方法で。
本当はすべてのセルに 4/9 のように月も日もつけたいけど、ちっちゃいセルになることが予想されるので、1日以外は日だけがいいような気がします。
もしA4の1枚がちっちゃすぎれば、しかたなく4枚で印刷してセロテープでくっつけで、全体として100年分になってる、というような印刷のしかたになるかな。
51:名無しさん@そうだ選挙にいこう
10/04/09 01:01:25
とりあえず、列を1~約180(半年分)、行を1~200(100年分)にして、A4の横で印刷すれば、
1つのセルが少しだけ横に細長い、いい感じの見やすい長方形になることがわかった。
52:複乳
10/04/09 01:22:54
>>50
URLリンク(www1.axfc.net)
まぁ、大体分かるだろ。右へテキトーにオートフィル。
マクロは1日を1/1、みたいに書式設定を帰てるだけだから
ちなみに12/31は0扱いで、書式設定で0を表示しないようにしている
やっつけ仕事なら任せろ!
あと、A4に加工するのはこれを加工した後でいいと思ったのでさわっていない
53:名無しさん@そうだ選挙にいこう
10/04/09 01:54:57
>>52
おっと、早い。ありがとうございます。
でもさっそくバグらしいものが・・・・
別の年代を指定すると、月の最初が「7/1」のはずが、「1」「7/2」となることがあります。
これはなおりますか?
54:複乳
10/04/09 02:03:39
別の年代って何年?
あとMacro1 Macro2は無視してくれ。消してもいい
sheet1.sexってマクロだけだな。使う気でイタの
55:名無しさん@そうだ選挙にいこう
10/04/09 16:29:38
>>29 です
VBAの質問スレの方でも返事は頂けなかったようですがそれは当然のことでした
なぜならVBAなら出来るという解決方法など最初から無かったからです
実はサンプルに手に入れたExcelの2002でしてみると2003以降と同じようにシート全体を選択しセルの色や文字の色を手動で変えれば固定できました
もちろんエクセルでの手動と同じ事をVBAですれば出来るという事にはなりますが2002では手動では出来ないという前提でしたからVBAでのみ出来る方法が有るということになります
ゆえにそのVBAでのみ出来るという解決方法を今までさんざん苦労をして探していましたが結局は有りませんでした
有りもしないものを有ると思い込んで言っていた複乳氏の無知な知ったかぶりに振り回された数日だったようです
56:複乳
10/04/09 16:40:08
ワロタ
57:名無しさん@そうだ選挙にいこう
10/04/09 16:44:42
i7爆速まで読んだ
58:名無しさん@そうだ選挙にいこう
10/04/09 17:14:48
>>56
>>55 だが
ショボイ知識しか無いくせに回答者面してんじゃねえぞ
お前は僅かなチップ欲しさに知りもしない道を教えるローマの浮浪者か
根性がさもしすぎるな
59:名無しさん@そうだ選挙にいこう
10/04/09 17:25:47
だいたいExcel本体には無い動きをさせるVBAコマンドが有ると思えるお前の頭はおかしい
こちらは有るというから有るんだろうと思っていたが買いかぶりだった
バカが知ったかぶりをしていたというのはいかにもネットならではの落ちだったな
60:名無しさん@そうだ選挙にいこう
10/04/09 20:45:35
とりあえず、こういう方法もある
スレリンク(tech板:905番)
ちょっと副作用があるが
61:名無しさん@そうだ選挙にいこう
10/04/09 21:01:21
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
F列にあるデータのうち、"-"を含まないものがあったらE列とF列を
マクロで削除(上方向へシフト)するには、どう書けばいいでしょうか?
If文がダメっぽいです・・
F = Range("F65536").End(xlUp).Row
For i = 4 To F
If Cells(i, 6) = "<>*-*" Then
Range(Cells(i, 5), Cells(i, 6)).Delete Shift:=xlUp
End If
Next
A-123
A123
AB-12
ABC-1
というデータがあれば、A123が削除の対象となります。
62:名無しさん@そうだ選挙にいこう
10/04/09 21:16:18
【1 OSの種類 .】 Windows vista
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 Excel VBA ファイル名
質問です
フォルダーをファイルを開く時に使う様なウィンドウで指定して
そのフォルダーに入っているファイル名を絶対パス付きで
リストアップするにはどうしたらよいでしょうか?
ファイル名だけや最初に自分でフォルダーのアドレスを
手入力するタイプのものしか見当たりませんでした。
宜しくお願いします。
63:名無しさん@そうだ選挙にいこう
10/04/09 22:01:28
>>61
まだあるかもしれないけど 好きな方を
1) If Not (Cells(i, 6).Value Like "*-*") Then
2) If InStr(Cells(i, 6).Value, "-") = 0 Then
64:名無しさん@そうだ選挙にいこう
10/04/09 22:22:53
>>62
Excel2007もってないから動くかどうかしらないけれど
Shellオブジェクトを使うとか
Set Shel = CreateObject("Shell.Application")
Set f = Shel.BrowseForFolder(0, "フォルダを選んでください", 17)
MsgBox f.Items.Item.path
参考サイト
URLリンク(www.roy.hi-ho.ne.jp)
65:61
10/04/09 22:28:33
>>63
ありが㌧ございます。
どちらもうまくいきましたが、上段の方を覚えます。
66:名無しさん@そうだ選挙にいこう
10/04/09 22:30:37
>>64
ありがとうございます。
なんとかやってみます。
67:名無しさん@そうだ選挙にいこう
10/04/09 23:27:47
>>55
お前釣りだろ?
数式バーの色を変えてほくそ笑んでいたやつじゃない?
68:名無しさん@そうだ選挙にいこう
10/04/09 23:31:34
>>65
お前も釣りか?
>>61みたいなループでうまくいくわけねーよ。
69:名無しさん@そうだ選挙にいこう
10/04/10 00:49:03
質問です。よろしくお願いします。
winXP。エクセル2007.
例えば、、、同じbook内、1~20のシートがあり、おのおの A1 に数字がランダムに入力されている。
シート21にてcount関数を使い、シート1~20のA1の数字が1以上のものをカウントします。
このとき、カウントされたシートがどれなのか?を知りたいのです。
何かよい方法はないでしょうか?
知っているかたいましたら教えてください。お願いします。
70:名無しさん@そうだ選挙にいこう
10/04/10 00:50:28
>>68
削除すべきデータが少なくてたまたま連続した部分がなければうまくいってしまう
>>61
正しくは2行目を
For i = F To 4 Step -1
としなきゃいけない
71:複乳
10/04/10 00:53:18
>>69
bこう・・どこかで見た気がする構文だ・・
72:名無しさん@そうだ選挙にいこう
10/04/10 00:55:28
>>69
IF関数を20個並べる
質問が大雑把すぎるので回答も大雑把にしかできん
73:名無しさん@そうだ選挙にいこう
10/04/10 03:15:53
CONVERT関数で時速を分速にしようとした時、
分速はどういうふうに表したらいいの?
m/mn m/min ではうまく動きませんでした。
74:名無しさん@そうだ選挙にいこう
10/04/10 04:10:38
>>73
それCONVERT関数必要ないだろ
60で割るだけだぞ
75:73
10/04/10 06:15:27
まぁ 関数の勉強に付き合ってよ
60で割るだけだとkm/minだけどね
1000かけないと
76:名無しさん@そうだ選挙にいこう
10/04/10 06:50:23
答えとしては =CONVERT(CONVERT(A1,"km","m"),"mn","hr") だけど =A1*1000/60 のが早いだろ
77:名無しさん@そうだ選挙にいこう
10/04/10 08:31:28
【OS】 Windows**
【Ver】Excel2007
【VBA】はい
【VBAでの回答の可否】可
初心者の私に、VBAを教えて下さい。
例えば、SHEET1に、メインの表があって、SHEET2以降が
データー表。最後尾のシートは最新の情報で、
マクロを実行させたら、常に最後尾の情報を更新させる
というのを作ってて、 (´・ω・`)??? な状態です。
シート数をカウントした変数(例えばX)をsheets(x)にしたら
常に最後尾のシートをアクティブにさせるのは判ったの
ですが、そこで止まってます。
更新させるシートが決まっていたら判るのですが、常に最後尾
って所で困っています。
ご教授をお願いします。
78:複乳
10/04/10 09:44:11
>>77
コードは標準モジュールに書く
sheet1のボタンから始めたいなら
sheet1に
Private Sub CommandButton1_Click()
call k
End Sub
標準モジュールに
sub k()
End Sub
とする
79:名無しさん@そうだ選挙にいこう
10/04/10 10:04:47
【OS】 WindowsXP
【Ver】Excel2007
【VBA】いいえ
【VBAでの回答の可否】可
あるデータにプラスとマイナスの数字が混ざっています。
プラスかマイナスの数字だけをセルで選択?するにはどうすればいいのでしょうか?
色をつけたり抽出したいんですが、色々試してみましたが分かりませんでした。
以上ですが宜しくお願いします。
80:名無しさん@そうだ選挙にいこう
10/04/10 10:16:08
>>79
オートフィルタ
81:名無しさん@そうだ選挙にいこう
10/04/10 10:34:36
>>78
スミマセン、全然言葉足らずでした。
SHEET1にマクロのボタンを設置して、ボタンを押したら
最後尾のシートの情報を、シート1に更新させると
いうマクロです。スミマセン(´・ω・`)
改めて…
【OS】 Windows**
【Ver】Excel2007
【VBA】はい
【VBAでの回答の可否】可
「一回動作を記憶させて、それを変数をいれた
シート名にすりゃ簡単」っと、思っていた時期がありました。
雰囲気的には、SHEET1の情報を最後尾シートでfind検索かけて
OFFSETでその情報をSHEE1に反映させるって感じです。
82:79
10/04/10 10:36:23
>>80
回答ありがとうございます。
シ-トのセルををそのまま残して虫食いみたいにしたいんです。
もう少し詳しく説明していただけるとありがたいんですが・・・。
ずうずうしくて申し訳ないです。
83:名無しさん@そうだ選挙にいこう
10/04/10 11:09:18
>>82
色つけなら条件付き書式の方がいいだろう。
抽出はデータの詳細設定。
84:名無しさん@そうだ選挙にいこう
10/04/10 11:25:33
>>81
最後尾のシートって事なら
Set s = Worksheets(Worksheets.Count)
でいいんじゃないかな
(非表示のシートを含んだ最後尾のシートって事になるけど)
んで(使い方の例ね)
Worksheets("Sheet1").Range("A1").Value = s.Range("A1").Value
とかやるとか
85:名無しさん@そうだ選挙にいこう
10/04/10 11:34:09
>>83
なるほど、分かりました。
ありがとうございました。
86:名無しさん@そうだ選挙にいこう
10/04/10 13:23:11
>>81
Sheet1のCommandButton1クリック時イベントに
Private Sub CommandButton1_Click()
Call a
End Sub
標準モジュールに
Sub a()
Dim WS As Worksheet
Set WS = Worksheets(Worksheets.Count)
Worksheets("sheet1").Cells(1, 1).Value = WS.Cells(1, 1).Value
Set WS = Nothing
End Sub
87:名無しさん@そうだ選挙にいこう
10/04/10 16:22:49
2007のリボンメニューを2003のメニュー式に変更出来ないでしょうか?
88:複乳
10/04/10 17:48:47
2003 メニュー アドイン
でぐぐれ
89:名無しさん@そうだ選挙にいこう
10/04/10 20:20:38
Excel2000、OSはXPか2000です。
ハイパーリンクを挿入すると、リンクをシングルクリックするとブラウザが立ちあがります。
これを、シングルクリックではブラウザを起動しないようにして、
ダブルクリックでブラウザを起動させるようにするには、どうすればいいでしょうか?
90:名無しさん@そうだ選挙にいこう
10/04/10 21:21:00
>>89
ハイパーリンクの動作を買えることはできないので、
91:名無しさん@そうだ選挙にいこう
10/04/10 21:21:58
書き込み失敗↑
>>89
ハイパーリンクを使わずにVBAのWorksheet_BeforeDoubleClickイベントで処理する
92:あぼーん
あぼーん
あぼーん
93:名無しさん@そうだ選挙にいこう
10/04/11 01:00:22
エクセル2003か2007で見栄えのいいグラフを作るコツとかが
詳しく載ってる本があったら教えてください。
94:名無しさん@そうだ選挙にいこう
10/04/11 02:25:13
N列 O列 P列 AE列
2 4月 5月 6月 2010年5月
3
4
5
6 700 500
7
N2セルに「2010/4/1」、O2セルに「2010/5/1」と入力し、ユーザー定義で
「4月」、「5月」と表示させています。
AE2セルには「2010/5/1」を書いて「2010年5月」と表示させ、7行目に
次の式を入れました。
N7セル =IF(AE2<N2,N6,IF(AE2=N2,N6,0))
O7セル =IF(AE2<O2,O6,IF(AE2=O2,SUM(N6:O6),0))。
このとき、N2はAE2に対して過去なので0、O2は同じなのでN6から
O6までの累計を7行目に表示させます。
と、ここまでは良かったですが、AE2セルに「2010/5/5」と入れると
表示は「2010年5月」になるものの、O7が0になってしまいます。
そこで、「2010/5/15」と入れても「2010/5/1」となるような関数がありますか?
95:名無しさん@そうだ選挙にいこう
10/04/11 04:12:12
作ればある
96:名無しさん@そうだ選挙にいこう
10/04/11 04:20:14
>>94
A1セルに入った年月日の「日」を強制的に1にするには、=DATE(YEAR(A1),MONTH(A1),1)
つまり
=IF(AE2<N2 以下略
の部分を
=IF(DATE(YEAR(AE2),MONTH(AE2),1)<DATE(YEAR(N2),MONTH(N2),1) 以下略
のように置き換えればいい
他の式もすべて同様にIFの部分を直せばいいが、式がどんどん長くなってしまうので、
修正した日付かIFの判定結果だけをを空いたセルに入れておくといい
※アドインを入れてもいいのなら =EOMONTH(A1,-1)+1 という式でも月頭のシリアル値を求めることができる
少し数式が短くなる
97:複乳
10/04/11 09:13:51
>>93
見栄えの良いグラフ
でぐぐれ。
98:名無しさん@そうだ選挙にいこう
10/04/11 10:20:41
>>97
答える気が無いなら黙ってろホームレス
99:複乳
10/04/11 10:50:14
>>98
では代わりにお答え下さい><;
この手の質問は誰も答えられないんだよなぁ
100:名無しさん@そうだ選挙にいこう
10/04/11 11:08:44
見栄えの良いグラフとかになってくると「センス」の問題w
101:単乳
10/04/11 11:20:37
まあ、ケンカはやめようじゃないかw
102:名無しさん@そうだ選挙にいこう
10/04/11 12:00:47
>>86
遅くなりましたが、判りやすい回答ありがとうございました。
そういえば…最後のSET の NOTHING って試作のときに
入れてなかったです(^_^;
まだまだ勉強しなきゃ駄目ですね… ありがとうございます。
あと、もう少しやりたい事がありますが、頑張ってみて
どうしても駄目だったらまた質問させてもらいます。
103:あぼーん
あぼーん
あぼーん
104:名無しさん@そうだ選挙にいこう
10/04/11 17:02:54
54:30
と入力して、54分30秒と表示させることって無理ですかな?
Excel2007です><
105:複乳
10/04/11 17:30:44
>>104
時間計算に使うとおかしくなるから計算には使わないでね
ユーザー書式で
[h]"分"m"秒"
計算でも使えるようにするなら
A1に時刻
B1=TIME(0,DAY(A1)*24+HOUR(A1),MINUTE(A1))
B1の書式を
[m]:ss
106:名無しさん@そうだ選挙にいこう
10/04/11 17:37:11
>>105
レスありがとです
時間を扱うときは最初からTIME関数を使ったほうが安全で早そうですね!><
ありがとござました!
107:名無しさん@そうだ選挙にいこう
10/04/11 17:51:37
>>105-106
計算で使うなら=A1/60じゃないのか?
108:複乳
10/04/11 18:07:54
>>107
gyaaaaaaaaaasoudesita
109:質問
10/04/11 20:27:34
2007を使っています。
色文字についてですが、
ある一定の数字を越えた整数を記入すると赤くなるとかできますか?
(例えば100と設定し101から赤文字になるとか)
分かりにくい文章ですみません
110:名無しさん@そうだ選挙にいこう
10/04/11 20:28:50
>>109
条件付き書式で出来るよん
111:名無しさん@そうだ選挙にいこう
10/04/11 21:14:17
>>109
色を付けたい範囲を選択して右クリック、「セルの書式設定」の「ユーザー定義」で
[赤][>100]0;0
と入れる
112:94
10/04/11 22:04:10
>>96
どうもありがとうございます。
思ってたより大変なのが分りました。
IFが長くて頭が痛くなりそうなので、
AE2に「=DATE(YEAR(AE4),MONTH(AE4),1)」と入れ、
AE4に年月日を入れることにしました。
113:名無しさん@そうだ選挙にいこう
10/04/11 22:06:47
条件付き書式を設定しているセルがどれだか分からなくなりました。
こういうことは頻繁にあり、そのつど困っているのですがなにかいい方法があったりしますか?
114:名無しさん@そうだ選挙にいこう
10/04/11 22:11:48
>>113
CTRL+Gでセル選択をクリック、「条件付き書式」をチェックしてOKでいけるよ~
115:名無しさん@そうだ選挙にいこう
10/04/11 22:40:00
>>110-111
ありがとう☆
116:113
10/04/11 23:20:37
>>114
Oh, thank you very much.
I'm awed by such a magnificent, handy function equipped with Excel.
117:名無しさん@そうだ選挙にいこう
10/04/12 00:29:50
「このブックには更新できないリンクが1つ以上含まれています」とメッセージが出たとき、
どこのセルが他のブックを参照してるのか探すにはどうすればいいですか?
118:名無しさん@そうだ選挙にいこう
10/04/12 07:00:54
>>117
ここの下の方に書いてある
URLリンク(support.microsoft.com)
119:名無しさん@そうだ選挙にいこう
10/04/12 09:54:57
あいまいで申し訳ないのですが、ググるためのキーワードを教えてください
たとえば全体で1万件データがあって、今2000件(20パーセント)処理してますよ!
というのがわかるような、バー(?)をユーザーフォーム上に表示させたいのです。
ソフトをインストールするときに出てくるようなものです。
(1)このバー(?)の名前を教えてください
(2)これを(標準の関数があるとして)使わずに、自分の書いた絵で表現することも
可能でしょうか?
(たとえばハチマキしたウサギがゴールに向かっていくような絵)
Excel2003です。
120:名無しさん@そうだ選挙にいこう
10/04/12 10:17:33
>>119
1)プログレスバー
2)Yes. VBA or ...
121:119
10/04/12 10:31:08
>>120
ありがとうございました。
プログレスバーって初めて聞いた言葉でした!
これで前に進めそうです。
122:117
10/04/12 19:43:30
>>118
リンクを解除したいのではなく、どこのセルが他のブックを参照してるのか
そのセルを知りたいんです。
123:複乳
10/04/12 19:48:27
>>122
"["って記号を検索
数式にこれが入ってれば他のブックを検索してるはずだからね
124:名無しさん@そうだ選挙にいこう
10/04/12 19:54:14
おい、復乳!
参考になったぞ!
125:117
10/04/12 22:26:25
>>123
おい、復乳さん!
参考になりますた。
126:名無しさん@そうだ選挙にいこう
10/04/12 23:37:16
【1 OSの種類】 Windows XP
【2 Excelのバージョン】 Excel2003
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード】 エクセル アポストロフィ ひげ 消
助けて下さい。
例えば、'568'とセルに入力するのですが、
表示は先頭の'が抜けて、568'となってしまいます。
どうすれば、両方の''が表示されるようになりますでしょうか。
参考キャプ
URLリンク(beebee2see.appspot.com)
よろしくお願いします。
127:名無しさん@そうだ選挙にいこう
10/04/12 23:59:01
釣れますか?
128:126
10/04/13 00:03:19
すいません、とても初歩的な質問だから釣りに見えるのでしょうか。
本当に困ってます。助けて下さい。
129:名無しさん@そうだ選挙にいこう
10/04/13 00:12:39
''568'くらいなんで考え付かないの?
馬鹿なの?
130:名無しさん@そうだ選挙にいこう
10/04/13 00:13:53
あるいは表示形式が@で'568'とかね
131:複乳
10/04/13 00:16:28
>>126
頭に'(クォーテーション)がつくと文字列を表す。つまり>>129
>>127
たまに見るけどこういう場合の釣りってどういう意味なんだ?
>>130
それ試したけど無理だったわ
132:名無しさん@そうだ選挙にいこう
10/04/13 00:26:38
>>131
この場合の「釣り」ってのは、あまりにも簡単すぎて人に聞くまでもないことを
わざわざ質問して、スレの流れを妨げたり回答者をバカにすること。
でも、本当に初心者で記号の正確な意味や用法を知らない場合も多い。
他人を疑ってばかりいる賢い人間と、バカでも誰にでも親切な人と、どっちがいいだろうね。
133:126
10/04/13 00:44:49
みなさん、ありがとうございました!
''568'で無事に表示されました。
お騒がせしてすみませんでした。
134:名無しさん@そうだ選挙にいこう
10/04/13 06:52:29
まぁ、春です。
新社会人が新しい職場で奮闘しているものと思って温かく見守ってあげましょう。
135:複乳
10/04/13 11:25:19
>>132
ありがとうございます。このタイプの釣り、少ない気はするんだけどなぁ
136:複乳
10/04/13 11:26:51
あー、言い忘れてたな
そもそも'や"で囲む事自体やめたほうがいいよ、と
EXCELは元々それを省くような挙動だから、別の手を考えたほうがいい
137:名無しさん@そうだ選挙にいこう
10/04/13 12:21:45
' のことで質問です
セルでは先頭の ' は表示はされないけど上の欄ではちゃんと入力されてる
なんでこんな変なの?
こんなのが他のソフトでインポートとかしたときにバグとなってでてくる
極論すると例えば宇宙飛行ロケットのプログラミングならこういうのが設計ミスでロケット爆発の原因にもなりかねん
なぜシンプルに ' をそのまま表示させないんだ?
' の先頭が表示されないようになっている理由とそのれ経緯について教えてくれないか?
138:名無しさん@そうだ選挙にいこう
10/04/13 13:36:55
Excel2003なら「読み上げ」ツールバーで数字を英語で読み上げてくれる機能があることはみなさん周知してますね。
私はこれで英語の数字のリスニング力を鍛えようと思ってます。
=int(RAND()*1000)+1
で1から1000までの乱数を出しておき、「読み上げ」ツールバーのボタンを押すだけで、書き出してたすべての数字を読み上げてくれる便利な機能です。
そこで質問。
「1つのセルの読み上げを聞いたあと、すばやく自分でのその数字を入力」 ← これを繰り返しやる方法はありませんか?
なぜなら、ユーザが入力の操作をした時点で読み上げが終了してしまうんです(つまり読み上げ機能は全セルを読み上げるが、なにか作業すると終了してしまう)。
139:名無しさん@そうだ選挙にいこう
10/04/13 13:53:20
>>137
' の記号を使うのはLotus1-2-3から引き継いだ機能。
セルの内容を文字列として左寄せする、という指示をソフトに与えるための記号で「接頭辞」と呼ばれる。
知らずに予想外の動作をしたとしても、それは単なる勉強不足。
140:複乳
10/04/13 13:53:38
>>137
マイクロソフトのアホが設計した仕様。経緯なんて知らんし
知ってもどうにもならん
>>138
そんな機能は知らんが、メモ帳でも開いて横で入力作業するのはどう?
それでも止まるのかな
後はVBAで出来るかもしれんがあまり自信が無い
141:名無しさん@そうだ選挙にいこう
10/04/13 13:57:22
>>138
「Enterキーを押した時に読み上げる」というオプションがあるので、それを使えばうまくできるかも
142:名無しさん@そうだ選挙にいこう
10/04/13 14:01:08
よろしくお願いします。
他ブックにデーターを1行づつコピーするときなんですが
30列のうち5列だけは「形式を指定して」する必要があり1列はコピー不要。
この場合、行を一括でコピーした後、5列分だけセルのコピーをやり直し1列は削除するのと
最初からセル単位で29回コピーするのでは、どちらが正しい(早い)やり方なんでしょうか。
143:142
10/04/13 14:05:35
すいません、書き忘れました
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 処理速度 ベンチマーク など
VBAで大量データを扱う場合についての質問です。
144:名無しさん@そうだ選挙にいこう
10/04/13 14:28:16
>>143
経験則と想像で書くけど、全体をまとめてコピーしたあと、
あらためてコピー先で不要データの削除や書式の解除をした方が早いと思う。
そういうベンチマークは見たことがないので、厳密な結果が欲しいんなら
自分で実験するしかないと思う。
145:名無しさん@そうだ選挙にいこう
10/04/13 16:56:57
>>144 さん ありがとうございます。
行コピーは機械語になるときセルのコピーの繰り返しと一緒なのでは?などと
頓珍漢な妄想をあれこれ膨らませ、手が止まってました。
一括コピーして修正という方法でいこうと思います。
146:名無しさん@そうだ選挙にいこう
10/04/13 18:01:27
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 7いいえ
【4 VBAでの回答の可否】 可7
【5 検索キーワード 】 エクセル 関数 文字 行 検索
質問です
関数で文字を検索してその文字があったら、その文字が入っているセルの行番号を取得したいのですが
やり方がわかりません
例えば
検索文字→リンゴ
の場合A10にリンゴという文字が入っていると、行番号10を返してくれる
よろしくお願いいたします。
147:名無しさん@そうだ選挙にいこう
10/04/13 18:16:23
>>146
探したい場所がA列なら
=MATCH("りんご",A:A,0)
148:名無しさん@そうだ選挙にいこう
10/04/13 22:29:38
【1 OSの種類 .】 Windows xp
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
EXACTを使ったのですが、式をそのまま表示されてしまいます。。
他の関数は問題なかったのですが、何か別設定が必要なのでしょうか?
よろしくお願い致します。
149:名無しさん@そうだ選挙にいこう
10/04/13 22:32:31
>>148
セルの書式設定が文字列になってないですか?
その場合は標準にしてみてください。
150:名無しさん@そうだ選挙にいこう
10/04/14 08:06:15
>>149
標準になってました、ありがとうございます。
なんでだろう、、
151:名無しさん@そうだ選挙にいこう
10/04/14 09:52:37
>>147
無事できました
別シートを参照する形にしたかったのでこうなりました
=MATCH("りんご",INDIRECT(A15&"!A:A"),0)
どうもありがとうございました
152:名無しさん@そうだ選挙にいこう
10/04/14 22:06:07
ファイルを開いく直前、「○○を入力してください」というメッセージを出して、
開いた時点でその入力したものがA1(例)の特定のセルに入ってるように、
VBAかなにかでどうやったら出来ますか?
153:複乳
10/04/14 22:33:18
>>152
Thisworkbookはこうやって使うのか・・
sheet1でも標準モジュールでもなく、
Thisworkbookに以下を記述
Private Sub Workbook_Open()
Dim a As String
MsgBox "死にたい。"
a = InputBox("何かを入力してください・・")
ActiveSheet.Cells(1, 1) = a
End Sub
154:152
10/04/14 22:40:25
>>153
Thanks so much.
でもMsgBoxの内容が怖い・・・
155:100年カレンダー
10/04/14 22:43:39
以前話題になった「100年カレンダー」ができました。
A4二枚の紙に100年分の日々がプリントアウトされます。
1日といえどもこのカレンダー上で1日分のマス目がはっきり見えます。
よって、人生で一日も無駄にはできないと自分をひきしめる効果があります。
しかしネガティブな人は使用はご注意を。
URLリンク(www1.axfc.net)
156:名無しさん@そうだ選挙にいこう
10/04/14 22:45:53
じつは>>155で「B367のセルに最初の年を入力してください。」というメッセージを出して、
それをB367に入れるようにしようと思ったけど、コメントの挿入機能ですっきりできた。
157:名無しさん@そうだ選挙にいこう
10/04/14 23:12:32
こんばんわ。
質問があります、よろしくお願いします。
【1 OSの種類 .】 Windows XP Professinal SP3 32bit
【2 Excelのバージョン 】 Excel 2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 エクセル 常に 別ウインドウ 設定 ファイル default
【質問】 エクセルのファイルを開いた際に、常に別ウインドウで開きたいです。
※エクセル自体の×ボタンを押しても、他のエクセルファイルを開いて
いるものは閉じないようにしたいのです。
今は↓のサイトにある方法でできるようにしているのですが、以前はエクセルの
設定ファイルのようなものを開いて、基本の動作を色々設定したような記憶が
あるのですが忘れてしまったので、その方法を知りたいです。
URLリンク(www.trickpalace.net)
ご存知の方いましたら、どうかよろしくお願いします。
158:複乳
10/04/14 23:36:00
>>157
ツール オプション 全般 ほかのあっぷりけーしょんを無視する
159:157
10/04/14 23:54:25
>>158
れす、ありがとうございます。
その設定にしてみましたが、ファイルをクリックしても
エクセルが立ち上がるだけで、ファイルが開きませんでした。
160:名無しさん@そうだ選挙にいこう
10/04/14 23:57:38
設定ファイルを書き換えたのって、もっと古いバージョンの話じゃなくて?
フォルダの中をざっと検索してみたけど、2003にはそういうのは見当たらないっぽいんだけど
161:名無しさん@そうだ選挙にいこう
10/04/15 00:24:50
【1 OSの種類 .】 Windows XP
【2 Excelのバージョン 】 Excel 2003
AL-mailというメーラーを使っています。
マクロで集計をしてますが、終わったら「集計が終わりますた!」と
特定の人へメールを送信するにはどうすればいいですか?
162:名無しさん@そうだ選挙にいこう
10/04/15 00:47:25
>>161
メールを送る方法は色々あるけど、マクロを使ってメーラーを経由せずに直接送るのが定番。
そのマクロを使う方法にも種類があって、一番単純で個人的におすすめするのはCDOを使う方法。
「VBA CDO メール」みたいなキーワードでぐぐるとサンプルが色々出てくる。
163:名無しさん@そうだ選挙にいこう
10/04/15 02:45:40
初めて質問させていただきます。
会社のPCが新しくなって、Excelが2007になりました。
今まで色々な資料をExcel2003(会社のPCはほとんど今も2003です)で作ってきました。
先程共有サーバー上のFILEを編集したのですが、完成して上書き保存をしようとしたら保存が出来ません。
2007にて2003のFILEを開き編集したら上書き保存は出来ないのでしょうか・・・誰か助けてください><
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】いいえ
【4 VBAでの回答の可否】否
164:名無しさん@そうだ選挙にいこう
10/04/15 04:24:28
>>163
まずはエラーメッセージを「そのまま」書き写して。
一字一句間違えないよう、勝手に意訳や省略もしてはいけない。それが質問する時の基本。
165:名無しさん@そうだ選挙にいこう
10/04/15 04:27:42
>>164様 ありがとうございます。
エラーメッセージは「保存出来ません」のみでポップアップしてきました。
これで分かるでしょうか・・・
166:名無しさん@そうだ選挙にいこう
10/04/15 05:18:32
>>165
まずは、名前を付けて保存で自分のHDDに保存できるかどうか試してみて
167:名無しさん@そうだ選挙にいこう
10/04/15 05:20:52
名前をつけて保存はいけました。
が、別FILEになってしまいます・・・上書きはだめでした><
168:名無しさん@そうだ選挙にいこう
10/04/15 05:54:14
>>167
検索した限り根本的な解決方法が見つからないので、
名前を付けて保存したあとファイル名を戻してエクスプローラーでコピー
169:複乳
10/04/15 09:13:59
>>159
URLリンク(www.trickpalace.net)
で設定するオプションは「開く」になってる?
170:名無しさん@そうだ選挙にいこう
10/04/15 12:10:41
>>163
うちの会社も同じ状態になった。
microsoft updateの自動更新を無効にして、4月14日の更新を
削除したら復活した。
171:複乳
10/04/15 12:14:00
>>163
ファイルのアクセス権とかどうでしょ
172:名無しさん@そうだ選挙にいこう
10/04/15 12:51:59
>>170
もしかしてKB981715が原因だったの?
173:名無しさん@そうだ選挙にいこう
10/04/15 16:00:16
1:windows 7
2:2007
3:いいえ
4:否
5:2007 保護 グループ化
特定シート内のセルに誤入力を防ぐ為ロックを掛けています
同じものをブック内に作り2ページとなったので2ページ目のみをグループ化して入力情報が無い場合閉じて印刷時に出ないようにしたいのですが
シート内にロックがかかっている為にグループを開閉することができません、ロックをかけつつ開閉をするには何か良い方法があればお聞かせ下さい
174:157
10/04/15 16:17:09
>>160
レスありがとうございます。
もしかしたらOffice2000やXPだったかもしれません。
>>169
レスありがとうございます。
「開く(O)」が既定になっています。
175:名無しさん@そうだ選挙にいこう
10/04/15 16:59:18
EXCEL2007、VistaHomeです。
[Office]ボタンを押すと右側に表示される「最近使用したドキュメント」リストの中の
特定のドキュメント名を削除する(表示しないようにする)には、
どうすれば良いのでしょうか?
よろしくお願いします。
176:名無しさん@そうだ選挙にいこう
10/04/15 17:24:51
>>170
こちらではKB980232を削除することで回復。
どうもXPのほうのアップデートで起こっているらしい。
KB980232はSMB接続時のセキュリティホールの対応らしいので
そのあたりで何か不具合があったと思われ…
177:複乳
10/04/15 17:59:01
>>174
じゃーわからんなぁ
それか
【質問】 エクセルのファイルを開いた際に~
だけなら、CTRL+Wでブック一つだけ閉じることも出来るよ
178:名無しさん@そうだ選挙にいこう
10/04/15 20:36:20
>>177
おい、複乳!
手抜きしてないか?
179:複乳
10/04/15 21:44:58
>>178
手コキはしたが、手抜きはしてねえぜ
180:名無しさん@そうだ選挙にいこう
10/04/15 21:48:37
>>179
おい、複乳!
手、洗ったか?
181:名無しさん@そうだ選挙にいこう
10/04/15 22:00:09
>>175
特定の項目だけをあとから消すにはレジストリを書き換える。
最初から何も表示されないようにするにはオフィスボタン→Excelのオプション→詳細設定
→最近使用したドキュメントの一覧に表示するドキュメントの数→0にする
特定のファイルだけを記録しないようにすることはできない。
182:名無しさん@そうだ選挙にいこう
10/04/15 22:54:02
XP 2003
シートの文字が読みにくく、全角の "(" と半角の "(" をよく間違えます。
フォントをMSゴシックに変えられますか?
183:名無しさん@そうだ選挙にいこう
10/04/15 22:58:15
>>182
ツール→オプション→全般→標準フォント
184:名無しさん@そうだ選挙にいこう
10/04/15 23:05:55
>>183
シートじゃなくて、シートタブでした。。
185:157
10/04/15 23:57:41
>>177
たびたび、レスありがとうございます。
(*・ω・)そですか~。
いろいろとありがとうございました。
しかし、設定ファイルが思い出せない! _| ̄|●lll
excel.xlsとかdefault.xlsみたいな感じだったような。
>>182
シートタブの大きさ位しか変更できないぽいですね。
あとは、アドオンとか作ればできるのかな!?
それか、タブのところのフォントを外部からウインドウ操作系ソフトとかで・・・ウワーナニヲスル
186:名無しさん@そうだ選挙にいこう
10/04/16 00:24:00
デスクトップテーマを変えるとシートタブのフォントも変わるから、
何かの設定と連動してるんだと思うけど、どこが関係あるのかよくわからんわ。
187:名無しさん@そうだ選挙にいこう
10/04/16 00:50:50
シートコピーで質問です。
WB1にシート"集計"、"管理"があるとき、次のマクロでコピペすると
"集計"、"管理"、"9月"、"8月"、"7月"、"6月"、"5月"、"4月"になってしまいます。
SN2="管理"
For i = 4 To 9
SN1 = i & "月"
Workbooks(WB1).Worksheets(SN1).Copy After:=Workbooks(WB2).Worksheets(SN2)
Next
これを、"集計"、"管理"、"4月"、"5月"、"6月"、"7月"、"8月"、"9月"の順で
コピペするにはどう書けばいいでしょうか?
188:173
10/04/16 01:29:22
どなたか>>173をお願いします
189:名無しさん@そうだ選挙にいこう
10/04/16 01:31:17
>>187
SN2="管理"
For i = 9 To 4 Step -1
SN1 = i & "月"
Workbooks(WB1).Worksheets(SN1).Copy After:=Workbooks(WB2).Worksheets(SN2)
Next
190:名無しさん@そうだ選挙にいこう
10/04/16 01:43:05
>>187
4月から順に「SN2="管理"」シートのすぐ後にコピーしなさい!ってコードだから
当然、最終的には処理の順番とは逆に9月、8月・・・4月の順に並ぶよね。
それが理解できたら、簡単に修正できると思うよ。
191:名無しさん@そうだ選挙にいこう
10/04/16 02:05:11
>>189-190
ありがとうございます。
解決しました。
192:名無しさん@そうだ選挙にいこう
10/04/16 08:40:27
>>189
変数の使い方がおかしいね。
"管理"を変数に入れるんじゃなくて、Workbooks(WB2).Worksheets("管理")を変数に入れた方がいい。
193:名無しさん@そうだ選挙にいこう
10/04/16 08:41:31
ごめん、上は187あてだった。
194:複乳
10/04/16 09:11:16
>>179
ふっふっふ。そいつは私の偽者だ!
ちなみに手抜きはしていない
195:175
10/04/16 10:41:11
>>181
レスありがとうございます
196:名無しさん@そうだ選挙にいこう
10/04/16 15:37:32
複数シートのコピーは一気にやった方が速いし順番も書いたとおりになる
SN2="管理"
SL=array("4月","5月","6月","7月","8月","9月") 'Sheets List
Workbooks(WB1).Worksheets(SL).Copy After:=Workbooks(WB2).Worksheets(SN2)
Forで回す場合は配列にデータを足すだけにして、ループを抜けてから一気にコピー
197:名無しさん@そうだ選挙にいこう
10/04/16 17:33:30
XP SP3でExcel2000を使っているのですが、
ホイールクリックにペーストを割り当てるにはどんな方法がありますか?
198:名無しさん@そうだ選挙にいこう
10/04/16 19:58:28
>>197
フリーウェアかマウス付属のツール。どっちにしてもExcelとは直接関係ない。
199:名無しさん@そうだ選挙にいこう
10/04/16 21:04:29
>>196
値リストってめんどいわ、それこそ.Nameで取得するとか。
200:名無しさん@そうだ選挙にいこう
10/04/16 21:48:31
【1 OSの種類 .】 Windows vista
【2 Excelのバージョン 】 Excel2003 or 2007
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
シート上にマクロを登録したのボタンを配置しているのですが、
シートをスクロールさせてもボタンが動かないようにしたいのですが、方法はあるのでしょうか?
ウィンド枠の固定はすでに使用しているので×
そのファイルのみで使用するマクロなのでツールバーに配置するのも×
C3セルの上くらいにボタンが浮いているというイメージなのですが無理でしょうか?
201:名無しさん@そうだ選挙にいこう
10/04/16 22:24:21
>>200
そういう方法はない。
代替案として、ユーザーフォームなら場所を固定することが可能。
そのファイルを開いたときだけツールバーを出すってのもできる。
202:名無しさん@そうだ選挙にいこう
10/04/17 01:15:10
Excelの列の数を拡張( 例えば500個以上 )することはできますか?
203:名無しさん@そうだ選挙にいこう
10/04/17 01:28:34
>>202
出来ません。
2007を買いましょう。
もうすぐ2010も出るけど。
204:名無しさん@そうだ選挙にいこう
10/04/17 01:50:38
【1 OSの種類 .】 Windows xp
【2 Excelのバージョン 】 Excel2003 or 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
. (ドット)で始まるシートにハイパーリンクを張りたいのですが失敗します
こんな感じでやっています↓
=HYPERLINK("#.aa!V33")
シート名にドットで始まる名前をつけるというのがそもそもおかしいのかもしれませんが
私はそれに意見できる立場でないので、シート名変更はできません
205:名無しさん@そうだ選挙にいこう
10/04/17 01:54:49
=HYPERLINK('.aa'!V33)
でいけたけど。
206:名無しさん@そうだ選挙にいこう
10/04/17 02:04:47
> =HYPERLINK('.aa'!V33)
うーん
リンクにならなくてエラーでちゃう...
207:名無しさん@そうだ選挙にいこう
10/04/17 02:07:26
【1 OSの種類 .】 Windows XP sp3
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 excel 画像 ポップアップ セル
01
URLリンク(www.dotup.org)
02
URLリンク(www.dotup.org)
口で伝えるのが苦手なためちょいと画像をUPします。
こんなふうに、特定のセルへマウスを持っていと画像がポップアップするようにしたいのです。
例えば、猫の名前を100匹分羅列し、それぞれ違う画像がでれば
名前+画像が出るので分かりやすいじゃないですか!
エクセルじゃあ無理でしょうか?
VBAは、まだhellow worldの門すら叩いてない状態ですが
スクリプトさえ分かればなんとか記述していきたいです。
208:名無しさん@そうだ選挙にいこう
10/04/17 02:11:10
【1 OSの種類 .】 Windows xp
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
デスクトップにアクティブなbookの名前を自動で拾って
フォーマットをCSV→TXTに変換して保存したいんですけど
ファイルネームを上手く拾ってくれたらマイドキュメントに保存されたり
デスクトップに保存成功したらファイルネーム拾い間違ったりします
ググって探した範囲で色々試しましたがイマイチ解決に至りませんでした
以下ググっていじったコードです
Dim Path As String, WSH As Variant
Set WSH = CreateObject("Wscript.Shell")
Path = WSH.SpecialFolders("Desktop") & "\"
Fname = ActiveWorkbook.Name
ActiveWorkbook.SaveAs FileName:=Path & Fname.txt, _
FileFormat:=xlCurrentPlatformText
Set WSH = Nothing
おかしい所の指摘、もしくはコードお願いします
209:名無しさん@そうだ選挙にいこう
10/04/17 02:33:37
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 エクセル 数独
同じセルに関数を使うこともあれば、
単なる数字を使うこともあるんですけど
関数を使いたいときは関数を、
数字を使いたいときは数字を使う方法がありますか?
210:名無しさん@そうだ選挙にいこう
10/04/17 02:51:51
>>207
Excelじゃ無理
Visual Basicとか使ってExcelオブジェクトを貼り付ければ可能
211:名無しさん@そうだ選挙にいこう
10/04/17 02:58:13
こんど会社がExcel2003→2007にして大混乱。
この2007へのバージョンアップにあたり気をつけるべきこと(新機能など含む)をまとめたサイトはないですか?
212:名無しさん@そうだ選挙にいこう
10/04/17 02:58:38
>>204
HYPERLINK関数を使わずに、メニューから挿入→ハイパーリンクってやればできるけど
213:名無しさん@そうだ選挙にいこう
10/04/17 03:03:51
>>207
VBAが本来持ってる関数だけじゃ無理だけど、APIってのを使えば基本的にはなんでもできる。
ただしかなり難易度が高い。
VBA自体が入門者レベルなら不可能だと思っていい。
214:名無しさん@そうだ選挙にいこう
10/04/17 03:04:46
>>207
顧客管理かなにか?
Webで作りこむAJAXのほうが適してる気がする。
215:名無しさん@そうだ選挙にいこう
10/04/17 03:33:18
>>208
ファイル名の処理がおかしい。拡張子をtxtに変えるにはこうする。
Fname = ActiveWorkbook.Name
sp = 1: lp = 0
Do
pp = InStr(sp, Fname, ".")
If pp > 0 Then lp = pp: sp = pp + 1
Loop Until pp = 0
If lp > 0 Then Fname = Left(Fname, lp - 1)
ActiveWorkbook.SaveAs FileName:=Path & Fname & ".txt", _
FileFormat:=xlCurrentPlatformText
216:名無しさん@そうだ選挙にいこう
10/04/17 03:46:27
>>211
とりあえず2003と2007はまったく違うソフトだと思った方がいい。
今までに作ったシートは、そのまま使えればラッキー、基本的にはかなりの手直しが必要。
とくに印刷関係とオートシェイプ。
217:名無しさん@そうだ選挙にいこう
10/04/17 03:50:52
>>209
セルには定数か数式かどっちかしか入れることができない。
VBAを使えばセルの内容を書き換えることはできるけど、
普通は =IF(条件, 数式, 定数) みたいにしてセルの表示内容を変更する。
218:名無しさん@そうだ選挙にいこう
10/04/17 05:05:51
1行目に名前が入ったセルがあります。
データによって丸付き数字(1~15)が先頭にあるため、丸付き数字だけを
抜きたいのですが、シンプルな書き方があれば教えてください。
CLM = Range("IV1").End(xlToLeft).Column
For k = 1 To CLM
If Left(Cells(1, k), 1) = "①" Then
Cells(1, k) = Right(Cells(1, k).Value, Len(Cells(1, k).Value) - 1)
ElseIf Left(Cells(1, k), 1) = "②" Then
Cells(1, k) = Right(Cells(1, k).Value, Len(Cells(1, k).Value) - 1)
省略
End If
Next
219:218
10/04/17 05:09:32
x For k = 1 To CLM
o For k = 1 To 15
220:名無しさん@そうだ選挙にいこう
10/04/17 06:02:09
>>218
変数名にkkってのを使うとまずい場合は自分で書き換えてね。
For k = 1 To 15
For kk = Asc("①") To Asc("⑳")
Cells(1, k).Value = Replace(Cells(1, k), Chr(kk), "")
Next kk, k
221:名無しさん@そうだ選挙にいこう
10/04/17 06:07:16
>>218
ちょっと修正。これよりシンプルなのは思いつかん
For Each k In Range("A1:O1")
For kk = Asc("①") To Asc("⑳")
k.Value = Replace(k, Chr(kk), "")
Next kk, k
222:名無しさん@そうだ選挙にいこう
10/04/17 06:17:33
なんどもスマソ
もし先頭以外にも丸付き数字があって、それが消えたら困る場合はこっちね
For Each k In Range("A1:O1")
For kk = Asc("①") To Asc("⑳")
k.Value = Replace(Left(k, 1), Chr(kk), "") & Mid(k, 2)
Next kk, k
223:名無しさん@そうだ選挙にいこう
10/04/17 07:42:59
最初っから先頭だけ調べた方が簡単で速い
For Each k In Range("A1:O1")
If "①" <= Left(k, 1) And Left(k, 1) <= "⑳" Then k.Value = Mid(k, 2)
Next
224:名無しさん@そうだ選挙にいこう
10/04/17 07:47:39
それなら1つ目のLeftは無駄
For Each k In Range("A1:O1")
If "①" <= k And Left(k, 1) <= "⑳" Then k.Value = Mid(k, 2)
Next
225:名無しさん@そうだ選挙にいこう
10/04/17 07:52:02
ウザ
226:名無しさん@そうだ選挙にいこう
10/04/17 08:10:15
なら来なきゃいいの
227:名無しさん@そうだ選挙にいこう
10/04/17 08:45:25
次の質問どうぞ
228:名無しさん@そうだ選挙にいこう
10/04/17 09:01:12
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 エクセル 相談所 複乳 天才
複乳さんは♂ですか?♀ですか?
229:名無しさん@そうだ選挙にいこう
10/04/17 09:44:38
>>215
出来ましたありがとうございます!
感謝です
230:名無しさん@そうだ選挙にいこう
10/04/17 12:35:25
>>228
そういうのは↓で。
【質問不可】Excel総合相談所スレの雑談・議論スレ2
スレリンク(bsoft板)l50
231:名無しさん@そうだ選挙にいこう
10/04/17 14:07:08
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【5 検索キーワード 】 Excel スクロール 左右
取引先からメール添付で来たファイルなんですが、スクロールが縦方向ではなく
横方向になってるものがあります。これ以外のファイルは、問題ありません。
また、スクロールをクリックすると黒い▲が左右方向にしか出ません。
ググって調べてみましたが、マウスを買い換えろとか、Excelの再インストールとか
的はずれなものしか探せませんでした。
何か原因と対策についてご存知の方がいらっしゃれば教えてください。
よろしくお願いします。
232:名無しさん@そうだ選挙にいこう
10/04/17 16:05:00
WinXP
Excel2007
Excelを起動したとき、自分が創ったテンプレートを開くように設定するやり方があれば教えてほしいです
233:名無しさん@そうだ選挙にいこう
10/04/17 16:46:52
>>217
その手でやってみます
ありがとうございました
234:名無しさん@そうだ選挙にいこう
10/04/17 21:50:22
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 vbYes
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 日付 文字列
あるセルに入力してある日付をVBAで他のセルに転記したいのですが、
転記先セルの表示形式を"ggge年m月d日"としていても、
2010/4/19 と表示されてしまいます。
転記と言っても
sheets(1).cells(1,1).value=sheets(2).cell(2,3)value
ってな感じです。
この場合、コード書いて表示形式を指定スル必要があるのでしょうか?
235:名無しさん@そうだ選挙にいこう
10/04/17 22:47:41
>>234
試してみたけど、ちゃんと「平成22年4月19日」と表示された。
本当に書式がちゃんと設定されているか、プログラムのどこかでうっかり書式を変えてないか、よーく調べてみ。
236:名無しさん@そうだ選挙にいこう
10/04/17 22:48:09
>>231
スクロールエリアが設定されていませんか?
URLリンク(www.sharesjp.biz)
↑ぐぐったら普通に候補に挙がりましたが。
237:名無しさん@そうだ選挙にいこう
10/04/17 22:50:17
>>231
ツール → オプション → 表示 → ウィンドウ オプション → 垂直スクロール バーをチェック
238:236
10/04/17 22:54:27
スクロールバーの有る・無しだけの問題なら>>237で正解ですね。
239:名無しさん@そうだ選挙にいこう
10/04/17 22:54:55
max関数とlarge関数で質問があります。
=max(a1:a100)
と
=large(a1:a100,1)
は、
常に同じ値を返すと考えていいですか?
240:名無しさん@そうだ選挙にいこう
10/04/17 23:01:38
DATEDIF関数ってありますよな?
あれって何の英単語をもとにしてできたか考えたけど
最初はDATE DIFINITIONと思ってた。
しかし今ひょっとしてDATE DIFFERENCEという気がしてきた。
この考えはあってるか?
241:名無しさん@そうだ選挙にいこう
10/04/17 23:04:34
>>239
今、試しに日付をやってみたらmax関数の場合は日付を、large関数の場合はシリアル値を、
と違う値を返してきましたよ。
242:241
10/04/17 23:10:04
補足;
シリアル値は同じ(最大)値で、表示上max関数の場合は日付を、large関数の場合はシリアル値を
返してきたってことです。
243:239
10/04/17 23:35:06
>>241
それは単にそのセルにその書式が設定されていただけでは? ゲラゲラ
244:名無しさん@そうだ選挙にいこう
10/04/17 23:39:20
>>241-242
セルの書式設定が引き継がれるかどうか…が、
=max() と =large() の違いなの?
関数のヘルプを見たら、こんなんだったけど。
max 引数の最大値を返す。
large データの中から指定した<順位>番目に大きな値を返す。
245:名無しさん@そうだ選挙にいこう
10/04/17 23:49:22
特定のワークシートを自分で定義したクラスのインスタンスとするには
どうすればいいでしょうか?
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 ワークシート サブクラス Worksheet 定義
特定の種類のワークシートをWorksheet クラスのサブクラス
(たとえば、EmployeesTable)として
定義してやりたいんですが、方法がわからず、困っています。
(1) クラス EmployeesTable を Worksheet のサブクラスとして定義する
(2) 各ワークシートのインスタンス(たとえば Sheet1)を EmployeesTable の
インスタンスとして宣言?する
には、どうすればいいでしょうか?
ただし、EmployeesTable のインスタンスとするシートは、
動的に生成しないではじめから用意しておくものとします。
それとも、VBA でこういう方法でプログラムしようとするのは、
筋が悪すぎます?
よろしくお願いします。 m(_ _)m
246:名無しさん@そうだ選挙にいこう
10/04/17 23:59:57
>>239
結果は同じになるけど、MAXの方が速い
247:名無しさん@そうだ選挙にいこう
10/04/18 00:59:39
>>210
>>213
>>214
御回答有難うございました。
248:名無しさん@そうだ選挙にいこう
10/04/18 01:33:48
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 少しだけ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 VBA 個数 カウント
2010/1/1 みかん
2010/1/1 みかん
2010/1/1 りんご
2010/1/2 オレンジ
2010/1/2 りんご
2010/1/2 オレンジ
2010/1/2 オレンジ
2010/1/2 みかん
このように日付順に並んだ商品取引記録があります。
日付ごとに扱った商品の数を数えたいんですが、重複したデータは除いて数えたいです。
上の表だと1月1日はみかんとりんご2種類なので2、2日は3…と数えるには
VBAでどのように書けばいいんでしょうか?
249:複乳
10/04/18 01:34:26
>>245
やったことないから予想だけど。
ブックが持っているのはワークシートのコレクションだから、
EmployeesTableクラスのコレクションを持てるbookクラスを継承した新ブッククラスを作る必要があるとおもう
そしてその新ブックの表示のためにはアプリケーションをいじるかユーザーフォームからということになるだろうな
メソッドなら関数作って呼び出し、プロパティなら変数でも使った方がいいかな
>筋が悪すぎます?
場合によるけど多分悪い
>>240
DATEDIF 語源 の検索結果 約 6,220 件中 1 - 10 件目 (0.27 秒)
DATE DIFference excel の検索結果 約 42,000,000 件中 1 - 10 件目 (0.12 秒)
DATE DIFINITION excel の検索結果 約 24,000,000 件中 1 - 10 件目 (0.25 秒)
MSに聞けば確実。
>>231
再インストールすれば治っただろうし、あながち的外れというわけでもないような
250:名無しさん@そうだ選挙にいこう
10/04/18 06:15:33
difinitionなわけないだろ
理由は辞書を引けばわかる
251:名無しさん@そうだ選挙にいこう
10/04/18 07:22:26
>>248
データがA1から始まって、日付がA列、品名がB列として
Sub a()
Set sc = Range("A1") '開始セル
For Each r In Range(sc, sc.End(xlDown).Offset(1))
If dy <> r.Text Then
If r.Row <> sc.Row Then
Debug.Print dy, dic.Count '結果の表示
Set dic = Nothing
End If
Set dic = CreateObject("Scripting.Dictionary")
dy = r.Text
End If
dic(r.Offset(0, 1).Value) = ""
Next
End Sub
252:241
10/04/18 10:20:51
>>243
適当なセルに複数入れてみた結果、それぞれ関数によって表示が変わりますが。
ゲラゲラする前に試してみようよ。なっ。
253:名無しさん@そうだ選挙にいこう
10/04/18 15:29:04
>>252
「大丈夫」って背中を押してもらわなきゃ満足に関数を使えず、
さらにマジメに答えてくれた人を嘲笑するような人に、それ以上
マジメに答えても損するのはあなただよ。
うんこは触っちゃダメ。
254:名無しさん@そうだ選挙にいこう
10/04/18 16:58:17
>>253
> うんこは触っちゃダメ。
すげぇ いい例えだなww
俺もそれ別のところで使うわwwww
255:名無しさん@そうだ選挙にいこう
10/04/18 17:28:58
値は同じだよな
表示形式が違うだけで
調べてみたところ、MIN関数は選択範囲の一番上のセルの書式を自動的にコピーするようだ
=MIN(A2:A10)とやると、一番小さな数値が結果として返され、A2セルの書式がコピーされる
書式がコピーされるのはMIN関数を入力した瞬間だけで、あとからA2セルの書式を変えても影響を受けない
さらに条件によっては書式がコピーされない場合もある
けっこう複雑だ
256:名無しさん@そうだ選挙にいこう
10/04/18 18:19:11
A1の絶対参照は$A$1ですが、他にも$A1やA$1があります。
特に後者2つ$A1やA$1を含めた絶対参照を使いこなすため
何か数学的コツ、というかExcel学的コツはありますか?
257:名無しさん@そうだ選挙にいこう
10/04/18 18:35:28
>>256
式を下や右にコピペした時に、$が付いているほうは変わらないってだけだろ?
そんなに難しく考えなくてもよくね?
258:名無しさん@そうだ選挙にいこう
10/04/18 19:36:34
1つのシートにたくさん表があって、そのそれぞれの表にオートフィルタをする方法はどうやりますか?
259:名無しさん@そうだ選挙にいこう
10/04/18 21:40:09
>>258
できません
1つのシートにフィルタは1つ
260:258
10/04/18 22:01:22
それは困るじゃないか。
261:名無しさん@そうだ選挙にいこう
10/04/18 22:19:39
教えたまえ
生年月日が「S61.4.19」の文字列の形式で入ってるデータベースがあり、
これらを全部シリアル値に変えるにはどうしたらいい?
262:名無しさん@そうだ選挙にいこう
10/04/18 22:31:28
>>261
その列を選んで「データ」→「区切り位置」→「完了」
ってやると、あら不思議、シリアル値に
263:名無しさん@そうだ選挙にいこう
10/04/18 22:48:27
100枚のワークシートを作るにはどうすればいいですか?
1つ1つ作るのは面倒なので。
あと、各ワークシート名を、別ファイルで用意したA1~A100の100個のセル内の文字列をそのまま100個のワークシート名として使いたいのですが、
その方法とは?
264:名無しさん@そうだ選挙にいこう
10/04/18 22:53:43
>>263
VBAかマクロ使え
265:名無しさん@そうだ選挙にいこう
10/04/18 23:03:53
>>262
できないぞ
しかし . の区切り記号で区切って3つの数字を取りだし、date関数でその3つをインプットしたらできたわ
266:腹乳
10/04/19 00:03:16
>>265
=date(S61,4,19)
こんな感じにしたと?
Sが入ってる時点で、シリアル値にならないっしょ。
どうせだったら、Ctrl+H(置換)で . を / に全て換えてやれば
関数を使わずにシリアル値に置き換わるぞ。
確認したのは Excel 2003 だけど。
267:名無しさん@そうだ選挙にいこう
10/04/19 00:10:55
>>266
No way.
sははずしたよ。それでSの年号に1925を足して西暦に。
たしかに . → / に変換したらできましたわ。 except I had to delete the other " . " right after "S", because the original data format was, like, "S.62.12.30"
268:名無しさん@そうだ選挙にいこう
10/04/19 00:30:50
文字列に空白がいくつか存在してて、それらをすべて消す方法はありますか?
trim関数だと1個は消えないし。
名簿で名前が「複 乳 太 郎」のような感じで、姓と名の間だけじゃなく苗字の間にも入ってるのを消したいんです。
269:名無しさん@そうだ選挙にいこう
10/04/19 00:39:23
=SUBSTITUTE(SUBSTITUTE(A1," ","")," ","")
270:名無しさん@そうだ選挙にいこう
10/04/19 01:33:19
>>269
Oh, thank you!
271:名無しさん@そうだ選挙にいこう
10/04/19 02:22:34
>>263
作るだけならVBAで簡単にできるけど、
1つのブックに100枚もシートを作ったら
めちゃくちゃ重くなるのでおすすめできない
272:名無しさん@そうだ選挙にいこう
10/04/19 03:52:00
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 excel 図形 反転 文字列
フローチャート作ってるんだけど、
上下反転させた図形にテキストを入力すると文字まで反転する。
どうすれば図形のみを反転させることができるのでしょうか?
273:名無しさん@そうだ選挙にいこう
10/04/19 05:27:00
>>272
図形を反転させたあと、逆さになった文字を右クリック→テキスト効果の設定
3-D 回転でZを180°にします
274:名無しさん@そうだ選挙にいこう
10/04/19 06:44:38
>>273
おお!ありがとうございます!
昔は反転させたくてもできなかったのになぜ2007になったら勝手にと・・・
275:名無しさん@そうだ選挙にいこう
10/04/19 13:15:32
フィルタオプションの設定で
例えばある列項目が200以上かつ偶数のもののみを抽出するにはどうすればいいですか?
276:名無しさん@そうだ選挙にいこう
10/04/19 18:25:12
別の列に「200以上かつ偶数のもののみ」だったら1が入る式をつくれ
277:名無しさん@そうだ選挙にいこう
10/04/19 19:34:41
excelを勉強していますが、配列数式を勉強する利点はありますか?
278:名無しさん@そうだ選挙にいこう
10/04/19 20:07:06
>>277
個人的に配列で遊ぶのは好きだけど、勉強するメリットはない
それより簡単マクロを勉強した方がマシ
279:277
10/04/19 20:26:15
>>278
わかりました。配列あきらめます。
ではおっしゃるとおりマクロを勉強しようと思いますが、いい本ありますか?
近くの本屋がPM9に閉まるので、今日それまでに買えると嬉しいな。
280:277
10/04/19 20:51:16
うぁあ、もう閉まるぅぅ
281:名無しさん@そうだ選挙にいこう
10/04/19 20:51:51
>>279
とりあえず好きなの一冊選べばいいんじゃない?
どうせ一冊だけではよく分からないと思うからw
282:名無しさん@そうだ選挙にいこう
10/04/19 21:48:19
5ケタあるいは6ケタの数字がいっぱいあって、
これらを「 ○○万 」あるいは「 ○万 」と表示させるにはどうしたらいいでしょうか?
計算にも使いたいので文字列には変換しないでちょ
283:名無しさん@そうだ選挙にいこう
10/04/19 21:49:05
1000の位より下の表示は無視です
284:名無しさん@そうだ選挙にいこう
10/04/19 22:06:28
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 是非
以前、>>81で書き込んだモノです。
教えていただきたいのですが、A3シートに入れた数字を
掛け算して、必要個数をA4に表示させるというマクロで
A3に、半角数字以外を入れると、メッセージが出るように
しようと思ったのですが…
if range("A3") <> intenger then
msgbox "数字を入れろ"
End
else
range("A4") = range("A3") * 2
end if
こうかなーっと思ったら、何を入れても数字を入れろと
いう結果で(´・ω・`)
intenger じゃなく、LONGなのかなーっとか思ったりも
しましたが、それだとエラー出てしまうし、秀和社の本では
答えが出ず…です。
申し訳ありませんが、宜しければ、正しいコードを
教えていただけないでしょうか?
285:名無しさん@そうだ選挙にいこう
10/04/19 22:15:26
>>284
前のはよく見てないけど
If IsNumeric(Range("A3").Value) = False Then
MsgBox "数字を入れろ"
End
Else
Range("A4").Value = Range("A3").Value * 2
End If
286:名無しさん@そうだ選挙にいこう
10/04/19 22:35:30
>>285
ありがとうございます!! IsNumeric関数
…よく理解出来て無かったです。
ぐぐったら、ワークシートのマクロばかりでて、
困っていたのですが、これで一つ勉強になりました。
ありがとうございます!!
287:名無しさん@そうだ選挙にいこう
10/04/19 22:41:45
>>275
検索条件には数式が使える。
ある列がA列なら
検索条件範囲の1行目を空白
2行目に=IF(A2>=200,MOD(A2,2)=0)
でいける。
作業列は要らん。
288:名無しさん@そうだ選挙にいこう
10/04/19 22:49:45
>>277
あるよ。
初心者にすげーって尊敬される。
ただしも両刃の剣で分ってる人には馬鹿にされるけどな。
289:名無しさん@そうだ選挙にいこう
10/04/19 23:04:51
>>282
=INT(A1/10000)&"万"
290:名無しさん@そうだ選挙にいこう
10/04/19 23:08:18
245 です。
>> 249
ごめんなさい、お礼が遅くなりました。
> ブックが持っているのはワークシートのコレクションだから、
> EmployeesTableクラスのコレクションを持てるbookクラスを
> 継承した新ブッククラスを作る必要があるとおもう
複雑になりそうですね。
とりあえず、元になるワークシート(例: EmployeesTable) に関数
(例: SelectEmployees)を定義しておいて、それをコピーして使おう
と思っているのですが、任意のワークシートが、当該の関数(この場合
SelectEmployees)を持っているかどうかを、調べるにはどうすれば
よいのでしょうか?
ワークシートをユーザ定義のクラスに属させることができれば、
クラス名を調べることでできそうなのですが、無理っぽいので、
別に方法があれば、と思うのですが…。
現実解としては、特定のセルに特定の文字列が入っているかとか、
シート名のパタンとかで判断することになりそうなのですが…。
291:名無しさん@そうだ選挙にいこう
10/04/19 23:16:37
>>289
それ、だめです。
「計算にも使いたいので値はそのままにして変換しないでちょ」って書いてたでしょ。
292:282
10/04/19 23:18:07
セルの表示形式のユーザ定義を使って、どうにかできないのかにゃ?
293:名無しさん@そうだ選挙にいこう
10/04/19 23:48:41
0"."0000"万" あたりで勘弁してください
294:282
10/04/19 23:56:34
>>293
それだと下のようになるではないか
1.2345万
5.4621万
45.6546万
12.3224万
0.1564万
295:名無しさん@そうだ選挙にいこう
10/04/19 23:59:46
上の例だと、このようにしたい
1万
5万
46万
12万
0万
296:名無しさん@そうだ選挙にいこう
10/04/20 00:35:08
変換しないで 万単位は難しいかもね
3桁ごとなら 書式設定( 0,"千" )で出来るけど
297:名無しさん@そうだ選挙にいこう
10/04/20 01:02:40
>>291
この例だとA1セルの内容は変わってないから、そっちで計算すればいいじゃん
298:名無しさん@そうだ選挙にいこう
10/04/20 01:03:57
書式で万単位にすることはできない
作業列を使ってデータを2種類入れておくしかない
299:名無しさん@そうだ選挙にいこう
10/04/20 03:33:03
>計算にも使いたいので文字列には変換しないでちょ
意味がワカランw
最後の「ちょ」は何ですか?
300:名無しさん@そうだ選挙にいこう
10/04/20 04:04:38
>>282
>計算にも使いたいので文字列には変換しないでちょ
なんだから
=A1/10000 として書式を 0"万"
>>291 はあえて無視する
301:名無しさん@そうだ選挙にいこう
10/04/20 06:21:46
>>290
シートがそれぞれ関数を持つんじゃなく標準モジュールに書いて
シートでは関数を呼び出すだけにすればいいんじゃないの?
どのシートが呼び出したかは引数にシートを渡してやれば
Isでシートを調べる事はできるっしょ
それと、この事だけど
>ワークシートをユーザ定義のクラスに属させることができれば
Class_InitializeプロシージャでWorksheet型かSheet型で定義した変数に
Setするんじゃダメなのか?
まぁ、やりたい事がよく分からんから全然的外れな事を言ってしまったかも知れんが
302:名無しさん@そうだ選挙にいこう
10/04/20 09:11:29
【1 OSの種類 .】 Windows vista
【2 Excelのバージョン 】 Excel 2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード 】 エクセル・VBA・並び替え 等々
質問です。今回故あってVBAを使う作業をすることになったんですが、ほとんどわかりません。
初心者同然で申し訳ないんですが、作業量が膨大なので、VBAで教えてください。
ある体育競技のタイム集計をすることになりました。データは、
A列:名前
B列:種目(数字で表してある)
C列:タイム
D列:年齢
といった具合です。これを、
①種目別に並び変えて(数字を昇順にして)
②各種目内でタイムの速い順に並び変えて
③もしタイムが同じであれば若い順に並び変えて
④最後にそれをもう一度任意の順に並び変える(速いほうから9人ずつのグループを作り、各グループ内で速いほうから9,8,5,4,1,2,3,6,7の順に並び替えます)
といった作業をしたいです。並び替えの優先順位は、種目>タイム>年齢だということです。
一つの列のデータの小さい(or大きい)順に、行ごと並び変える方法を教えてください。あと、種目別に並び変える際には、各種目間に空白の行があるとわかりやすいので、それもできれば追加で教えてください。
本も買ってみて基本的なことは理解したんですが、VBAって指示の種類が豊富でなかなか自分の欲しい情報がみつからないですね…
いきなり初歩的な質問ですみませんが、よろしくお願いします。
303:名無しさん@そうだ選挙にいこう
10/04/20 09:19:21
>>295
表示形式 [>10000]#"万"CtrlとJ同時押し###0;"0万"
配置 折り返して全体を表示する
これで大体いけるんじゃないか?
ただし行の高さが高かったりフォントサイズが小さかったりしたらNG
またマイナスも0万となるから適宜変更汁
304:名無しさん@そうだ選挙にいこう
10/04/20 09:30:03
0"万"CtrlとJ同時押し###0で良かったか
305:複乳
10/04/20 09:39:42
>>302
マクロの記録は使った?
それでも分からなかったらも一度質問してー
306:名無しさん@そうだ選挙にいこう
10/04/20 11:07:29
>>302
「並べ替え」の「ユーザー設定」で優先順位をB列、C列、D列の順番にすればいい
これをVBAでやりたいんならマクロの記録
手順(4)の意味がよくわからない
人数が9で割り切れないときはどうするの?
307:名無しさん@そうだ選挙にいこう
10/04/20 12:22:42
>>306
たぶん一番速い人が真ん中に来るその体育競技とは水泳なのでしょう。
その為に順番指定する手順④が必要なのだろうな。
308:名無しさん@そうだ選挙にいこう
10/04/20 12:37:14
VLOOKUP関数で、最初の引数のキー値を、表の左端ではなくそのつどいろんな列で検索したいことが多々あります。
そういうときはどうすればいいですか?
309:名無しさん@そうだ選挙にいこう
10/04/20 12:42:28
泣く
310:名無しさん@そうだ選挙にいこう
10/04/20 12:46:47
>>308
"使えねぇ~な。"
とつぶやく。
311:308
10/04/20 13:12:28
>>309-310
原子爆弾を製造してExcel会社に落とす、
という方法じゃだめですか?
312:名無しさん@そうだ選挙にいこう
10/04/20 14:09:05
MATCHとINDEX
313:308
10/04/20 14:31:14
>>312
そんなややこしいことはしたくないんだ
いま思ったけど、LOOKUP関数ってまさにこのためにあるって感じでしょうか?
314:名無しさん@そうだ選挙にいこう
10/04/20 15:09:26
とりあえずオートフィルタで。
315:308
10/04/20 15:40:36
>>314
通ですね
凡人なら「とりあえずビールで」と言うところですよ
昔の梅酒好きの彼女は「とりあえず梅酒で」とよく言ってみんなを驚かせてたけどな
316:302
10/04/20 16:32:43
>>305
>>306
ありがとうございます。並び替えやってみました。
こりゃ便利ですね。これなら特にVBAにこだわる必要はなさそうです。
>>306
その場合は、余った数だけでグループを作ります。もっとも、10人余ったら9:1ではなく5:5にするとか、多少ややこしいですが、手作業でするなら特に問題ではありません。
あとは、簡単に任意の順番に行ごと並び替えができればいいんですが、何かいい方法がありましたら、教えてください。
>>307
特に必要だとも思わなかったので伏せましたが、そうです水泳です。
質問ばかりで申し訳ないですが、よろしくお願いします。
317:児玉清
10/04/20 16:48:40
たくさんのセルに複雑な関数がいっぱい入ってて
それらをすべて確かめるためにメモ帳に貼り付けたくなりました。
普通に貼り付けると値になるし、できません。
その方法とは?
318:複乳
10/04/20 17:05:34
>>316
1-3はもうできたとみていいのかな
E2に
=IF(B2<>B1,9,IF(E1=9,8,0)+IF(E1=8,5,0)+IF(E1=5,4,0)+IF(E1=4,1,0)+IF(E1=1,2,0)+IF(E1=2,3,0)+IF(E1=3,6,0)+IF(E1=6,7,0)+IF(E1=7,9,0))
下にオートフィル、E列を選択してコピー、値で貼り付け
E列で並びかえ
319:名無しさん@そうだ選挙にいこう
10/04/20 17:40:22
>>317
>普通に貼り付けると
って、もう解っているんだろ。
320:複乳
10/04/20 18:11:33
>>317
数式バーをドラッグしてコピー
321:名無しさん@そうだ選挙にいこう
10/04/20 19:06:19
オプションで数式表示
322:名無しさん@そうだ選挙にいこう
10/04/20 19:32:41
>>313
全然的外れ
VLOOKUPの完全一致のFALSE検索の代用にはならない。
検査範囲が昇順にソートされてれば工夫して完全一致検索もできるけどな。
323:児玉清
10/04/20 19:48:09
>>321
そのとおり!
321さん、お見事!! パリそしてニースにいらしていただきます!! おめでとう!! 良かった!!
324:児玉清
10/04/20 19:52:26
さらに321さんにはトップ賞といたしまして(複乳さんのおっぱい)を合わせてお持ち帰りいただきます
そして、今日ごレスいただきました他2名様>>319さん、>>320さん、には(果物いっぱい)をお持ち帰りいただきます。
そして、今日見事パリ行きとなられました>>321さんを応援していただいた方には(500円でマスターできるExcel入門書)をプレゼントいたします
321さん、見事パリ行きを射止めたことをお伝えして、また来週この時間パリがあなたを待っております!! ごきげんよう!! さよなら!!
325:名無しさん@そうだ選挙にいこう
10/04/20 22:22:28
マクロを勉強しようと思い本屋に見に行ったのですが
ちゃんとした本はつまんないことしか書いてありませんでした。
そういうのではなく、マクロ利用で便利な機能がたくさん紹介されててすぐ使えるような本ってないですか?
マクロ自体で何ができるかすら全くみえてないので、最初は便利な機能の使用例をたくさん見る、というところからスタートしたいので。
さて、その本の名は?
326:名無しさん@そうだ選挙にいこう
10/04/20 22:47:39
時間のシリアル値で
表示を 「hh.hh 時間」にするにはどうしたらいいですか?
つまり、1時間20分だったら、1.33時間としたいのです。
327:名無しさん@そうだ選挙にいこう
10/04/20 22:48:35
>>325
本じゃないけど
つURLリンク(www.katch.ne.jp)
328:名無しさん@そうだ選挙にいこう
10/04/20 22:49:19
あ,直リンしちゃったすまん・・
329:名無しさん@そうだ選挙にいこう
10/04/20 23:06:03
>>326
A1に1:20と打ってあれば
=A1*24
表示形式 G/標準"時間"
小数点下2桁で四捨五入するなら 0.00"時間"
330:名無しさん@そうだ選挙にいこう
10/04/20 23:10:18
>>326
書式だけでは無理
=TEXT(A1*24,"00.00 時間")
みたいに数式を別セルに入れる必要がある
331:児玉清
10/04/20 23:11:11
>>327
結構!
しかし、そこはマクロについてあまり詳しく書いてないようですね。
また明日本屋で探すかな。
惜しくもパリ行きなりませんでしたが、また明日この時間パリがあなたを待っております!! ごきげんよう!! さよなら!! 残念!!
332:複乳
10/04/20 23:43:28
>>325
実務的なことをやりたいならオフィス田中 インストラクターのネタ帳 辺りで具ぐれ
曲芸をやりたいならニコニコ動画でエクセル、excel、vba このどれかで検索
プログラムは根本的に「何をやりたいか」が無いと覚えられないと思ったほうがいいよ
あと本は知らん。ついでにこのスレの連中は本を読んでない人が多い気がする