14/12/19 08:55:34.51
▼━質問時の注意・決まり事━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
ここは技術的な質問のみで。
・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。
Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、
どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。
但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。
ここみたいに丸投げはダメですよ。
・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
その上で、どううまくいかないのかを具体的に書きましょう。
エラーが出るなら、何処でどういうエラーが出るのか、
想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。
・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。
・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、
チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、
ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
3:名無しさん@そうだ選挙にいこう
14/12/19 13:11:52.31
>>1いい加減これ直せや
×・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
○・B 書籍や解説サイトの紹介依頼はスレ違い。ここは技術的な質問のみで。
4:名無しさん@そうだ選挙にいこう
14/12/20 00:57:38.84
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel 2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
条件付き書式でセルの文字数が8以上20未満の時に文字の色を変える事って出来ますか?
5:名無しさん@そうだ選挙にいこう
14/12/20 03:16:10.14
こんなピボットテーブルが有ったとして
--------
| data |
--------
| 2 |
--------
| 4 |
--------
| 6(合計)|
--------
この書式か何かだけを、
数値だけが入っている別のセルにコピペして
--------
| |
--------
| 20 |
--------
| 40 |
--------
新しいピボットテーブルを作成することは可能でしょうか?
--------
| data |
--------
| 20 |
--------
| 40 |
--------
| 60(合計)|
--------
6:名無しさん@そうだ選挙にいこう
14/12/20 04:32:56.82
訂正
ピボットテーブルではなくて、普通のテーブルでお願いします。
7:名無しさん@そうだ選挙にいこう
14/12/20 04:47:06.10
大久保ピポットを使え
8:名無しさん@そうだ選挙にいこう
14/12/20 05:11:02.82
うめ
9:名無しさん@そうだ選挙にいこう
14/12/20 08:23:23.33
>>4
=and(len(a1)>=8,len(a1)<20)
みたいな感じ
>>5
参照する元データを変えないと無理っぽい気がする
10:4
14/12/20 13:50:22.22
>>9
出来ました!どうもありがとう。
11:名無しさん@そうだ選挙にいこう
14/12/20 15:24:04.76
【1 OSの種類 .】 Windows7pro
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 コピペだけできます
【4 VBAでの回答の可否】 可
「ABC」というシートのA1に値が入っていたら、 マクロ「Sub MacroC3」他5個を
実行するコードをお願いしますm(_ _)m
12:名無しさん@そうだ選挙にいこう
14/12/20 15:31:33.94
>>11
自動的に判断させるならイベントプロシージャというのを使うんだけど、
「値が入っていたら」ってのは何時どんなタイミングでチェックするの?
たとえば、ブックを開いたとき、シート「ABC」をアクティブにしたとき、
シート「ABC」のA1の値が変更されたとき、の3種類のタイミングは全部違うイベントになるよ。
13:11
14/12/20 16:58:38.28
>>12
例えば下みたいにマクロA1を実行するとB1~C6までを実行しています
そこでマクロA1を実行してる最中に、シート「ABC」のA1に値が入っていない場合は
C3のマクロを飛ばして、C4から再開したいと思います。
Sub MacroA1()
Sub MacroB1
Sub MacroB2
Sub MacroB3
Sub MacroB4
Sub MacroB5
Sub MacroC1
Sub MacroC2
Sub MacroC3
Sub MacroC4
Sub MacroC5
Sub MacroC6
C3のマクロはこんな感じの構成になっています。
Sub MacroC3()
Sub MacroD1
Sub MacroD2
Sub MacroD3
Sub MacroD4
よろしくお願いします。
14:名無しさん@そうだ選挙にいこう
14/12/20 18:57:23.76
>>13
callじゃないの
Sub MacroA1()
call MacroC2
if(sheets("abc").cells(1,1)<>"")then
call MacroC3
endif
call MacroC4
みたいな感じ
15:名無しさん@そうだ選挙にいこう
14/12/20 21:51:05.82
Windows8.1
office2013
index(1行800列の範囲、1行、指定の列)の関数をindex1などと表すようにします
セルに
=index1+index2+index3+..+index10と打つとメモリが98%などになって応答停止します
こういう使い方はダメなのでしょうか
16:名無しさん@そうだ選挙にいこう
14/12/20 21:59:39.19
>>15
表されても困る
そのままの数式かいて
17:名無しさん@そうだ選挙にいこう
14/12/20 22:44:40.56
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
セルの内容に「\137,980」のような金額が入っていますが
これをsumなどで演算させると0として計算してしまいます。
Value関数を使って数値に変換しようとしても、#value!と
エラーが出てきて使えません。
簡単に演算させる方法は無いでしょうか?
18:名無しさん@そうだ選挙にいこう
14/12/20 22:51:52.10
>>17
簡単かどうかしらんけど
すぐ終わるならsubstituteで置換
長く使うなら置換して\は書式設定にする
19:名無しさん@そうだ選挙にいこう
14/12/20 23:26:50.60
>>18
ありがとう御座います。
substitute調べてみたのですが、置換する関数のようですね。
\を消してからValueするのでしょうか?
複数のセル(飛び飛びでの選択)の演算が目的なので、
ちょっと大変そうです。
大元のワークシートののデータは金額で、書式指定で\が
ついているようですが、これを=で参照しているセルが
コピー元になります。
これを別のワークシートに「形式を指定して貼り付け」すると
文字列になってしまうようです。
結果、これを計算させようとしてもあくまでも文字列であると。
ありがちなパターンだと思っていたのですが、かなり難しいです。
20:名無しさん@そうだ選挙にいこう
14/12/20 23:36:40.74
>>19
「1000」と書式設定の\をコピーペーストして「\1,000」
になるの?聞いたこと無い
「形式を指定して貼り付け」
もどの形式を指定したのか不明
21:名無しさん@そうだ選挙にいこう
14/12/21 17:51:17.83
【1 OSの種類 .】 Windows7pro
【2 Excelのバージョン 】 Excel2013
【3 ダウンロードして起動できるのか .】Excel2013 word2013が入っているWindows8搭載のノートPCを購入しましたが、
他のPCにExcel2013 word2013をダウンロードし、シリアルコードを入力すれば使えるようになるでしょうか?
【4 使用できるかの回答の可否】
無知ですみません。ダウンロード版を購入すれば2人までは使えると書いてあったので、どうでしょうか?
22:名無しさん@そうだ選挙にいこう
14/12/21 18:48:37.95
>>21
使えると書いてあったなら使えるんだろう
それ以外どう解釈するんだ
23:名無しさん@そうだ選挙にいこう
14/12/22 06:49:06.86
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
月末が何日かtodayみたいなので出したいです
何か方法ありませんか
24:ぴころ ◆lHG3Yzo0a6
14/12/22 07:00:20.02
=DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-1
書式を日付に
25:ぴころ ◆lHG3Yzo0a6
14/12/22 07:01:52.12
=EOMONTH(TODAY(),0)
書式を日付に
26:ぴころ ◆lHG3Yzo0a6
14/12/22 09:48:23.90
>月末が何日か
30とか31とかいう数値が欲しいなら
=DAY(EOMONTH(TODAY(),0))
書式はそのままでOK(^▽^)
27:名無しさん@そうだ選挙にいこう
14/12/22 11:12:09.62
>24-26
出来ました
ありがとうございました
28:名無しさん@そうだ選挙にいこう
14/12/22 15:54:02.95
いままでExcel2000を使っていて
Excel2010にバージョンアップしたら
起動の度に1秒ぐらい待たされるんだが
Excel2000は0.1秒ぐらいで起動できたぞ。
29:名無しさん@そうだ選挙にいこう
14/12/22 19:01:34.39
作業の途中で十秒ぐらい(反応なし)に成るときもあるぐらいだから気にすんな
30:名無しさん@そうだ選挙にいこう
14/12/22 20:00:47.75
>>28
1秒ぐらい待つだけのメリットはあるぞ
ふと思った
下っ端はその恩恵を受けて、必死こいて効率化を進めている
上司はその上澄み液を用いて表計算にしか使ってない
バージョンアップの決定権は上司にある
・・・ということだな
31:名無しさん@そうだ選挙にいこう
14/12/23 00:36:46.56
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2013(2010だったかも)
【3 VBAが使えるか .】 少し
【4 VBAでの回答の可否】 (できれば) 否
「KK列を探索してA列の対応する行に左詰めで値を埋めていきたい」
KK列以降の「??#n.n」の「??」が、A列にあります。これをキーとします。
同様に「??#n.n」の「n.n」を値とします。
A列とKK列のキーが対応する値を、B列からZ列まで当てはめていきたいです。
KK列はソートされていません。また、BlueやGreenなどの不要データも含まれます。
A B C D・・・・・・KK列
10 1.1 1.2 1.3・・・・・10#1.1
20 2.5 2.0 2.5・・・・・BX#5.5
30 3.3 3.3 3.3・・・・・Blue
A0 4.1 4.2 4.3・・・・・BX#5.4
BX 5.5 5.4 5.3・・・・・30#3.3
・・・・・・・・・・・・・・・・・・・・10#1.2
・・・・・・・・・・・・・・・・・・・・Green
・・・・・・・・・・・・・・・・・・・・BX#5.3
・・・・・・・・・・・・・・・・・・・・10#1.2
ワークシート関数だけで可能でしょうか?できればKK列にコピペするだけが望ましいです。
可能であればどんな関数を使うべきかのヒントだけでも頂けるとありがたいです。よろしくお願いします。
32:名無しさん@そうだ選挙にいこう
14/12/23 01:11:08.20
>>31
KK列の一番下の「10#1.2」は「10#1.3」の間違いなのか、同じデータは無視するのか、どっち?
33:名無しさん@そうだ選挙にいこう
14/12/23 01:33:49.42
>>32
最後の行は「10#1.3」です。ご指摘ありがとうございます。
同じデータであっても無視しないです。
エクセルとブラウザの両方とにらめっこしてますが、出来る気がしないですね・・・
34:名無しさん@そうだ選挙にいこう
14/12/23 02:20:13.44
>>33
数式だけでもできそうだけど、面倒すぎて考える気になれん
というわけでサクっとVBA
Option Explicit
Sub Macro1()
Dim r As Long
Dim KK As String
Dim a() As String
Dim r2 As Range
For r = 1 To Cells(Rows.Count, "KK").End(xlUp).Row
KK = Cells(r, "KK")
If InStr(KK, "#") > 0 Then
a = Split(KK, "#")
Set r2 = Columns("A").Find(what:=a(0), SearchOrder:=xlByColumns)
If Not (r2 Is Nothing) Then
Rows(r2.Row).Find(what:="", SearchOrder:=xlByRows).Value = a(1)
End If
End If
Next
End Sub
35:名無しさん@そうだ選挙にいこう
14/12/23 09:00:40.94
>>34
あーーーりがとうごさいます!!VBAの方が簡単なんですね。勉強します
36:名無しさん@そうだ選挙にいこう
14/12/23 17:11:00.83
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel 2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
レイヤー機能ってありませんか?
A4の用紙に3種類くらい表を作りたいんですが
1個目の表に合わせて横幅とか決まっちゃうので
結合したり色々工夫しないとうまくできません
一応3つのシートでそれぞれ表を作って
カメラ機能で印刷用のシートに貼り付ければそれっぽくはなるんですが
これ以外にやり方ってあります?
37:名無しさん@そうだ選挙にいこう
14/12/23 20:40:14.37
前スレ879で質問したものです
2週近くかかりましたが希望の予定表の骨格が作れました
回答者様(特に883様)本当にありがとうございました。
URLリンク(i.imgur.com)
細かいところはこれから直します
38:名無しさん@そうだ選挙にいこう
14/12/23 20:46:00.08
>>37
見た目キレイだな
39:名無しさん@そうだ選挙にいこう
14/12/24 07:25:51.10
Win7のExcel2013で一つのセルに長い文章を入れて折り返して全部表示
にすると、一つのセルが大きな長方形になりますよね。
まあそれは正常なのですが、そういうセルが何行もあると、矢印キーで
スクロールする時に、次のセルに一気にピョンと飛ぶので見づらいのですが、
こういう場合でもスムーズにスクロールする方法はないでしょうか?
40:名無しさん@そうだ選挙にいこう
14/12/24 08:35:17.05
一つのセルに長い文章入れるのが異常
41:名無しさん@そうだ選挙にいこう
14/12/24 08:43:14.02
>>39
まず、そういう使い方を改めることからやり始めたらどうだ?
42:名無しさん@そうだ選挙にいこう
14/12/24 09:31:47.17
>>40-41
>>39 じゃないけど、他から送られてきたファイルがそうなってることは珍しくない
43:名無しさん@そうだ選挙にいこう
14/12/24 10:45:44.36
>>42
そんなのレアケース
そんなファイル作成するのはマトモな奴じゃない
44:名無しさん@そうだ選挙にいこう
14/12/24 10:56:54.47
>>39
無い
俺もそういう使い方よくするけど、それだけダルイ
テキトーなレポート作るときは楽だよ
45:名無しさん@そうだ選挙にいこう
14/12/24 11:26:05.26
現実にそういうことがあって相談してるのに、そんなことはない、レアケースと突っぱねられてもかわいそう
46:名無しさん@そうだ選挙にいこう
14/12/24 12:50:43.96
働いたことないのか、Excel 使うような仕事してない(=ホワイトカラーでない)んだろ
47:名無しさん@そうだ選挙にいこう
14/12/24 12:53:19.05
ここはエクセルをワープロ代わりにするスレ
48:名無しさん@そうだ選挙にいこう
14/12/24 14:25:23.21
じゃぁ、ここに誘導しよう
何でもかんでもExcelで資料作る奴
スレリンク(bsoft板)
49:名無しさん@そうだ選挙にいこう
14/12/24 15:04:18.59
>>46
こんなヴァカでもホワイトカラーw
URLリンク(togetter.com)
50:名無しさん@そうだ選挙にいこう
14/12/24 19:21:51.19
新製品開発のヒントと思えばいいのかな?ExcelWord
ところが、そういうの作ると、今度は、セルの中で罫線
引けないの?とか・・・・
51:名無しさん@そうだ選挙にいこう
14/12/24 19:38:03.31
逆にセルには20文字以上いれたり数式やマクロが無いとエラーにすべき