Excel総合相談所 92at BSOFT
Excel総合相談所 92 - 暇つぶし2ch237:名無しさん@そうだ選挙にいこう
10/06/07 23:23:23
マクロに書いたコメント文だけを抜き出すにはどうすればいいでしょう?

Sub test()
 Dim A As Long
 'A列の最下行
 A = Range("A65536").End(xlup).Row
 'メッセージを出す
 MsgBox "A=" & A
End Sub

これをSheet2に貼り付けて

 A列の最下行
 メッセージを出す

にする。(コメント前にあるスペースは残し、「'」は消す)

238:複乳
10/06/07 23:40:39
>>237
sheet2のA1:A7にはりつけたとして
B1=IF(LEFT(SUBSTITUTE(A1," ",""),1)="'",SUBSTITUTE(A1,"'",""),"")
下にオートフィル
VBEからも直接触れるらしいが欲知らない

239:fon
10/06/07 23:57:54
windows7です

A1~A14にルート2の1,41421356…を1マスずつオートフィルを使って入力するのにはどのような数式をA1に入力すればよいのでしょうか?

よろしくお願いします

240:複乳
10/06/08 00:07:53
>>239
=SQRT(2)
の結果でもみながら入力した方が早いと思うが

B1=SQRT(2)*10000000000000
A1=MID($B$1,ROW(),1)
下にオートフィルタ

241:fon
10/06/08 00:15:50

すみませんが、できませんでした。

242:名無しさん@そうだ選挙にいこう
10/06/08 00:27:56
>>241
B1に=SQRT(2)
B1の書式を0.00000000000
A1=1
A2=MID(B$1,ROW()+1,1)
A3からA14までオートフィル

243:fon
10/06/08 00:34:12

どうもでした。。

244:名無しさん@そうだ選挙にいこう
10/06/08 01:14:20
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel IPv6 2進数 16進数 計算

16進数を2進数に変換したいのですが、hex2bin だと、#NUM! が出て計算してくれません…
16ビットな16進数(1~65535)を2進数に変換してくれる関数とか、他に無いでしょうか?

128ビットまるごとだと、なおうれす

245:名無しさん@そうだ選挙にいこう
10/06/08 02:07:08
>>244
ヘルプは見た?
引数に与えられる16進数の最大値は1FFまで
だから200以上はエラーになる

246:名無しさん@そうだ選挙にいこう
10/06/08 08:04:49
>>245
見てはいなかったですが、確認はしています。
他に無いでしょうか?

247:名無しさん@そうだ選挙にいこう
10/06/08 09:01:07
n進数の考え方なんてそんなに難しくないから
VBA使えるなら自分で作れそうなもんだけどな。
IPv6で検索してる所を見ると他にやりたい事がありそう。
ひとりごとでした。

248:名無しさん@そうだ選挙にいこう
10/06/08 09:01:32
>>244
0~FFFFまでなら
=HEX2BIN(LEFT(RIGHT("0000"&A1,4),2),8)&HEX2BIN(RIGHT(A1,2),8)

参考にしたページ
URLリンク(www.excel.studio-kazu.jp)


249:名無しさん@そうだ選挙にいこう
10/06/08 09:04:25
128ビットって大きな数過ぎて正確には扱えないよね

250:名無しさん@そうだ選挙にいこう
10/06/08 09:33:12
えっ

251:名無しさん@そうだ選挙にいこう
10/06/08 13:18:38
>>248
なるほど。
素直に16ビットで扱うことは諦めて、8ビットにわけて考えることにします
ありがとうございました m(__)m

あ…そういう前提だから9ビットまでしか対応してないのかもですね



で、IPv6は…正引きや逆引き、プレフィックスその他もろもろ
チェックするアドインでも作ろう…として、最初に躓きましたw
車輪の再発明は好きじゃないので、あれば利用したいなと。
PTRの設定、早速1文字ミスったので…orz

252:複乳
10/06/08 14:33:23
量が少ないならwindows付属の電卓でいいんじゃないの
表示→関数電卓を選べば2/16進数の計算もできるよ

253:名無しさん@そうだ選挙にいこう
10/06/08 16:23:48
16進変換なんて32butまでならVBAですぐ作れるじゃん
自分で作らなくても検索すればすぐ出てくるからコピペでもいいし

254:名無しさん@そうだ選挙にいこう
10/06/08 18:20:25
ひとつのセルに入力された結果を見て

アタリ
ハズレ
空欄(入力待ち)

の3種類の表示を使い分けるにはどうすればいいですか?

255:名無しさん@そうだ選挙にいこう
10/06/08 18:40:56
>254
A1セルの内容によって表示を変える式は2通りあります。
その1 アタリと表示したいA1の内容を式の中に直接書き込む場合
=IF(A1="","",IF(A1="○○○","アタリ","ハズレ")) ○○○の部分を適当に変える
アタリとなる内容が数字の場合は =IF(A1="","",IF(A1=999,"アタリ","ハズレ")) などの
ように、""は付けない

その2 アタリと表示したいA1の内容を別のセル(例:C1セル)に書き込んでおく場合
=IF(A1="","",IF(A1=C1,"アタリ","ハズレ")) C1セルにアタリとなる内容を入力しておく
C1セルに入力した内容が見えないように文字色を白にしておくといいです。

256:名無しさん@そうだ選挙にいこう
10/06/08 20:33:50
>>238
ありがとうございますた。

257:名無しさん@そうだ選挙にいこう
10/06/08 20:44:46
【1 OSの種類         .】 WindowsXPで製作(Vistaも使用)
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可能
【5 検索キーワード     】 修復
助けてください。
VBAでマクロを作っていたのですが、製作途中である日突然ファイルが開けなくなりました。
ファイルを開くと砂時計が続き、VBAも開けません。強制終了しか方法がありません。
それが原因かわかりませんが、前日の終了間際に同じ名前のプロシージャーが二つあり、エラー表示が
出ていることを確認しています。修復して開こうと試みましたが、”ファイルへのダメージが深刻であり”と表示され
修復できません。なんとか元のファイルを直すことは出来ないでしょうか・・


258:名無しさん@そうだ選挙にいこう
10/06/08 21:24:25
昨日記号が作れないと助けを求めたものです
みなさんご親切にどうもありがとうございました。
>>233
の左から三つ目です。これがもうちょっと黒い部分が多かったり少なかったりの記号なんですが・・
図形のフリーハンドっていうのがあったので枠囲って塗りつぶしでなんとかしました
多分これでどうにかなってると思・・・いたいw

あとついでに質問させてください
うまく説明できないのですが、画面いっぱいにカーソル移動させた時、画面が動かないんです
たとえば・・20列目までは画面に映ってる時に、↓キーで21列目に移動させても画面がすすまないんです。
25列目くらいに移動して初めて21列目が見れるよう(画面移動して)になる
図形をいじってたらいきなりこうなって打ちにくくて困ってます。ちなみに2007です

259:名無しさん@そうだ選挙にいこう
10/06/08 21:37:53
>>258
スクロールロックキー を押してしまったんじゃないかい?

もう一度Scroll Lockを押せばOK

260:複乳
10/06/08 21:51:39
>>258
そんな文字はなかったような
下は>>259じゃ無ければウィンドウ枠の固定かも
>>257
エクセル ファイル 壊れた
でぐぐる。やり方は色々ある
OOo使うのが一番復旧しやすい気がする
バイナリエディッタでも見れる可能性はある
まぁー多分、作り直した方が早いよ

261:258
10/06/08 21:55:07
ありがとう。明日見てみます

262:名無しさん@そうだ選挙にいこう
10/06/08 22:18:47
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可・否
【5 検索キーワード     】 関数 桁 参照

基本的な質問ですいません。
データ列の上N桁を読み込んで、別に用意したテーブルの項目名をあてはめることは可能ですか?

たとえば、

「データ列」  「テーブル」
  002**  →  002 北海道札幌市
  120**  →  120 東京都足立区
  530**  →  530 大阪市北区

のような。

実際はデータ列は5,000行~30,000行程度×10シート、テーブルは100行程度のボリュームがあります。

また上N桁は2桁、3桁のように決まっていません。上2桁~上5桁までばらつきます。

vlookupでは無理のようでどの関数で処理すればいいのか分かりませんでした。

263:名無しさん@そうだ選挙にいこう
10/06/08 22:23:35
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否

超初心者です。
ページレイアウトタブにある「行番号」を表示させて学習していたら
作成時はもちろん新規作成を出すと必ず行番号1が表示されるようになり
常に行番号の▼を「なし」とクリックしないといけない状態になってしまい
面倒くさくて困っています。
この1が出ないようにするにはどうすればいいでしょうか?

よろしくお願いいたします。<m(__)m>

264:名無しさん@そうだ選挙にいこう
10/06/08 22:30:48
>>262
テータ列・テーブルからそれぞれ作業列に =VALUE("0."&A8) として
=VLOOKUP(データ列の作業列,テーブルの作業列をキーに,列番号,TRUE)
でどうでしょう?

265:263
10/06/08 22:37:22
ごめんWordでした

266:名無しさん@そうだ選挙にいこう
10/06/08 22:41:16

( ゚Д゚)ゴルァ!!

267:名無しさん@そうだ選挙にいこう
10/06/08 23:08:36
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 エクセル 表 集計 関数
エクセルで支店ごとの売り上げを合計したい
今もっているデータが、

支店1
得意先 1月 2月 3月 4月  5月
A社   100  20  30  10  50
B社   40   30  20  10  80
C社   30   100  20  40  40

支店2
得意先 1月 2月 3月 4月 5月
A社   10  50  30  40  80
E社   30  30  20  10  30

のようになっています。
これらを全ての支店の売り上げを合計し、全社の得意先別売り上げを

得意先 1月 2月 3月 4月 5月
A社   110  70  60  50  130
(B社、C社以降も同様)

のように得意先別・月別の形を残したまま、
計算機能を利用して合計したいです。
どうすればいいですか。


268:複乳
10/06/08 23:32:52
>>262
文字数を指定してleftでキリトリ、それをキーにしてvlookup
URLリンク(www1.axfc.net)
>>267
sumif関数。絶対参照をうまく使えば一箇所入れるだけで後はオートフィルでok
URLリンク(www1.axfc.net)
支店ごとにシートが違う場合はまた別の方法で

269:名無しさん@そうだ選挙にいこう
10/06/09 00:41:14
>>255
ありがとうございました

270:名無しさん@そうだ選挙にいこう
10/06/09 01:36:26
/ が入力できません><

271:名無しさん@そうだ選挙にいこう
10/06/09 02:51:35
>>270
'/

272:名無しさん@そうだ選挙にいこう
10/06/09 02:52:49
>>270
まずF2押す

273:名無しさん@そうだ選挙にいこう
10/06/09 06:45:23
>>267
ピボットテーブルウィザードで「複数のワークシート範囲」で簡単。
次善の方法としては「統合」もある。
使い方はどっちも似たようなもんだ。
次善手の統合なら、表を書き出したい空白セルにカーソルを置いて
統合元範囲に二つの範囲を追加していき、上端行と左端列にチェックを付ければよい。
データが非常に多いときはピボットテーブルだが、それほどでもなければ統合で十分。

274:名無しさん@そうだ選挙にいこう
10/06/09 08:22:46
Excel2007で質問御願いします。

あるセル上、セル選択状態からいきなり入力を始めて打ち間違いをし
左矢印キーで修正のため戻ろうとするとそのセル内で前の文字に戻らずに
左のセルに移動してしまいます。
入力を始める前にF2とかでセルを編集状態にしてからなら問題ないのですが
それをせずにセル内の文字列内で戻る方法はありますか?

275:名無しさん@そうだ選挙にいこう
10/06/09 08:35:27
ない。

276:名無しさん@そうだ選挙にいこう
10/06/09 09:15:07
>>274
OnKeyメソッドで出来なくはないが、普通に←を使いたいとき困る。
そういう用途にしか←を使わないのであれば下のfooを実行すればいい。
Sub foo()
Application.OnKey "{LEFT}", "HOGE"
End Sub

Sub HOGE()
SendKeys "{F2}+{LEFT}"
End Sub


277:名無しさん@そうだ選挙にいこう
10/06/09 09:34:04
上はまずいかな?
どっちにしろ実用になるもんじゃないが一応書いておく。
Sub HOGE()
SendKeys "{f2}"
SendKeys "{insert}+{LEFT}"
End Sub


278:名無しさん@そうだ選挙にいこう
10/06/09 10:52:10
>>275->>277
ありがとうございました。

279:名無しさん@そうだ選挙にいこう
10/06/09 10:58:57
>>270
最初に / を入力する場面が頻出するなら、メニューのツール→オプションで移行タブをひらく。
そこに、Microsoft Offece Excel メニューキー として / が登録されてるから
あんまり使わないキーに書き換えとくことをオススメしとくよ。

あたしは \ に書き換えてる。

280:名無しさん@そうだ選挙にいこう
10/06/09 18:45:03
>>270
>>271
すごーい!できたよー\(*^o^*)/

281:名無しさん@そうだ選挙にいこう
10/06/09 19:49:24
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 なるべく使わない方向で
【5 検索キーワード     】 EXCEL グラフ 余白
凡例は消去してグラフをX数値、Yの数値、図だけでグラフを作成し
図を拡大しようとするんですが
右に10mm、上に5mmほどの余白を図で埋める事が出来ないでいます。
余白をなくす設定方法を教えていただけないでしょうか



282:名無しさん@そうだ選挙にいこう
10/06/09 19:51:44
XP Excel 2003
VBA初心者
VBAでの回答可

セルA1に入力された文字がファイル名になるマクロというのを見つけたのですが

Sub test01()
Dim x As String
x = Sheets("Sheet1").Range("A1").Value
Application.Dialogs(xlDialogSaveAs).Show arg1:=x & ".xls" '
End Sub

このコードを、フォルダ内にある複数のファイルにバッチ処理するにはどうしたらよいのでしょうか?


283:複乳
10/06/09 22:05:58
>>806
ダメージも上げれば・・
スト2だな

284:複乳
10/06/09 22:17:55
ぎゃー誤爆した
>>281
ないんじゃない。prtscrでコピー、ペイントで編集して貼付けか
気色悪い方法としてリンク貼付けでも対応可能
>>282
複数のファイルだと同じ名前でエラーが出るでしょ
どういう風にしたいの
A1:A5の五つのファイル、とか言うならfornextでRange("A1")をRange("A"&i)みたいに
すればいいとおもうけど

285:名無しさん@そうだ選挙にいこう
10/06/10 13:54:46
>>282 です。

エクセルファイルは200個くらいあって

それぞれの
セルA1 には 違う文字が入っています

--001.xls---
セルA1 りんご

りんご.xls のファイル名で保存

--002.xls---
セルA1 みかん

みかん.xls のファイル名で保存

…というふうに、200個のファイルをリネームしたいと言うことなのですが…

286:名無しさん@そうだ選挙にいこう
10/06/10 17:26:07
>>285
これから保存するんじゃなくて、ファイル名を一括で変更したいってこと?

287:名無しさん@そうだ選挙にいこう
10/06/10 17:42:20
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否

ある作業を2回行い、その作業にかかる時間を記録しました。時間が短い方が記録が良いです。
そのことをエクセルのグラフにどう表したらいいかわかりません。
普通にグラフを作ると時間が長い=数値が大きいので、記録が良くない方のグラフが上にきてしまい、ぱっと見では時間が長い方が良い記録であるようなグラフになってしまいます。
どうしたらいいでしょうか?


288:名無しさん@そうだ選挙にいこう
10/06/10 17:59:31
>>285
Excel2003以下用
2007以降は拡張子がたくさん増えたから自分で工夫して

Sub いっぺんに名前変更()
  ChDir "C:\data\ファイルがいっぱい入ってるフォルダ"
  OldFilename = Dir("*.xls")
  While OldFilename <> ""
    Workbooks.Open OldFilename
    NewFilename = Worksheets(1).Cells(1, 1)
    ActiveWorkbook.Close
    Name OldFilename As NewFilename & ".xls"
    OldFilename = Dir()
  Wend
End Sub

289:名無しさん@そうだ選挙にいこう
10/06/10 18:11:34
>>288

すすすごいです! ありがとうございます!!

290:複乳
10/06/10 18:12:12
>>285
何という読解力の低さ・・泣けるね
では改めて↓。Cドライブで作業しないとうまくいかないかもしれない
Private Sub CommandButton1_Click()
ChDir ThisWorkbook.Path
di = Dir("*.*")
Do While di <> ""
Workbooks.Open di

Workbooks(di).Activate
x = Sheets("Sheet1").Range("A1").Value
Application.Dialogs(xlDialogSaveAs).Show arg1:=x & ".xls" '
Workbooks(x & ".xls").Close

di = Dir()
Loop
End Sub


291:名無しさん@そうだ選挙にいこう
10/06/10 18:30:11
>>290
シート名がSheet1とは限らん

292:複乳
10/06/10 19:32:40
そう思うならそういうコード書いてあげればいいんじゃない
書けないなら黙ってれば

293:名無しさん@そうだ選挙にいこう
10/06/10 19:52:16
("*.*") ←かわいい!

294:複乳
10/06/10 20:31:39
>>287
=最高記録/時間 の行を作って最高記録が100%になるようなグラフにするか
もうそのままのグラフにするか、表のままか
そういや近距離走者のグラフとか見たことないな。あんまりさが無いからかな?
>>293
("*.*") < きもいだろ・・

295:名無しさん@そうだ選挙にいこう
10/06/10 20:58:34
程度の低いのを後出しするって・・・

アホコテはどんだけオナニー好きなんだよw

296:複乳
10/06/10 21:04:38
雑談は雑談スレへ

297:名無しさん@そうだ選挙にいこう
10/06/10 21:23:01
レス早w

298:名無しさん@そうだ選挙にいこう
10/06/10 21:25:10
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

あるxlsファイル中の、指定したセルのデータと同じ名前のxlsファイルを開いて、
マクロで編集・保存して閉じ、指定するセルを移動し、そのセルのデータと同じ名前の・・・という作業を自動で繰り返すことは可能ですか?

A.xlsのA1が「B」だったらB.xlsを開き、A.xlsのB1以降のデータを使ってB.xlsの該当部分をマクロで編集・保存して閉じ、
A.xlsのA2が「C」だったらC.xlsを開き、A.xlsのB2以降のデータを使ってC.xlsの・・・という感じです

299:名無しさん@そうだ選挙にいこう
10/06/10 21:30:26
>>292
>>288見ろ

300:名無しさん@そうだ選挙にいこう
10/06/10 21:43:34
>>298
質問が漠然としすぎているけど、まあだいたいのことは可能

301:複乳
10/06/10 22:01:30
>>298
こんな感じ?
Sub unko()
Dim wbWrit As Workbook
ChDir ThisWorkbook.Path
gyo = Range("A65536").End(xlUp).Row
For i = 1 To gyo
sagyou = Cells(i, 2).Value '作業。とりあえず値を変数にでも入れておく
fairu = Cells(i, 1)
Set wbWrit = Workbooks.Open(fairu & ".xls")
wbWrit.Sheets("sheet1").Cells(3, 1).Value = sagyou '値をセルにでも入れる
Workbooks(fairu & ".xls").Close
Next
End Sub
>>299
見た

302:名無しさん@そうだ選挙にいこう
10/06/10 22:07:26
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい(初級レベル)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 特定の文字列 抽出

一列の中に10文字の英数文字列(10文字)、カナ漢字文字列(制限なし)、半角英文字+記号(制限なし)など、
3パターンの文字列があり、それが10列ぐらいあります。
その中から列ごとに英数文字列(10文字)だけを抽出したいのです。
a
1 12345abcde
2 本日は晴天なり
3 aa+bb+cc
4 a1b2c3d4e5
5 本日は悪天なり
6 aa

a1~a3がワンセットとなってまして、1列30行程度、最大10列ぐらいある表の中から
↑の例では a1とa4を抽出したいのです。


303:名無しさん@そうだ選挙にいこう
10/06/10 22:39:15
>>302
隣の列がB列とする

B1のセルに「A」
B2のセルに「B」
B3のセルに「C」
と、それぞれ入力する。

B1からB3まで範囲選択し、オートフィルで連続データを作成。
ABCABCABCABC…と入力出来る
分からなければ「オートフィル」で検索

B1のセルを選択し、「データ」メニューから「オートフィルタ」を選択

B1にあるオートフィルタの下向き三角をクリックし「A」のみ抽出

A列を範囲選択し、コピー。
Sheet2などに貼り付け



304:名無しさん@そうだ選挙にいこう
10/06/10 22:52:14
>>303

なるほど、こういう変化球があるんですね。
参考になりました。

上で書くの忘れてましたが、a1~a3はワンセットなのですが、
30行の中に空白行が入ることがありまして(規則性なし)、教えていただいた方法だと…。
本当にすいません。

305:303
10/06/10 22:59:52
>>304
1.最初にオートフィルタ
2.三角ボタンの下の方にある「空白以外のセル」で抽出
3.データ全域を範囲選択しコピー
4.別シートに貼り付け

そこで、上記の作業してはいけない?

306:302
10/06/10 23:31:47
>>305
実は実際に使うファイルは会社なのでいますぐ確認できないのですが、
確か空白セルで抽出ができなかった記憶があります。

でも明日会社で確認してみます。
レス、2回も有り難うございました。

307:複乳
10/06/11 08:12:26
>>302
B1=IF(LEN(A1)=10,1,0)
C1=IF(AND(OR(AND(CODE(MID(A1,1,1))>=48,CODE(MID(A1,1,1))<=57),
AND(CODE(MID(UPPER(A1),1,1))>=65,CODE(MID(UPPER(A1),1,1))<=90)),
OR(AND(CODE(MID(A1,2,1))>=48,CODE(MID(A1,2,1))<=57),
AND(CODE(MID(UPPER(A1),2,1))>=65,CODE(MID(UPPER(A1),2,1))<=90)),
OR(AND(CODE(MID(A1,3,1))>=48,CODE(MID(A1,3,1))<=57),
AND(CODE(MID(UPPER(A1),3,1))>=65,CODE(MID(UPPER(A1),3,1))<=90)),
OR(AND(CODE(MID(A1,4,1))>=48,CODE(MID(A1,4,1))<=57),
AND(CODE(MID(UPPER(A1),4,1))>=65,CODE(MID(UPPER(A1),4,1))<=90)),
OR(AND(CODE(MID(A1,5,1))>=48,CODE(MID(A1,5,1))<=57),
AND(CODE(MID(UPPER(A1),5,1))>=65,CODE(MID(UPPER(A1),5,1))<=90))),1,0)
D1=IF(AND(OR(AND(CODE(MID(A1,6,1))>=48,CODE(MID(A1,6,1))<=57),
AND(CODE(MID(UPPER(A1),6,1))>=65,CODE(MID(UPPER(A1),6,1))<=90)),
OR(AND(CODE(MID(A1,7,1))>=48,CODE(MID(A1,7,1))<=57),
AND(CODE(MID(UPPER(A1),7,1))>=65,CODE(MID(UPPER(A1),7,1))<=90)),
OR(AND(CODE(MID(A1,8,1))>=48,CODE(MID(A1,8,1))<=57),
AND(CODE(MID(UPPER(A1),8,1))>=65,CODE(MID(UPPER(A1),8,1))<=90)),
OR(AND(CODE(MID(A1,9,1))>=48,CODE(MID(A1,9,1))<=57),
AND(CODE(MID(UPPER(A1),9,1))>=65,CODE(MID(UPPER(A1),9,1))<=90)),
OR(AND(CODE(MID(A1,10,1))>=48,CODE(MID(A1,10,1))<=57),
AND(CODE(MID(UPPER(A1),10,1))>=65,CODE(MID(UPPER(A1),10,1))<=90))),1,0)
E1=IF(ISERROR(SUM(B1:D1)),"",IF(SUM(B1:D1)=3,A1,""))

308:複乳
10/06/11 08:14:24
VBAアリだったのか・・

309:名無しさん@そうだ選挙にいこう
10/06/11 10:11:38
年月日が入ってるセルから月の値だけ取り出して、更にその月の値を-1した値を返すに式はどうなりますでしょうか?
例「20071122」と入ってる場合、「11」を取り出して-1して「10」を返す。
「01」が入っている場合は「12」を返してくれる。

310:複乳
10/06/11 10:22:32
>>302
vbaだと
Sub unko()
gyo = Range("A65536").End(xlUp).Row
For i = 1 To gyo
If Len(Cells(i, 1)) = 10 Then
xxx = 0
For k = 1 To 10
Select Case Asc(Mid(Cells(i, 1), k, 1))
Case 48 To 57, 65 To 90, 97 To 122
xxx = xxx + 1
Case Else
xxx = -100
End Select
Next
If xxx = 10 Then
Cells(i, 2) = Cells(i, 1)
End If
End If
Next
End Sub

311:複乳
10/06/11 10:25:03
>>309
A1に入ってるとして
=IF((MID(A1,5,2)*1)=1,12,MID(A1,5,2)*1)

312:複乳
10/06/11 10:25:48
matigaeta
=IF((MID(A1,5,2)*1)=1,12,MID(A1,5,2)*1-1)
だな

313:309
10/06/11 10:34:35
>>312
ありがとうございました!助かりましt

314:名無しさん@そうだ選挙にいこう
10/06/11 11:16:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 複数シート コピー 同一セル


複数シートの特定セル('シート1:シート10'!C2:E2)に書き込まれた文字列を、
新たなひとつのシートへコピーし、一覧にしたいのですが、どのようにしたらいいのでしょう?

315:複乳
10/06/11 11:38:20
>>314
B1:B10=シートの名前
C1=INDIRECT($B1&"!r2c"&COLUMN(),0)
C1をC1:E10の範囲にオートフィル
後はコピーして値で貼り付けとかそんな感じで

316:名無しさん@そうだ選挙にいこう
10/06/11 11:40:15
>>307

キッタネ~
こんなのをよく貼る気になるなぁ

317:複乳
10/06/11 11:47:58
>>316
だよなw
この腕も悪いし気色悪いクソコテさっさと死ねばいいのに

   死  ね



318:名無しさん@そうだ選挙にいこう
10/06/11 11:50:51
>>315
おお、できました。ありがとうございます!
indirect使いこなせるようになろうと思います

319:名無しさん@そうだ選挙にいこう
10/06/11 15:11:59
つーか次スレのテンプレに

・ご教示とご教授は全く意味の度合いが異なります。
 女を一晩買うのと、人身売買で身柄を買うくらいレベルが違います。
 質問する時にはちゃんと使い分けましょう

って入れておこうぜ。

320:名無しさん@そうだ選挙にいこう
10/06/11 15:57:33
どうでもいい

321:名無しさん@そうだ選挙にいこう
10/06/11 20:03:06
激しくどうでもいいわ

322:名無しさん@そうだ選挙にいこう
10/06/11 20:29:35
>316
310、312、315も十分汚い
それが彼の立ち位置。

323:名無しさん@そうだ選挙にいこう
10/06/11 21:40:28
>>310 >>312 >>315

324:名無しさん@そうだ選挙にいこう
10/06/11 22:35:56
>>316と>>322のカキコは価値がないどころかマイナス要因だが、複チチさんは役に立ってる。
綺麗なマクロや関数を求めるなら、別スレ立てておまいら(同一人物?)が監修すればいい。

325:名無しさん@そうだ選挙にいこう
10/06/11 23:39:52
例えば>312なんか素直に書けば
=if(mid(a1,5,2)="01",12,mid(a1,5,2)-1)
で済むものを余計な型キャストを入れて
汚くしたものを質問者が覚えて帰って行く。
それはマズイのでは。

326:名無しさん@そうだ選挙にいこう
10/06/11 23:51:02
【OSの種類】WindowsXP
【Excelのバージョン】Excel2003

助けてください
突然セルのコピー&ペーストが出来なくなりました
ctrl+Cでも右クリックメニューでもセルのコピーは選択できますが
貼り付けがグレーで選択不可能です
なお数式バーでコピーしてペーストすることは可能です

327:複乳
10/06/12 00:01:05
>>326
とりあえずOSの再起動

328:名無しさん@そうだ選挙にいこう
10/06/12 00:10:09
例えば>310も色々あるが、ひとつだけ上げれば
kをカウンタに回してるのにxxxでカウントし直してる。
こういう場合、条件に合わないと判定されたら
即ループを抜けるのが基本。

329:複乳
10/06/12 00:11:25
>>325
なんで*1なんてするの?って質問を待っている
無ければないで、いいじゃない。あって損はしない。
>>324
あらま、嬉しいねぇ
何なら私の書き込み全てに
別解URLリンク(pc11.2ch.net)(綺麗な解答スレ)
なんて付け足してもいいけどね

ちなみに私の理想は・・
エクセル自慢と会社で呼ばれてる人が日中、困ったらここに聞きにきて、直ぐに回答もらって戻って
クールに処理して、何事もなかったかのように次の仕事にとりかかると
そんな手伝いができる場所だといいと思うんだよね
更に遅くてもより丁寧な回答や議論が繰り広げられれ、それをまぁ、帰ってから見て更にレベルアップできるような場所なら
すごくいいと思うんだよね
向上心のある人ならまた来てレベルアップするだろうし、無ければそれまでだね
まぁ、どっちでもいい
またくれば答えは教えてあげる。答えから学ぶタイプの人もいる(私がそれだ)
私は私の理想を叶えようと日々努力してるだけだ
私の得意なvlookupやindirectが気に入らないなら私より早く回答すればいい
アク禁なら勉強でもしていればいい
>>316
煽りも弱い。>>317何かで止まるな。煽り続けろ。でも「死ね」なんてかくとリアルでややこしくなるからね。がんばってね

というわけで雑談は
スレリンク(bsoft板)
回答者のためになる議論はいくら続けてもいいと思う。

330:名無しさん@そうだ選挙にいこう
10/06/12 00:28:02
理想はいいんだけど
>288と>290と、その後のレス読むと
にわかには信じがたいなあ。
寝ます、おやすみなさい。

331:326
10/06/12 00:40:46
>>327
再起動で直りました・・・
初歩の初歩でしたね・・・
失礼しました&ありがとうございました

332:複乳
10/06/12 00:42:23
>>330
今回は>>288見落としていました。すいませんでした。
ただ回答の多様性は出来る限り大きく存在すべきだと思う。善し悪しではない。そこから生まれるものもある
って見落とした、の後に言うと価値がなくなりますね
いいけど
>>328
exitforな。やってるうちにめんどくさくなったんだ。一日ほっといたら誰か答えるだろうと思ったが来なかったんだ。許してくれ。悪気はないが俺の怠慢だ

333:名無しさん@そうだ選挙にいこう
10/06/12 00:47:54
初心者に毛の生えたヤツの言い訳はうざい。

334:名無しさん@そうだ選挙にいこう
10/06/12 00:56:06
>ただ回答の多様性は出来る限り大きく存在すべきだと思う。善し悪しではない。

>290,307,312
これらはそーゆー次元では無いと思うがな。

335:複乳
10/06/12 01:00:11
というわけで雑談は
スレリンク(bsoft板)

336:名無しさん@そうだ選挙にいこう
10/06/12 08:41:22
印刷プレビューと印刷結果の差を出来る限りなくしたいのですが、
なにかいい方法はありますか?

337:名無しさん@そうだ選挙にいこう
10/06/12 08:45:32
>>329
今回は静観してたが、おまいの言い草はあのMicrosoftも認めた日本一の
勘違い君が頭に浮かぶ。

338:名無しさん@そうだ選挙にいこう
10/06/12 09:00:44
>336
Excelの機能である印刷プレビューの代わりに FinePrint などの仮想プリンタソフトを使うくらいかなあ。
試用版のままだとタダで使えるので重宝してます。(質問の使い方ではありませんが)
ただし、このソフトの出力結果と実際に紙に印刷した結果がどのくらい違うかについて、検証したことはありません。


339:名無しさん@そうだ選挙にいこう
10/06/12 11:12:14
価値無いどころかマイナスと言われちゃったよw
>302 
Sub hoge()
  n = 2 '選択範囲の該当する値をH2以降に書き出す
  For Each r In Selection
    If Len(r.Value) = 10 Then
      For i = 1 To 10
        ch = Mid(r.Value, i, 1)
        If ch < "0" Or ch > "z" Then Exit For
        If ch > "9" And ch < "a" Then Exit For
        If i = 10 Then Cells(n, "H") = r.Value: n = n + 1
      Next i
    End If
  Next r
End Sub

340:名無しさん@そうだ選挙にいこう
10/06/12 11:13:14
>>338
印刷プレビューがいまいちなんですね。
FinePrint使ってみます
ありがとうございました!

341:名無しさん@そうだ選挙にいこう
10/06/12 11:55:24
winxp.エクセル2007.
VBAで文字列を計算できるように数値にしたいのですが方法がわかりません。
すみません詳しい方いたら教えてください。よろしくお願いします。


342:名無しさん@そうだ選挙にいこう
10/06/12 12:00:14
"1"+"2"=3

343:名無しさん@そうだ選挙にいこう
10/06/12 12:23:38
文字列「壱足す弐」を3にするとか?

344:344
10/06/12 13:01:06
質問があったのですが、自己解決しました

345:名無しさん@そうだ選挙にいこう
10/06/12 13:09:44
>>339
r.Valueくらい一時変数に入れようよ。
何度も取得するの気持ち悪い。

346:名無しさん@そうだ選挙にいこう
10/06/12 13:24:07
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000→2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード     】= 表示されない など

エクセル2000をずっと使っていたのですが、最近2003に変えました。
しかし、2000では計算式を記入するとき、画面上の方にある、たしか「=」みたいなマークを押すと、自動で=が入力されて、
計算が記述できたのですが、2003ではそのボタンがありません。fxというボタンが代わりにあるのですが、これを押すと関数選択の
ダイアログボックスが出てしまいます。
2000のような =を入力するボタンを表示させたいのですがどうすればいいでしょうか?

347:名無しさん@そうだ選挙にいこう
10/06/12 13:26:07
>>346
ありません。+で代用するのが楽です

348:名無しさん@そうだ選挙にいこう
10/06/12 13:31:09
>345
r.valueはお行儀よく書いただけで
キモチ悪ければrでもいい。
でこのrは一時変数なんだけどな。

349:346
10/06/12 13:48:18
>>347
さっそくレスありがとうございます。

=ボタンないんですか。
へこむ・・・・せっかく2003にしたけど、特に2003にしたメリットないな~と思ってたけど、メリットどころかデメリットの方が多いとかになりそうで鬱です。

>+で代用するのが楽です

+で代用とはどういうことでしょうか。+ を押してみたのですが特になにも起きないのですが・・・。
質問ばかりですみません。


350:名無しさん@そうだ選挙にいこう
10/06/12 14:01:31
「=A1+B1」と入力する代わりに「+A1+B1」と入力します。
テンキーがあればかなり楽です。自分はこの方法知ってから=ボタン使わなくなりました。

351:名無しさん@そうだ選挙にいこう
10/06/12 14:52:39
341です。
>>343
例えば”32”とかを計算できるように数値化したいのです。
ネット等からコピペしたりすると文字列になっていることがあるので。
関数を使えば”value”で解決なのですが、これでもうまくいかなかったのでVBAでやってみようとおもったのですがうまくわかりません。


352:名無しさん@そうだ選挙にいこう
10/06/12 14:59:46
たとえばA1に"12"がはいってるとして
=LEFT(A1,1)+RIGHT(A1,1)
の値は3になる。これでいいのか?

353:名無しさん@そうだ選挙にいこう
10/06/12 15:07:09
Excel2000は、2003でつくったマクロ(例えば自動記録でつくった並べ替えとか)が使えないYO!
「青いシート見出しを見て」とか言われてチンプンカンプンだったときもあったな・・・

354:名無しさん@そうだ選挙にいこう
10/06/12 15:14:55
>>351
セルを標準にします。セルを編集(ダブルクリック)状態にします。それで、数値になるよ。
vba使うまでもない。
ダブルクリックが面倒だったら、「区切り位置」ですぐ「完了」にすればおk

355:名無しさん@そうだ選挙にいこう
10/06/12 15:20:11
>>348
rって書いてもr.Valueを3回取得してることにかわりないわな。
オブジェクト変数じゃなく値を格納する一時変数を使わないと気持ち悪い言ってるんだよ。


356:名無しさん@そうだ選挙にいこう
10/06/12 15:52:42
複案があるなら、それを書かないと前掃除大臣みたいでカコワルイ!!

357:名無しさん@そうだ選挙にいこう
10/06/12 16:33:09
>>346
Excel2003の数式バーに「=」を追加する
URLリンク(www11.plala.or.jp)

358:名無しさん@そうだ選挙にいこう
10/06/12 16:34:44
>354
オブジェクトのプロパティはメンバ変数みたいなモンで
r.value自体が値を表す変数のイメージがあるけど
値を求めるメソッど(?)みたいに負荷がかかるなら
あんたの言うとおりだわ。実際このあたりはよくワカラン。

359:名無しさん@そうだ選挙にいこう
10/06/12 17:31:32
>>658
Valueの取得ってのは結構重いんだよ。
2回以上使う場合は適合する型の一時変数に入れるのがコーディングの基本だ。
いわゆるキャッシュだな。
Variantの2次元配列でも言えることだ。
何度もa(i,1)とか同じ要素が出てくると汚いし遅い。
実際は1回しか使わなくても言えることなんだが、そこまではやらなくてもいいだろう。

360:349
10/06/12 18:00:05
>>350
なるほど、「+」入力とか最初何を言ってるのかと思いましたが、要は+を押しておけば数式入力モードになり
またその後の数式がどうなろうと、最初に「+」が入っても邪魔にならないから、「+」を押すいうことですね。
そういう発想ができるところがすごいと思います。ぜひ使わせていただこうと思います。

それはそれなのですが、しかし、やはり「=」ボタンは欲しいですね。
なぜ「=」ボタンを廃止したのか理由が全く見えません・・・・。

361:349
10/06/12 18:05:26

URLリンク(www.kenzo30.com)

なんかこういうのもあるのですね。
これで「=」ボタンは設置できますが、しかし、なぜ、マイクロソフトは、=をデフォルトで廃したのだろうか・・・・。


362:名無しさん@そうだ選挙にいこう
10/06/12 20:19:14
>>359
遅い、重いはよく考えていることです。
勉強になりますので>>339を軽くなるよう清書していただけませんか?

363:名無しさん@そうだ選挙にいこう
10/06/12 22:01:41
357のリンク先にならって数式バーに「=」を追加したんだけど、
削除するにはどうすればいいですか?

364:名無しさん@そうだ選挙にいこう
10/06/13 11:39:33
>>362
半角英数字の小文字10文字のみなら小さな突っ込みなしならこんなかな?
軽くするには配列を使えばいいが、今回は基本の例として配列は使わない。
全角英数字とかアルファベットの大文字も含めるなら適宜StrConvとか
LCaseなどを使えばいいだろう。
変数はわざと1文字を多用した。
2回に分けて書き込む。

365:名無しさん@そうだ選挙にいこう
10/06/13 11:40:39
>>364の続き
Sub hoge()
Const L As Long = 10
Dim r As Range
Dim o As Range
Dim v As String
Dim b As Boolean
Dim i As Long
Dim ch As String
Set o = Range("H2")
For Each r In Selection
v = r.Value
If Len(v) = L Then
b = True
For i = 1 To L
ch = Mid$(v, i, 1)
If Not ch Like "[0-9 a-z]" Then
b = False
Exit For
End If
Next i
If b Then
o.Value = v
Set o = o.Offset(1)
End If
End If
Next r
End Sub

366:名無しさん@そうだ選挙にいこう
10/06/13 11:42:29
すまん、インデントがつかなかったよ。

367:名無しさん@そうだ選挙にいこう
10/06/13 13:05:38
あと別に軽くはならないけど正規表現もよくある手だね。
Like演算子にしても
>If Not ch Like "[0-9 a-z]" Then
下の方が普通かも。
If ch Like "[!0-9 !a-z]" Then

368:名無しさん@そうだ選挙にいこう
10/06/13 16:05:41
セルに値を入力したときに自動的に編集状態(F2状態)にすることってできますか?

369:名無しさん@そうだ選挙にいこう
10/06/13 17:52:15
F2押してから入力しれ

370:368
10/06/13 18:08:08
>369
毎回F2を押すのがめんどいです.
ボタンの位置的にも押しにくいです.

371:名無しさん@そうだ選挙にいこう
10/06/13 18:29:39
>>370
しつこい。
出来ないもの出来ないんだから、Microsoft に注文しろ。

372:名無しさん@そうだ選挙にいこう
10/06/13 19:31:45
F2をテンキーのどれかに割り当てるのはフリーウェアとかで可能

373:名無しさん@そうだ選挙にいこう
10/06/13 19:56:23
>>368
これだとすべてのセルになるけどw、ついでにやってみると超うざいけど

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
SendKeys "{F2}", True
End Sub


374:名無しさん@そうだ選挙にいこう
10/06/13 20:25:01
>>368
上にある数式バーで編集すりゃええやん。

375:名無しさん@そうだ選挙にいこう
10/06/13 21:02:28
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 URL 一括

いつもお世話になっておりますm(_ _)m
文字列となっている複数個のURL(URLは一列に並んでいます)を、クリッカブルURLにするには、
どうすればよいのでしょう?

VBAを使わないといけない場合でも、がんばって覚えるので、教えて頂けたら幸いです。m(_ _)m

376:名無しさん@そうだ選挙にいこう
10/06/13 21:32:38
>373
セルの位置を変更した時にF2を押すのではなく,
文字が入力されセルの内部がアクティブになった
瞬間にF2が押されるようなのがいいです.

377:名無しさん@そうだ選挙にいこう
10/06/13 21:43:30
>>375
A列にURLが入っているなら、B列に
=HYPERLINK(A1)
としてオートフィル。

ただし、これではA列のデータを消してしまうと元も子もないので、
B列のデータをコピーし、一度Wordに貼り付け。再度Wordの表を
コピーし、今度はExcelに貼り付ければ良い。


378:377
10/06/13 21:49:12
ポイントは、Excelを起動したまま、Wordを起ち上げること。

Excelデータをコピー

一旦Excelを終了

Wordを起ち上げて貼り付け

上記では上手くいかない。
ハイパーリンクの設定が消えてしまう。

379:名無しさん@そうだ選挙にいこう
10/06/14 01:25:10
超初心者スレから誘導されてきました

グラフに関する質問なんですが
y=axという関数の、aを変化させた場合の比較グラフが作りたいのですが
どうすればいいのでしょうか、教えてください
またxの範囲もaの値の違いによって変えたいのですが可能でしょうか?

380:名無しさん@そうだ選挙にいこう
10/06/14 08:02:00
>>可能でしょうか?

可能。
但し超初心者スレに帰れ。

381:名無しさん@そうだ選挙にいこう
10/06/14 09:04:30
>379
散布図グラフで可能ですよ。参考にしてください。(当方の環境WinXP,Excel2003)
URLリンク(www.dotup.org)

382:381
10/06/14 09:11:25
>381に追加
あ、ダウンロードのパスは excel です。忘れてた。

383:名無しさん@そうだ選挙にいこう
10/06/14 10:11:01
Excel2007のピボットテーブルで日付別の集計をやってるのですがデータにない日付の売上も0として表示したいのですが可能でしょうか?
2003ではグループ化をうまく使ってできるようですが、2007でいくらやってもできません。

日付 売上
1/2  100 
1/2  200
1/4  150
.
.
1/31  200
上を下のようにしたい。

日付 売上
1/1   0 
1/2  300
1/3   0
1/4  150
.
.
1/31  200

384:名無しさん@そうだ選挙にいこう
10/06/14 11:11:23
>>383
1.「日付」フィールドを選択しリボンを見る
2.「ピボットテーブルツール」→「オプション」→「アクティブなフィールド」
3.「フィールドの設定」→「レイアウトと印刷」内の「データのないアイテムを表示する」
4.次は日付のグループ化。「グループ」→「グループフィールド」
5.「単位」を「日」でグループ化
6.要らないデータまで表示されたら、「日付」フィールドのオートフィルタで取り除けばよい





385:名無しさん@そうだ選挙にいこう
10/06/14 12:58:14
>>384
できますた。
3がミソだったんですね。
レイアウトと印刷の中まで見たとこなかったなぁ。
隅々まで探さなきゃだめですね。

386:名無しさん@そうだ選挙にいこう
10/06/14 21:05:30
関数を用いた文字列判定と検索の方法を教えて下さい。

リスト1
A列       B列
テキスト    分類(ここに関数)
赤いクルマ   のりもの
赤いトマト   やさい
美味しいトマト やさい
大きいリンゴ  くだもの
おいしいメロン くだもの
日本頑張れ!  くに

リスト2
A列     B列
特定文字列 判定結果
クルマ   のりもの
トマト   やさい
リンゴ   くだもの
日本    くに


テキスト1の中にリスト2に一致する文字列を含む場合、
分類欄に判定結果を返すような関数を教えて下さい。
なお、リスト2は数十行あるため、if式で入れ子にする
やり方は不可です。判定結果が数値ではないので、
SUMIFは使えません。

どなたか是非助けて下さい!

387:名無しさん@そうだ選挙にいこう
10/06/14 21:22:06
無理

388:名無しさん@そうだ選挙にいこう
10/06/14 21:42:33
数百あると無理だけど、数十ならIFでいける
試しもしないで不可とか言わないように

389:名無しさん@そうだ選挙にいこう
10/06/14 22:30:49
>386 無い知恵絞って考えてみました。作業列を用います。
URLリンク(www.dotup.org)
パス:excel

B3セルの式が {=CONCATENATE(C3:J3)} でいけるかなと思ったらダメだった。
範囲の最初のセルしか反映されない。なぜだろう。

390:名無しさん@そうだ選挙にいこう
10/06/14 22:54:33
>>386
リスト2がシート1だとして

=INDEX(Sheet1!B:B,MIN(IF(ISERROR(MATCH("*"&Sheet1!$A$2:$A$5&"*",A2,0)),10^10,MATCH("*"&Sheet1!$A$2:$A$5&"*",A2,0)*ROW($A$2:$A$5))))

CTRL+SHIFT+ENTER同時押しで配列数式。
ただし、エラー対策(なかったとき)はしていない

391:名無しさん@そうだ選挙にいこう
10/06/15 02:52:11
windows7のパソコンのExcel2007が非常に使いにくい。
office2003のCDで使い慣れたExcel2003をインストールしたら動きますか?

ちなみにどうやってインストールしたら良いのでしょう?
2003と2007の共存が理想ですが、やっぱり2007はアンインストールしなければならない?

392:名無しさん@そうだ選挙にいこう
10/06/15 03:11:03
>>391
インストールできてちゃんと動作します。
共存もできますが、ちょっとコツが必要です。
インストールする時、初期状態だと2003と2007でフォルダ名が一緒になるので、手動で変更しないと
プログラムが上書きで消されてしまいます。
あと、Excelのファイルをダブルクリックするとうまく開けないことがあるので、
必ずExcelを先に起動してから「開く」メニューからExcelのデータを指定する必要があります。

393:複乳
10/06/15 09:15:29
>>391
2003 2007 共存
でぐぐれば色々でてくる。あんまりやらないほうがいい

メニューだけ戻したいなら
URLリンク(members.at.infoseek.co.jp)
とか。

394:名無しさん@そうだ選挙にいこう
10/06/15 15:04:19
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エクセル 関数 一致 抽出

Sheet1にデータがあります。
    番号      日付   名前    識別CD
  12桁数字     0615   佐藤    001(3桁数字で000~100まで)
           ↑1ヶ月分あり↑100種類くらいあり    
   ↑一致するものは無くすべてユニーク
以下、↓500行くらい並んでいます。

Sheet2~Sheet30くらいまでに、1シート当たり識別CDが4~5個位、
適当に振り分けられていて、該当する識別CDのあるシートに、
Sheet1にあるデータ(番号、日付、名前)を全部表示させたいです。

ググって見つけた配列関数(countifとrowとかいろいろ組み合わせたもの)で
識別CD1個分ずつ、データを別シートに表示させることは出来たのですが、
それを順番にリストで並べることが出来ません。

(識別CD1つにつき、いくつのデータをひっぱってくるのかがわからないため
全てのセルに、5個分の配列関数を入れると重くなりすぎてしまうので)

やりたいことは、識別CD5個分をオートフィルタオプションで表示させたものを、
別シートにそのまま表示したいのですが、いい方法を教えてください。

395:名無しさん@そうだ選挙にいこう
10/06/15 18:52:16
シート2~30をひとつのシートにまとめる

396:名無しさん@そうだ選挙にいこう
10/06/15 21:26:31
386です。
皆様、ありがとうございます。
=INDEX(Sheet1!B:B,MIN(IF(ISERROR(MATCH("*"&Sheet1!$A$2:$A$5&"*",A2,0)),10^10,MATCH("*"&Sheet1!$A$2:$A$5&"*",A2,0)*ROW($A$2:$A$5))))
のMIN関数と10^10の意味が分かりません。10の10乗?どういう意味でしょう?

ifの入れ子は試したのですが、式が長くなりすぎるのでどうしてもリストが使いたいのです。
どうか、分かる方教えてください!お願いします。

397:386ではありません
10/06/15 22:36:17
>396
「10^10」の意味:無限大に近い数を設定する。今回の例ならば10^3でも10^4でも可
「MIN関数」を使う理由:↓
 文字列の中に特定文字列が存在しない(ISERRORが真になる)とき10^10を設定し、
 文字列の中に特定文字列が存在したとき、当該行位置を設定する。そして、
 MIN関数で最も少ない数(特定文字列に一致したときの行位置)を返す。

式を入力するとき、[Enter]ではなく、[Ctrl]+[Shift]+[Enter]で入力すると配列式となるので、
「赤いトマト」の場合は 10^10,3,10^10,10^10,10^10 の5個の数字から最も小さい数=3が
MIN関数の答えとなり、INDEX(Sheet1!B:B,3)はB3セルの値="やさい" となる。

>390さんが
>ただし、エラー対策(なかったとき)はしていない  とは、
特定文字列に一致するものがなかった場合は、5個とも10^10になるのでエクセルの最大行をはるかに
超えるからエラー(#REF!)になる、ということ。エラー表示にしたくなければ10^10のかわりに
65536にでもしておくと空白表示になるのでいいかも。(最下行まで使ってない場合)


398:397
10/06/15 22:37:55
>397 の名前のところは 390ではありません の間違いでした。orz

399:名無しさん@そうだ選挙にいこう
10/06/15 22:51:39
>>396
Microsoft Queryで出来る。


400:名無しさん@そうだ選挙にいこう
10/06/15 23:37:58
エクセルの改ページプレビューで見るとはみ出ていないのに
印刷すると文字の右側がはみ出てしまいます。

印刷したものと改ページプレビューの見た目を同じにするにはどうしたらいいですか

401:名無しさん@そうだ選挙にいこう
10/06/16 00:00:37
>400
「改ページプレビュー」っていっても「編集画面」なので印刷結果と異なるのはExcelの仕様です。
「印刷プレビュー(編集はできない)」で確認してください。

印刷プレビューと実際の印刷結果が異なる場合は、>336,338を参考にしてください。

402:名無しさん@そうだ選挙にいこう
10/06/16 09:39:43
>>400
新参乙です(悪いとは言ってない)
さんざんガイシュツ。
ま、ここの人は優しいから俺以外のシッタカが教えてくれます。

403:名無しさん@そうだ選挙にいこう
10/06/16 11:31:39
>>402
エクセルの一番有名なダメ仕様、未だに治ってない。

404: ◆RKItBcY.UI
10/06/16 15:44:19
質問です、というかお手伝いお願いします

▼━質問テンプレ (出来れば使ってね♪) ━━━━━━
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 さわったばかりでまだまだ
【4 VBAでの回答の可否】 可

たくさんのセルの、内部にある文章の一部分だけ文字の色を変えたいんです
そこでネットの海をさまよって、とあるマクロを見つけ
さらにそれをちょいちょい改ざんして以下のようになりました
URLリンク(ccfa.info)

これでもかなり思い通りにいってくれたのですがひとつ問題があって
目的の文字列がひとつのセルの中にふたつ以上あった場合に
文字列の長さが異なっているとふたつめ以降の文字列の長さには対応してくれないのです

例:その魔物を倒すには「聖水」と「十字架」と「月桂樹の葉」が必要じゃ。
ここでカギカッコの始まりから終わりまでの文字(3箇所)の色を変えたいんだけど
上記のマクロだとどうも「聖水」を見つけてカギカッコ開始から4文字だと判断しちゃって
十字架のほうのトジカギカッコとか、の葉」とかまで変わってくれないっていうね
(次のセルだとまた文字数をカウントしなおしてくれる)
セルを分割とかはしたくないし、カギカッコじゃないやつも色変えたいのあるし
目的によって色も変えたいしで、ここからどーしたらいいんだろ・・・

だれか とっ て も カン ペキ だ というマクロに改良してー!

405:複乳
10/06/16 16:23:53
>>404
こんなんでいいかな
色を変えたいセルを選択してマクロ実行
hajimemoji = "「"
owarimoji = "」"
を変えるとはじめと終わりの文字を設定できる
後は自分で頑張れ

406:複乳
10/06/16 16:26:47
Sub Macro1()
Dim hajime, i, nagasa
Dim hajimemoji, owarimoji
hajimemoji = "「"
owarimoji = "」"
arColorIndex = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, _
10, 11, 12, 13, 14, 15, 16, _
33, 34, 35, 36, 37, 38, 39, _
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, _
50, 51, 52, 53, 54, 55, 56)
nagasa = Len(Selection.Value)
For i = 1 To nagasa
If Mid(Selection.Value, i, 1) = hajimemoji Then
hajime = i
End If
If Mid(Selection.Value, i, 1) = owarimoji Then
arColorIndex = InputBox(Mid(Selection.Value, hajime + 1, i - hajime - 1) & " に設定する色を次の中から数字で指定してください" & vbCr & vbCr & _
"0:自動 , 1:黒 , 2:白 , 3:赤 , 4:明るい緑 , 5:青 , 6:黄 ," & vbCr & _
"7:ピンク , 8:水色 , 9:濃い赤 , 10:緑 , 11:濃い青 , 12:濃い黄 ," & vbCr & _
"13:紫 , 14:青緑 , 15:25%灰色 , 16:50%灰色 , 33:スカイブルー ," & vbCr & _
"34:薄い水色 , 35:薄い緑 , 36:薄い黄 , 37:ペールブルー ," & vbCr & _
"38:ローズ , 39:ラベンダー , 40:ベージュ , 41:薄い青 ," & vbCr & _
"42:アクア , 43:ライム , 44:ゴールド , 45:薄いオレンジ ," & vbCr & _
"46:オレンジ , 47:ブルーグレー , 48:40%灰色 , 49:濃い青緑 ," & vbCr & _
"50:シーグリーン , 51:濃い緑 , 52:オリーブ , 53:茶 ," & vbCr & _
"54:プラム , 55:インディゴ , 56:80%灰色", "文字色の指定", 0)
ActiveCell.Characters(Start:=hajime + 1, Length:=i - hajime - 1).Font.ColorIndex = arColorIndex
End If
Next
End Sub

407:名無しさん@そうだ選挙にいこう
10/06/16 18:46:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 無理
【4 VBAでの回答の可否】 無理無理

カレンダーに毎日のデーターを記入したいんですが、
いちいち日付を1年分も打ち込まなくても、でぇーーーーってでる方法はありますか?
初めてなんですが、よろしくお願いします。

408:名無しさん@そうだ選挙にいこう
10/06/16 19:00:08
オートフィル

409:名無しさん@そうだ選挙にいこう
10/06/16 19:01:26
>407
「オートフィル」って使ったことありませんか?

エクセル辞典 オートフィル-連続データの生成
URLリンク(www.excel-jiten.net)

普通に最初の日付を入力してからオートフィル操作すると、↑のようにしなくても
連続した日付が生成できます。

410:407
10/06/16 19:04:52
>>408
>>409

ありがとうございます。
こんなめんどくさい作業が手作業のはずはない!!と思ったのですが、
なんという名前の作業かわかりませんでした。
早速作業できます。本当にありがとうございました。

411:名無しさん@そうだ選挙にいこう
10/06/16 19:24:00
エクセルでファイルにパスワードをかけたのですが忘れてしまい開けません
エクセルアナライザーをインストールしたのですがうまく使えません、どうすればいいでしょうか?

412:名無しさん@そうだ選挙にいこう
10/06/16 19:31:52
質問です!

エクセルのワークシート上にコンボボックスを設置し、
プロパティの「ListFillRange」にセル範囲を設定後、
保存して終了。
再度、ファイルを開き、即「×」ボタンで終了しようとしたところ、
修正していないのに上書き保存の確認ダイアログが出てきました。

ListFillRangeに何か設定するとファイルを開いたときにリストが再設定され
それがファイルの変更フラグに影響を与えているということなのでしょうか?


413:名無しさん@そうだ選挙にいこう
10/06/16 19:59:33
Office 2010 発売4h前 age

x64入れてみるか。x64なら膨大な計算や描画を要する
シミュレーションに使えそう。

414:名無しさん@そうだ選挙にいこう
10/06/16 20:22:36
>411
途方に暮れて下さい。

415:名無しさん@そうだ選挙にいこう
10/06/16 21:28:44
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 重複

A1~M100ぐらいまでのセルに色々な単語が入ってて
2個以上ある単語を全てチェックしたいんですけれど
抽出するうまい方法無いですか?

416:名無しさん@そうだ選挙にいこう
10/06/16 21:33:54
COUNTIFで2以上をフィルタ

417:名無しさん@そうだ選挙にいこう
10/06/16 22:05:03
If Left(Cells(i, 1).Value, 1) = "福" Then
 Cells(i, 7).Value = "合格"
ElseIf Left(Cells(i, 1).Value, 1) = "宮" Then
 Cells(i, 7).Value = "合格"
ElseIf Left(Cells(i, 1).Value, 1) = "山" Then
 Cells(i, 7).Value = "合格"
ElseIf Left(Cells(i, 1).Value, 1) = "長" Then
 Cells(i, 7).Value = "合格"
ElseIf Left(Cells(i, 1).Value, 1) = "愛" Then
 Cells(i, 7).Value = "合格"
ElseIf Left(Cells(i, 1).Value, 1) = "大" Then
 Cells(i, 7).Value = "合格"
End If

Cells(i, 1)の頭文字が振り分けたいですけど
おねがします

418:名無しさん@そうだ選挙にいこう
10/06/16 22:08:36
>>415
とりあえずピボットテーブルで各データが何個あるか数えろ。
2個以上あるものを抽出すれば良い。

419:複乳
10/06/16 22:13:19
>>411
色々なサイトでエクセル パスワード 解除 ソフト 辺りで探せ↓は一例
URLリンク(search.vector.co.jp)
>>412
sheet1に
Private Sub Worksheet_Calculate()
msgbox("")
End Sub
とか記述すればワークシートが再計算しているかどうか分かる
まぁ、保存ダイアログ出ていると言うことは再計算しているってことでok


420:名無しさん@そうだ選挙にいこう
10/06/16 22:27:03
>>417
何を聞きたいか分からないけどエスパーで

If InStr("副宮山長愛大", Left(Cells(1, 1).Value, 1)) > 0 And IsNull(Cells(1, 1).Value) = False Then

みたいにすれば一行ですむ。

421:名無しさん@そうだ選挙にいこう
10/06/16 22:29:19
>417
何をたずねたいの? >417の記述をもっとスマートに、ってことですか?

422:名無しさん@そうだ選挙にいこう
10/06/16 23:15:19
>>415,418
自分はピボットテーブルが使えないのと
データの種類も範囲も膨大なので
1種類ずつ単語の数を数えるのは避けたいんですが
無理ですかね?

423:名無しさん@そうだ選挙にいこう
10/06/16 23:24:21
>415,422
元データがA列~M列まであるようですが、1列に整形することはできませんか?


424:名無しさん@そうだ選挙にいこう
10/06/16 23:34:44
>>423
手動で何とかします。
1列にしたら2回以上ある単語の抽出可能ですか?

425:名無しさん@そうだ選挙にいこう
10/06/16 23:36:27
1列のデータにするのが正しいExcelの使い方だが、A列からM列でもピボットは使える。

426:名無しさん@そうだ選挙にいこう
10/06/16 23:42:46
>>424
並び替えて上と異なり下と同じものを抽出。

427:名無しさん@そうだ選挙にいこう
10/06/17 00:00:21
>>422
ピボットテーブルでデータの種類と個数を調べるなんてアホでもできる
食わず嫌いしてないでさっさとぐぐって覚えろ

428:423
10/06/17 00:02:58
>424
A列だけに整形できた後に、B1セルに以下の式をいれて下にフィルコピーしてください。
=IF(AND(COUNTIF(A:A,A1)>1,COUNTIF(A1:$A$1,A1)=1),A1,"")
同一内容が2個以上で、最初に出現したものだけがB列に表示されます。
後はオートフィルタでB列の▽をクリックし、空白以外のセルを選択するといいです。
整形には、並び替えは不要です。

並び替えまでするのなら>426さんの方法で、具体的にはB2セルに
=IF(AND(A1=A2,A2<>A3),A2,"")
を入れて下にフィルコピー。B1セルは空白のままとする。
そしてオートフィルタ以下の操作は上に同じです。

429:名無しさん@そうだ選挙にいこう
10/06/17 00:08:54
COUNTIFは使ってはいかんよ。
>>426が正しい考え方。

430:名無しさん@そうだ選挙にいこう
10/06/17 00:12:35
>429
COUNTIFに不具合でも?

431:名無しさん@そうだ選挙にいこう
10/06/17 00:22:53
>>420
ありがとございます

>>421
そです

432:名無しさん@そうだ選挙にいこう
10/06/17 00:35:04
>>430
おまいの頭が不具合
考えればわかることだ

433:名無しさん@そうだ選挙にいこう
10/06/17 00:56:41
>>417
どこにどうふり分けたいのか全然わかんねんだけど

434:404 ◆RKItBcY.UI
10/06/17 03:13:50
>>406
うまく動作してくれないです・・・

まず第一に、たとえば
 その魔物を倒すには「聖水」と「十字架」と「月桂樹の葉」が必要じゃ。
のセルで行うと一番最初のカギカッコの次から一番最後のトジカギカッコの手前の間まで全部の色が変わってしまいます
 その魔物を倒すには「<color>聖水」と「十字架」と「月桂樹の葉</color>」が必要じゃ。
みたいな感じになってしまいます
自分がやりたいのは
 その魔物を倒すには<color>「聖水」</color>と<color>「十字架」</color>と<color>「月桂樹の葉」</color>が必要じゃ。
みたいな感じです
なお、始まりと終わりの文字列が同じである文字列は全て同じ色にするつもりなので
毎回色を選択する必要はないです

次に、該当するセルはたくさんあるので一度にシート全体を範囲にしたいです
ひとつひとつセルを選んでいくのはとても無理です

最後に、これはちょっと後出し情報みたいになってしまいますが
(>>404のマクロだとこの点は解決済だったので書かなかったのですが)
例ではカギカッコ一文字の始まりと終わりでしたが
中には始まりも終わりも複数文字になることがあるので
始まり、終わり、双方とも任意の文字列を入力できるようにしてほしいです

>>404に貼ったマクロはかなりよくできていると思うので
そこからの改変はできないものでしょうか?
本当に後一歩のところまで来てるとは思うんですがカユイところに手が届かない感じです・・・
どうかよろしくお願いします

435:名無しさん@そうだ選挙にいこう
10/06/17 04:06:39
>>434
修正前
SB_pos = InStr(1, tmpRange.Value, search_charB, 0)
search_charC_len = SB_pos - start_pos + search_charB_len
Do While start_pos > 0

修正後
Do While start_pos > 0
  SB_pos = InStr(start_pos + 1, tmpRange.Value, search_charB, 0)
  search_charC_len = SB_pos - start_pos + search_charB_len

436:名無しさん@そうだ選挙にいこう
10/06/17 09:33:06
【1 OSの種類         .】 WindowsXPsp2
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel 塗りつぶし コピー 数字
で検索しました。

初級な質問かもしれないのですが、Excelでセルを塗りつぶした後、
その塗りつぶしたセル達に数値だけをズラズラとコピーするにはどうすれば良いのでしょうか?
数値をコピーすると塗りつぶしたセルも真っ白になってしまったりするので・・・。


437:名無しさん@そうだ選挙にいこう
10/06/17 09:36:51
>436
編集-形式を選択して貼り付け-「値」にチェック

438:名無しさん@そうだ選挙にいこう
10/06/17 09:37:01
>>436
コピーしたあと、貼り付けしたいセルを右クリック→形式を選択して貼り付け→値

439:名無しさん@そうだ選挙にいこう
10/06/17 09:39:11
>>437-438
ありがとうございます!解決できました!
まだまだ勉強不足ですね・・・、お恥ずかしい

440:名無しさん@そうだ選挙にいこう
10/06/17 12:44:40
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ(打ち込んだりは出来ますが自作は出来ないです)
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel 住所 封筒印刷 複数

EXCELに記載した住所録から任意の一つの住所を選択して
封筒に印刷するマクロを作りました。
しかし、この方法だと複数には対応できません。
マクロを手直しする事で複数選択に対応できないでしょうか?

封筒の巻き込みを防ぐために封筒を上下逆にしているため
Word2007の差し込み機能を使う方法だと対応できませんでした。
(具体的には角2封筒の印刷時)

何か知恵をお貸しください。

441:名無しさん@そうだ選挙にいこう
10/06/17 12:48:19
マクロです。
住所録は列Aから順に名前、郵便番号、住所、住所(市町村名以降)
作業シートでは住所録で1234567と記入された郵便番号を〒123-4567と直しています。


Sub 角2封筒印刷()
'
' 角2封筒印刷 Macro
'

'
ActiveCell.Range("A1:D1").Select
Selection.Copy
Sheets("住所録").Select
Sheets("角2封筒印刷画面").Select
Range("AZ43").Select
ActiveSheet.Paste
Range("BA43").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("作業シート(変更禁止!!)").Select
Range("D12").Select
ActiveSheet.Paste
Sheets("角2封筒印刷画面").Select
Application.CutCopyMode = False
ExecuteExcel4Macro "PRINT(2,1,1,1,,,,,,,,2,,,TRUE,,FALSE)"
Sheets("住所録").Select
ActiveCell.Select
End Sub

よろしくお願いします。


442:404 ◆RKItBcY.UI
10/06/17 12:57:07
>>435
できましたスゴイですカンペキですあなたが神か計画通り!
ありがありがとうございましたありがー

443:名無しさん@そうだ選挙にいこう
10/06/17 13:11:25
>>441
解読するのがめんどくさいのでヒントだけ
For Each xxxx in yyyy という命令を使うと、複数選択されたセルを順番に1つずつ処理できる

For Each 以下略
  (印刷マクロ)
Next

みたいな感じで使う

444:横から失礼
10/06/17 13:40:41
>441
マクロの自動記録そのままのようですね。繰り返しとか分岐は自動記録では書けないので少し勉強が必要です。
で、>443さんの処理だと宛名1件分の4個のセルを4件分のデータとみなしてしまうので、初心者には???と
なりそう。

印刷対象を複数指定する方法はどうするんですか? エクセルの普通の印刷のときのように 1-5,8,9,10 みたいな
番号指定する方法? それとも住所録シートの各行のどこかの列に ○ とか 1 とか入力する方法?
それとも、まったく別の方法?


445:名無しさん@そうだ選挙にいこう
10/06/17 13:52:15
スレ違いになるけどWordの差し込み印刷使ったほうが・・・2003以前だと使いにくかったかもしれないけど

446:名無しさん@そうだ選挙にいこう
10/06/17 13:52:29
>>443
ありがとうございます。
さっそく調べてみて

Dim r As Range
For Each r In Selection

>>441のマクロ

Next r

をつけてみて試したところ・・・
一番最初に選択した住所が複数印刷される結果になりました・・・


>>444
アドバイスありがとうございます。

> 印刷対象を複数指定する方法はどうするんですか? エクセルの普通の印刷のときのように 1-5,8,9,10 みたいな
> 番号指定する方法? それとも住所録シートの各行のどこかの列に ○ とか 1 とか入力する方法?
> それとも、まったく別の方法?
これは私向けへのレスですよね?
選択方法は印刷したい名前の部分を選択範囲にしてマクロを動かす方法で行っています。


447:444
10/06/17 14:28:26
>446
あ、やっぱり1件のデータを複数データとみなしましたね。
>選択方法は印刷したい名前の部分を選択範囲にしてマクロを動かす方法
選択範囲がA1:D1の4個のセルなので、名前だけじゃなく郵便番号、住所1,2まで選択ですよね。

今使っているシートのうち、作業シート(変更禁止!!)は用いず、住所録と角2封筒印刷画面の
2シートだけで1枚ずつでも、まとまって印刷でもできるような方法があります。
自分が年賀状の宛名印刷に使っている方法です。
封筒印刷画面で「次」「前」「1件印刷」の3個のボタンで操作できます。これに「全部印刷」
の機能を加えるのも割と簡単です。興味があるなら資料を準備しますが。

448:名無しさん@そうだ選挙にいこう
10/06/17 17:04:33
>>446
For Each r In Selection
だとセルごとの繰り返しになってしまうので、
For Each r In Selection.Rows
とやれば1行ごとの繰り返しになる。

基準となるセルの行番号が変数 r に入るので、
その行の左端のセルは Cells(r, 1) で表すことができるようになる。
これを応用するとマクロの最初の行は
Cells(r, 1).Range("A1:D1").Select
のように書き換えることができる。

あとはそのままいけるはず

449:名無しさん@そうだ選挙にいこう
10/06/17 18:27:29
>440
逆向き印刷できないのはWORDじゃなくて
プリンタドライバのせい。
普通付いてると思うけど
プリンタのプロパティ、見た?

450:名無しさん@そうだ選挙にいこう
10/06/17 18:55:31
みなさんありがとうございます。

>>445
しかし、word2007の差し込み機能だとうまくできませんでした。

>>447
> 選択範囲がA1:D1の4個のセルなので、名前だけじゃなく郵便番号、住所1,2まで選択ですよね。
書き方が悪くてすみません。名前部分だけを選択して後はマクロで選択するように
設定しています。
現在では一つのセル選択でしか印刷できないのでこれを住所録の中からCtrlキーで任意に選択して
印刷したいと考えています。

>>448
なるほど。
今やってみた限りだとそれで上手く動かなかったので
出来る範囲で試してみてまた報告します。

>>449
それがプリンタドライバの方も逆向きに対応しておらず
(hpのofficejet 7000 E809a)
wordの差し込みも逆にすることができませんでした。

URLリンク(www.dotup.org)
したい印刷方法は一番右の枠外にあるやりかたです。



451:名無しさん@そうだ選挙にいこう
10/06/17 20:15:52
C3セルに名前を入れて、その名前をファイル名にして保存するとき、
既に保存されてるファイルがあったら末尾に-2、-3と付けて保存するには
どう書けばいいでしょうか?

Sub 保存()
 FOL = "D:\data\"
 SBN = Range("C3").Value
 TWB = ThisWorkbook.Name
 Workbooks(TWB).SaveAs Filename:=FOL & SBN & ".xls"
End Sub

C3セルに"京子"が入ってたら、最初は "京子.xls"、2回目は "京子-2.xls"、
3回目は "京子-3.xls"になります。
よろしくお願いします。

452:名無しさん@そうだ選挙にいこう
10/06/17 20:30:44
>451
ファイルが存在するかどうかのチェックは↓参照。
URLリンク(officetanaka.net)
OfficeTANAKA FileSystemObjectオブジェクト - FileExistsメソッド

あとは"-2.xls","-3.xls","-4.xls"・・・と変化させる部分の繰り返しを組み合わせる。

453:名無しさん@そうだ選挙にいこう
10/06/17 21:01:59
>>452
ありがとうございます。
1回目はおk、2回目になると×のところで止まってしまします。
どこを直せばいいでしょうか?

Sub test10()
''C:\Work\Sample.txtが存在するかどうか調べます
Dim FSO As Object, Target As String
FOL = "D:\data\"
SBN = Range("C3").Value
TWB = ThisWorkbook.Name
For i = 2 To 10
 Set FSO = CreateObject("Scripting.FileSystemObject")
 'Target = "C:\Work\Sample.txt"
 Target = FOL & SBN & ".xls"
 If FSO.FileExists(Target) Then
  'MsgBox Target & "が存在します"
  Workbooks(TWB).SaveAs Filename:=FOL & SBN & "-" & i & ".xls" ←×
 Else
  'MsgBox Target & "は存在しません"
  Workbooks(TWB).SaveAs Filename:=FOL & SBN & ".xls"
  GoTo 100
 End If
 Set FSO = Nothing
Next
100
End Sub

454:名無しさん@そうだ選挙にいこう
10/06/17 21:34:31
>453 試してはいません。あしからず
TWB = ThisWorkbook.Name rem ここまでは>453に同じ
i = 1
Set FSO = CreateObject("Scripting.FileSystemObject")
Do
  If i = 1 Then
    Target = FOL & SBN & ".xls" rem 最初だけ
Else
    Target = FOL & SBN & "-" & i ".xls" rem 2回目以降
  EndIf
  If FSO.FileExists(Target) Then   rem フルパスTargetで存在したら
    i = i + 1  rem 変数を+1してループ継続
  Else      rem 存在しないときだけ
    Exit Do   rem ループを脱出
  EndIf
Loop
Workbooks(TWB).SaveAs Filename:=Target rem ファイルセーブ
Set FSO = Nothing
End Sub

ファイル存在チェックを「存在しない」になるまで繰り返すこと。
そのために先にフルパスの組み立てを行っておけばいいはず。
FSOの処理ははじめとおわりに1回ずつでいいと思う。

455:名無しさん@そうだ選挙にいこう
10/06/17 21:58:32
>>454
ありがとうございます。
Target = FOL & SBN & "-" & i & ".xls"でおkでした。

456:名無しさん@そうだ選挙にいこう
10/06/17 23:19:38
質問です。
ボタンと図形が混在してるシートがあり、
ボタンをクリックしたら特定のボタンだけを削除してから
ブックを保存するにはどうすればいいでしょうか?

457:名無しさん@そうだ選挙にいこう
10/06/18 00:01:05
>>456
特定のボタンを削除してブックを保存するマクロを作ってボタンに登録。
でも1回目で特定のボタンが消えるから、そのマクロは二度と使えない。とても無駄な作業になる。

458:名無しさん@そうだ選挙にいこう
10/06/18 05:38:07
>>456
>>457の方式を別のシートへボタン作って登録しておけばOK.
また、マクロの場合は通常”Ctrl+□”で作動する設定をするので
>>457の>そのマクロは二度と使えない。
ということはないでしょう。

459:名無しさん@そうだ選挙にいこう
10/06/18 08:36:14
消去する対象が無くなってしまうから二度と使えないって意味では?

460:名無しさん@そうだ選挙にいこう
10/06/18 09:10:52
>>457
特定する方法によるな


一番番号の大きい画像
一番右の画像、等

461:複乳
10/06/18 09:13:06
>>456
Private Sub CommandButton2_Click()
Shapes("CommandButton1").Delete
End Sub
こんな漢字?保存はマクロの記録でやっておくれ

462:名無しさん@そうだ選挙にいこう
10/06/18 09:19:17
>>456
ESPしてみた。

たぶんボタンと図形が混在しているシートがたくさんあり
その中から一定の条件を満たすボタンだけ削除し保存したい。
面倒だから、それぞれボタン一発でやりたい

ということかな?

463:名無しさん@そうだ選挙にいこう
10/06/18 11:45:34
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 NO
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 現在時刻 条件付き書式設定


初心者です。 スケージュール表を作っていて、

A1に9:00 B1に9:30 C1に10:00・・・・といった感じで並んでいます。(h:mm)

やりたいことは経過した時間の部分は赤く表示させたい為、条件付き書式設定を
使用したいのですが、 セルの値が 次の値より小さい =NOW() で設定しても上手くいきません。

シートには今日のスケジュールのみしかない為、日にちは気にせず 現在時刻とだけ比較したいです。
初歩的かもしれませんが、お知恵をお借りしたいです。よろしくお願い致します。

今日のスケジュールのみな為、

464:名無しさん@そうだ選挙にいこう
10/06/18 11:47:11
すいません。 最後の行はシカトしてくださいです。(m´・ω・`)m ゴメン…

465:複乳
10/06/18 12:09:35
>>463
シリアル値の問題
A1のように時刻だけ入れると 1900/1/0 の 9:00なんだけど(シリアル値で0.375)
now()は2010/6/18 12:05 と返ってくる(シリアル値で40347.5048・・)

要するに日付部分をひけばいいので
=NOW()-TODAY()とすれば解決


466:名無しさん@そうだ選挙にいこう
10/06/18 12:36:48
>>463
数式が にして

A1セルだとして

=A1<(NOW()-INT(NOW()))

こんな感じにすればいいんではないかい?

467:463
10/06/18 13:15:34
>>465
ありがとうございます。 出来ちゃいました(`・ω・´)
TODAYのが邪魔だったワケですね。自分でも理解できてよかったです。


>>466
ありがとうです。
やってみましたが なんか上手くいかなかったです。でもありがとうございました。


(`・ω・´)ありがとおおおおおおおおおおおおおおおおおおおおおおお

468:名無しさん@そうだ選挙にいこう
10/06/18 16:15:34
数学がほとんどできない馬鹿ですけど
回答者のみなさんと同じレベルのエクセルを身につけたいと思っています

そこでみなさんがスキルアップのために利用したサイトとありましたら教えていただけないでしょうか

469:名無しさん@そうだ選挙にいこう
10/06/18 16:19:37
ヒント Excelと数学は関係ない。ていうかまったく必要ない。

どっちかと言うと数学じゃなくて算数だよ。
よく見てごらん、ほとんど足し算と引き算しかしてないじゃない。
その回数がちょっと多いだけ。あとはパズルみたいなもん。

470:複乳
10/06/18 16:25:55
>>468
関数といっても数学とは関係ないが、関数は一通り使ってみるといい
「エクセル 関数」でぐぐれば一覧が出てくる

個人的に役にたったサイトは↓。そのままぐぐればトップにでてくるよ
インストラクターのネタ帳
オフィス田中


471:名無しさん@そうだ選挙にいこう
10/06/18 16:43:05
はじめまして。
長文&改行が多いので分割して投稿させてくださいませ。m(_ _)m

現在、EXCEL2003で以下の処理をマクロで実行しようとしているのですが
1004のエラーが発生する場合と、発生しない場合とがあって困っています。
誰か考えられる原因を教えて下さい。

【1 OSの種類         .】 Windows2003 ※VMで使用
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可


【EXCELの設定】
「オートフィルター」を設定
「ブックの共有」、「ブックの保護」、「シートの保護」を設定

【条件】
「フィルター」を設定し、絞込みをおこなっておく。

【EXCEL終了前の処理】
Workbook_BeforCloseイベント内でFilterModeがTrueの場合には
ShowAllDataを実行して、全部のデータを表示してから保存後にEXCELを終了する。


472:名無しさん@そうだ選挙にいこう
10/06/18 16:44:30
>>471 の続きです。

【エラーの発生原因】
ShowAllDataを実行する際にエラーとなる

【1004実行時エラーの発生するケース】

・「ブックの共有」→「フィルター」設定→Workbook_BeforClose→EXCELの終了
・「ブックの共有」→「フィルター」設定→「ブックの共有解除」→Workbook_BeforClose→EXCELの終了

【エラーが発生しないでShowAllDataが正常に実行されるケース】
・「ブックの共有解除」→「フィルター」設定→Workbook_BeforClose→EXCELの終了
・「ブックの共有解除」→「フィルター」設定→「ブックの共有」→Workbook_BeforClose→EXCELの終了


当初は、ブックの共有が掛かっているとShowAllDataは使えないのかと
思ったのですが、そうでもないような・・・。
強いて言えば、ブックをOPENする際にブックの共有設定がONかOFFかという点
位かと。
ただ、終了前にブックの共有を設定したり解除した際にはMultiUserEditingに正しい
値が反映されているので、SowAllDataはブックのOPEN時に共有設定をPublic変数に
保存しておいて、SowAllDataを実行する際には、その変数で条件判断して実行する
かしないか抑制しないといけないものなのでしょうか?

長文すみましぇん。m(_ _)m

473:名無しさん@そうだ選挙にいこう
10/06/18 16:46:02
MOGUはどうですか?

474:名無しさん@そうだ選挙にいこう
10/06/18 17:27:30
>>471
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
Else
MsgBox "?"
End If
とかフィルタの状態をみるのかな

475:名無しさん@そうだ選挙にいこう
10/06/18 19:26:23
2000から2003に移行したのですが、関数の入力が煩雑になっていて、欝です。がなにかうまい対処法はないものでしょうか。
2003では関数を出すfxボタンを押すと、関数のダイアログボックスが出るのですがこれが非常に使いにくいです。
2000なら「=」ボタンを押すとすぐ左に関数一覧が表示されて、それをシングルクリックするだけでいけました。
ところが、2003だと、fxボタンを押すと、関数一覧のダイアログボックスが画面中央に出ます。遠いです。そして、関数の選択もダブルクリックしないといけなくなりました。
ダイアログボックに表示される「関数の検索」も邪魔です。
細かいようなのですが、関数はよく使うのでとても不便です。
2000の時のようにさくっと関数入力がしたいのですがうまい方法はないものでしょうか。

476:名無しさん@そうだ選挙にいこう
10/06/18 20:07:08
2000に戻す以外に解決方法はない

477:名無しさん@そうだ選挙にいこう
10/06/18 21:43:59
>>473
mougのことか?
あちらの一般掲示板はかなりひどい。
まぁ追加書き込みできない仕様じゃレベルが低くなるのはしょうがねーだろうな。
なかにはまともな回答者も数人はいるんだが、残念ながら悪貨が良貨を駆逐しつつある。

478:名無しさん@そうだ選挙にいこう
10/06/18 23:39:58
>>477
悪貨って誰よ?
おまえはまともな回答者なのか?

479:名無しさん@そうだ選挙にいこう
10/06/19 00:18:12
教えて下さい。

生徒の成績(合計点)をA~Cで評価する場合の式が分かりません。
合計点165点以上はA
155~164点はB
154点以下はCです。
AとBだけならできるのですがCが入ると分かりません。


480:456
10/06/19 00:25:35
>>457-462
説明不足ですみません。
注文書.xlsにマクロを書きます。
シートが複数あって、その中に"LIST"というシートがあります。
そのシートにある[保存]ボタンをクリックすると、LISTというシートだけを
0618_注文書.xlsとして保存します。
図形とボタンが3つあるので、3つのボタンだけを削除したいです。


Sub 保存する()
Book_Name = ThisWorkbook.Name
myPath = ThisWorkbook.Path & "\"
Sheet_Name = ActiveSheet.Name
myDate = Format(Date, "mmdd_")
Sheets(Array(Sheet_Name)).Copy
Shapes("CommandButton1").Delete
ActiveWorkbook.SaveAs Filename:=myPath & myDate & Book_Name
ActiveWorkbook.Close 'SaveChanges:=False
End Sub

Shapes("CommandButton1").Deleteがコンパイルエラーになってしまいました。

481:名無しさん@そうだ選挙にいこう
10/06/19 00:35:25
>>479
=IF(A1>=165,"A",IF(A1<=154,"C","B"))

482:名無しさん@そうだ選挙にいこう
10/06/19 00:38:00
>>480
シート名は省略できない。たとえばこう書けばエラーにならない
ActiveSheet.Shapes("CommandButton1").Delete

483:456
10/06/19 02:47:11
>>482
実行時エラー '-2147024809 (80070057)':
指定した名前のアイテムが見つかりませんでした。
とメッセージが出ます・・・

484:名無しさん@そうだ選挙にいこう
10/06/19 02:57:37
>>483
>>482はあくまでも例
実際は自分の作ってるブックに合わせてシート名とボタン名を書き換える

485:名無しさん@そうだ選挙にいこう
10/06/19 06:22:51
>>481 式ありがとうございました。
嬉しくて感激です!ヽ(^o^)丿
数字出してみます。本当にありがとうございました!!!

486:475
10/06/19 07:15:56
>>476
マジですか~~。
なんかもう2003って使いにくいだけですね・・・。なんで金払って新しいの買って、
前より使いにくくなってるのか理解に苦しみます。

とりあえず、ありがとうございました。


487:名無しさん@そうだ選挙にいこう
10/06/19 08:25:24
>>486
だいじょうぶだ。2007になればもっと使いにくくなっている

488:名無しさん@そうだ選挙にいこう
10/06/19 09:32:16
会社のExcel2007で作ったxlsxのファイルを家のExcell2003で開く方法はありませんか?

会社のExcel2007で旧バージョンのフォーマットのxlsで保存すればいいのは知ってますが、今回は家にいるのでその方法は使えません。
今、xlsxのファイルを家のExcel2003で開く必要がありまして。

489:名無しさん@そうだ選挙にいこう
10/06/19 09:41:38
開くだけだったらExcelビューアなかったっけ?

490:名無しさん@そうだ選挙にいこう
10/06/19 11:15:19
>>488
これ入れる
URLリンク(www.microsoft.com)

491:名無しさん@そうだ選挙にいこう
10/06/19 11:22:31
>>485
ちなみに4つ以上に分類するときは、ちょっと変えると見やすい
=IF(A1>=165,"A",IF(A1>=155,"B",IF(A1>=55,"C","D")))

492:名無しさん@そうだ選挙にいこう
10/06/19 11:24:08
ビューアとかコンバータが公式から落とせるけど
2007で追加された新機能は基本的に無視されるからファイルによってはまともに開けない
Office2010の体験版入れた方が確実(ただし会員登録が必要)

あとはOOoを使うという手もあるけど互換性がちょっと低いのと使い勝手も全然違う

493:名無しさん@そうだ選挙にいこう
10/06/19 12:42:26
先生、8つ以上は?

494:名無しさん@そうだ選挙にいこう
10/06/19 12:44:46
>>479
条件が3つ程度ならIF関数で充分だが、沢山ある時は表を作ってLOOKUPの方が簡単。
下のような表がC1:D5にあるとすれば
=LOOKUP(A1,C$1:D$5)
=LOOKUP(A1,C$1:C$5,D$1:D$5)
など。

0 E級
20 D級
30 C級
50 B級
70 A級
90 S級


495:名無しさん@そうだ選挙にいこう
10/06/19 13:08:43
>>440-441,446,450です。
あれから色々やってみて満足に動くようになりました。
皆さんのおかげで助かりました。ありがとうございます。
改善したマクロも載せておきますね。

Dim r As Range
For Each r In Selection.Rows

Dim I As Integer
I = r.Row

Cells(I, 1).Range("A1:D1").Select
Selection.Copy
Sheets("長型3号(2)").Select
Range("Z26").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AA26").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("作業シート(変更禁止!!)").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("長型3号(2)").Select
Application.CutCopyMode = False
ExecuteExcel4Macro "PRINT(2,1,1,1,,,,,,,,2,,,TRUE,,FALSE)"
Sheets("住所録").Select
Cells(I, 1).Select

Next
End Sub


496:名無しさん@そうだ選挙にいこう
10/06/19 13:29:49
B評価の幅がえらく狭いな

497:名無しさん@そうだ選挙にいこう
10/06/19 13:41:38
>>496
D評価だろ?
等間隔にするとINTとか使えるから、それを使えないようにした。


498:名無しさん@そうだ選挙にいこう
10/06/19 13:47:38
よく見たらC1:D6だったな。
まぁわかるだろう。

499:名無しさん@そうだ選挙にいこう
10/06/19 14:05:11
>>493
シート上に表を作らずにLOOKUPで振り分ける方法がある。
こんなふうに昇順で並べて書けば、何段階でも分類できる。
=LOOKUP(A1,{0,30,100,155,165},{"E","D","C","B","A"})
         ↑          ↑
        範囲の下限     評価

欠点は微妙に計算が遅いこと。1000個ぐらい並べると目に見えてExcelの動作がもっさりしてくる。
最近のパソコンはそれほどでもないかな?
まあ、同じ式をたくさん並べるときは表を作った方がいいだろうね。メンテもやりやすくなるし。
それと、このスレには配列が大嫌いなやつがいて罵倒してくること。

500:名無しさん@そうだ選挙にいこう
10/06/19 14:33:39
>>499
罵倒観音は俺もその一人だなw
間違った使い方するやつしか罵倒しないけどね。
SMALLを使うやつは特に罵倒したくなる。
おめーはチンポもSMALLだろってねw


501:名無しさん@そうだ選挙にいこう
10/06/19 14:37:00
観音様は女だったか。
=LOOKUP(A1,{0,30,100,155,165;"E","D","C","B","A"})
でもいいんだな。

502:456
10/06/19 16:48:10
>>484
シート名は"LIST"です。
ボタン名は"保存"です。
で、どう書けばいいですか?

503:名無しさん@そうだ選挙にいこう
10/06/19 17:36:05
>>502
ボタンに「表示されてる文字」と「名前」は関係ないから、まずはボタンの名前を調べる。
デザインモードに切り替えてからボタンを右クリックしてプロパティを開く。
出てきた一覧表の1行目に

(オブジェクト名) CommandButton1

みたいに書いてあるので、この右側の「CommandButton1」の部分がボタンの名前になる。

504:456
10/06/19 18:05:36
>>503
右クリックしてもプロパティが出てきません。
URLリンク(uproda.2ch-library.com)

505:名無しさん@そうだ選挙にいこう
10/06/19 19:23:12
>>504
それはフォームのボタンだから、名前を調べるのはちょっと手間がかかる。
まずデザインモードを解除して、もう一度デザインモードに入り直す。
次にマクロの記録→OKをクリックしてから、名前を調べたいボタンをクリック、
点線で囲まれたらマクロの記録を終了。記録されたマクロを確認すると

ActiveSheet.Shapes("Button 123").Select

みたいになってるはず。この "Button 123" のところがボタンの名前。
で、この場合のボタンを削除するマクロは

ActiveSheet.Shapes("Button 123").Delete

になる。

506:456
10/06/19 19:39:38
>>505
Application.Run "注文書.xls!保存する"しか記録されません・・・orz

507:名無しさん@そうだ選挙にいこう
10/06/19 19:45:36
>456,504
当方Excel2003で、起動してすぐは右クリックしても「プロパティ」の項目は出ませんでした。
なにか操作してたら出るようになりました。何したっけ?

とりあえず、メニューから 表示>ツールバー>コントロールツールボックス
で、このツールバーが独立して画面上に存在するときの
右上隅のアイコン(マウスカーソルをのせると「プロパティ」って表示される)をクリックする。

>505
>504の画像を見る限り、シート上のボタンのように見えます。フォームのボタンだと、
VBA編集画面のフォームの上にしか置けないのでは?

508:507
10/06/19 19:50:19
と思ったら、フォームのボタンもシート上に置けるんですね、知らなかった。

>456,504 コマンドボタンと、フォームツールバーによるボタンとの見分け方がわかります。
エクセル マクロ
Excelの「コマンドボタン」の使い方
URLリンク(allabout.co.jp)

509:名無しさん@そうだ選挙にいこう
10/06/19 19:52:08
コントロールツールボックス vs フォームじゃ、話が噛み合わんわなwww

510:507,508
10/06/19 20:06:46
コマンドツールバーで作ったボタンだろうが、フォームツールバーで作ったボタンだろうが、
デザインモードでそのボタンをクリックすると、通常ならセル位置を表示する場所
(画面の左上の方、数式を入れる部分の左隣)にオブジェクト名が表示されますよ。
そこをクリックして[Ctrl]+[C]でコピーできます。
フォームツールバーによるボタンだと既定値は ボタン 1 になります。
コントロールツールバーによるものの既定値は CommandButton1 になります。
※ボタンに表示されている文字列はCaptionであり、オブジェクト名ではありません。

511:名無しさん@そうだ選挙にいこう
10/06/19 20:45:14
>>506
じゃあマクロの記録のあと、目的のボタンを右クリックしてから記録の終了

512:名無しさん@そうだ選挙にいこう
10/06/19 20:46:59
>>510
フォームボタンの場合はボタン名じゃなくてキャプションが表示されるのでこの場合は使えない。

513:名無しさん@そうだ選挙にいこう
10/06/19 20:48:07
>>509はわかってない
斜め読みして茶々入れただけ

514:名無しさん@そうだ選挙にいこう
10/06/19 20:49:45
>>510
>コマンドツールバーで作ったボタンだろうが、フォームツールバーで作ったボタンだろうが、
>デザインモードでそのボタンをクリックすると、通常ならセル位置を表示する場所
>(画面の左上の方、数式を入れる部分の左隣)にオブジェクト名が表示されますよ。

マクロが登録されてなければそれでいい。
お前が馬鹿丸出しなのは、>>506を読んでないか理解してないところ。
さらにエスパーすれば、480でボタン3個と書かれてるから保存ボタンなら
「ボタン 1」になる可能性は低いと推測される。

>>506
デザインモードは気にすることなくボタンを右クリックすれば分るはず。

515:名無しさん@そうだ選挙にいこう
10/06/19 20:50:54
うまく選択できないときは「オブジェクトの選択」モードで目的のボタンを囲めばいい

516:名無しさん@そうだ選挙にいこう
10/06/19 20:54:23
もちろんわかってるってば。
右クリックでコンテキストメニューに「プロパティ」が出るのはコントロール、出ないのはフォームのボタン。

フォームボタンの場合、マクロが登録されていなければ左クリックはActiveSheet~Select、
登録されている場合はApplication.Runになる。

フォームボタンの場合はセル名のところに表示されるのはキャプションであってボタン名じゃない。

517:名無しさん@そうだ選挙にいこう
10/06/19 20:55:57
ついでに。
詳しそうだから、フォームのボタン名を一発で調べる方法があったらぜひ教えてくれ。

いや、教えてください。

518:名無しさん@そうだ選挙にいこう
10/06/19 21:23:11
初歩的な質問ですみません。
取引先から送られてくるエクセルでシートの外(?)の部分がグレーになっているのですが
どうやったらシートの範囲を広げられるのでしょうか。
範囲を広げて、その部分に計算式やプルダウンリストの選択肢を入れたいのですが。。

519:名無しさん@そうだ選挙にいこう
10/06/19 21:35:14
>>518
表示→標準

520:名無しさん@そうだ選挙にいこう
10/06/19 21:55:02
>>517
ボタンをクリックして、名前ボックスを見る

521:名無しさん@そうだ選挙にいこう
10/06/19 22:06:09
>>517
デザインモードでボタンをクリック→数式バーを見る。


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