Excel総合相談所 113

このエントリーをはてなブックマークに追加
867名無しさん@そうだ選挙にいこう:2014/06/25(水) 21:18:35.01
>>866
そこは、=If...
おっと、上級者じゃないから、やめとこ
すまん
868名無しさん@そうだ選挙にいこう:2014/06/25(水) 21:42:10.19
>>859
日付は
=TEXT(Vlookup(),"0!/00!/00")
な感じでやれば日付っぽく表示されるんじゃね?
日付も値も一緒くたにオートフィルでやるってのなら無理な話だと思うが…

値に関しては
=IFerror(vlookup(),"")
で防げるよ
0になるのが不便の意味がわからんが、前提として0が出ちゃダメってこと?
あとでAverageで使うとか?
869名無しさん@そうだ選挙にいこう:2014/06/25(水) 21:45:56.65
上級者すぎwww
870名無しさん@そうだ選挙にいこう:2014/06/25(水) 21:58:15.97
真の上級者はVlookUPの参照先を目視してコピペ
871831:2014/06/25(水) 22:00:03.85
>>847
遅くなりましたが、ありがとうございます。
まだ深く検証しておりませんが、目的のものが作れそうです。
872名無しさん@そうだ選挙にいこう:2014/06/25(水) 22:00:18.73
いや、まず日付は書式設定で良いじゃないか
873名無しさん@そうだ選挙にいこう:2014/06/26(木) 02:39:09.18
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

NOW関数を、リアルタイムで自動更新させたいです。

で、ぐぐったら、次の回答がありました

-------------------------------
NOW関数はそのままで、ファイル自体をいじる方法があります。

1:ツールバー「データ」→「外部データの取り込み」で、そのファイル自体を取り込む
  取り込み範囲はNOW関数が入っているセルで
2:「外部データ範囲のプロパティ」で「定期的に更新する」にチェック
  更新間隔は1分で

---------------------------------

これの1番の意味がさっぱりわかりません
外部データの取り込みで、ファイル自体を取り込むというのはどういうことでしょうか。

その他のデータソース→ExcelFiles*→自分のファイルを指定

とやっても、、見つかりませんエラーが出ます。
874名無しさん@そうだ選挙にいこう:2014/06/26(木) 06:00:14.02
おまえらVBAとかどうやって身につけた?独学?
独学なら本とか買った方が良いの?
875名無しさん@そうだ選挙にいこう:2014/06/26(木) 07:44:49.11
>>873
「取り込む」とは、対象を読み込んで任意のデータを取得するということ。

例えば、下記サイトの手順で自ブックのテーブルを自ブックの任意シートに取り込むとする。
(※「クエリウィザード-列の選択」>[オプション]>「システムテーブル」にチェック)
「接続のプロパティ」で自動更新間隔を設定すると、クエリ更新時にブック内のNow関数も更新される。
http://www4.synapse.ne.jp/yone/excel2010/excel2010_data_query2.html
876名無しさん@そうだ選挙にいこう:2014/06/26(木) 08:25:51.06
>>874
構文規則は基本BASICだし、それ以外はヘルプに載ってるし
本が必要になることはないような
877名無しさん@そうだ選挙にいこう:2014/06/26(木) 08:47:18.26
>>874
独学。
グラフを作りたければ「vba グラフ」辺りでぐぐればいくらでも例が出てくるし、
それの積み重ねだよ。

あと違う言語を触ると色々捗ると思う
vb.netかC#.net辺りが楽でおすすめ。
878名無しさん@そうだ選挙にいこう:2014/06/26(木) 08:49:24.04
ヘルプでわかるのがすごいな
結局はプログラムの基礎が必要ってことか
879名無しさん@そうだ選挙にいこう:2014/06/26(木) 08:51:12.30
>>877
ほー
とりあえずググってわからなくてもいいから触っていく感じなのね。ありがと
880名無しさん@そうだ選挙にいこう:2014/06/26(木) 09:02:45.73
マクロの自動記録もいいぜ、無駄なコードも入るけどあれのおかげで楽が出来た
881名無しさん@そうだ選挙にいこう:2014/06/26(木) 09:05:37.96
>>878
俺もヘルプは殆ど見なかったな。
最近はマシになったようだけど、昔のはちょっと酷かった。
>>880
忘れてた、それだ。vbaはそれがあるからなんとかなるよな。
ただたまーにバグっててそのまま使えない場合がある。
882名無しさん@そうだ選挙にいこう:2014/06/26(木) 09:12:55.80
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【4 VBAでの回答の可否】 否

指定した範囲内の最大数値を表示する方法はありますか?
例えばA1〜A10にランダムで数値が入っているとします。その中で1〜30までの範囲で最も大きい数値を参照したい。
例としては「2,10,43,14,6,121,28、21、99、1」この中なら「28」を返す。そんな感じです
関数でできますか?
883名無しさん@そうだ選挙にいこう:2014/06/26(木) 09:39:39.59
>>882
ちなみに数字以外にも文字がある場合もあるので、それも考慮してもらえると助かります
884名無しさん@そうだ選挙にいこう:2014/06/26(木) 10:00:17.10
>>882-883
関数で出来ますよ

=MAX(IF(A1:A10<=30,A1:A10,0))

=SMALL(A1:A10,COUNTIF(A1:A10,"<=30"))

前者は30以下ならそのままの値、30超なら0を返した上で、その中での最大値を返す
配列数式なのでCtrl+Shift+Enterで確定

後者は、30以下の数値の個数を数えて、小さい方からその個数番目の数値を返す
30以下が7つあるなら、小さい方から7番目は、30以下の中での最大値
885名無しさん@そうだ選挙にいこう:2014/06/26(木) 10:01:33.46
>>882,883
配列入力
{=MAX(IF(A1:A10>=1,IF(A1:A10<=30,A1:A10,"")))}
E1に30と入力して
=LARGE(A1:A10,RANK(E1,(E1,A1:A10)))
886名無しさん@そうだ選挙にいこう:2014/06/26(木) 10:04:33.59
>>884
おおー、配列数式使わないでも出来たんですね。素晴らしい
ありがとうございました
887名無しさん@そうだ選挙にいこう:2014/06/26(木) 12:12:13.69
>>878
ヘルプって上から目線で書いてあるからなんかわかりにくいよな
俺はひたすらググって自分の用途に似てる事例を探す
コピる、うまいこと応用する
を繰り返すと、この方法でやればできるんじゃね?とひらめくようになったりならなかったり
888名無しさん@そうだ選挙にいこう:2014/06/26(木) 12:29:54.62
上から目線ってw

プログラムのリファレンスって基本的にああいうものだよ
仕様だけ不足無く書いてあれば十分
懇切丁寧な感じで書かれてたって、ウザいだけ

コードのコピペ改変しか出来ない人からしたら、
いろんな使用例の具体的なコードが欲しいのかも知れないけど、
普通に1からコード書ける人には、仕様だけ簡潔に書いてあった方が
分かり易くて有意義だ
889名無しさん@そうだ選挙にいこう:2014/06/26(木) 12:55:21.40
MSDNライブラリなんかは日本語のページだとわかりづらいから英語のページの方がいい
英語わからなくても、ね
890名無しさん@そうだ選挙にいこう:2014/06/26(木) 13:38:55.80
マイコンBASICマガジンで文法を3割ぐらい覚えて、最初のうちはわからない部分はコピペと試行錯誤
あとは使いながらだんだん覚えてった
891名無しさん@そうだ選挙にいこう:2014/06/26(木) 15:12:29.85
Excelっぽい画面で2chが見れるらしい
なんか力の使いどころ間違えてる気もするがw
ttp://83net.jp/
892名無しさん@そうだ選挙にいこう:2014/06/26(木) 16:08:32.88
使いどころ以前に、設計からして糞すぎるw

名前欄に書かれていることが見れない
メール欄に書かれていることが見れない
改行が正しく反映されない
文が長くても短くてもポップアップが自動で消えるまでの時間は同じでまともに読めない
文が特に長い場合は後半が省略されるが、省略部分を読む手段が無い
スクロールするとタイトルバーやリボンの部分が画面から消えて、「Excel風」ですらなくなる

数十秒使ってみただけでこれだけ不都合があるw


というか、Excel風ではなくExcelそのものを使って2ch読めばいいじゃん
以前は書き込みまで出来るExcelブックの2chブラウザ「=2ch」ってのがあったけど
これは仕様変更で今は書き込みできないけど、読むだけなら多分出来るし
読むだけなら1から作ってもそう大変では無いよ
XmlHttpとかでSubject.txtやdatを読んで、文字列操作して表示すれば良いだけだから
893名無しさん@そうだ選挙にいこう:2014/06/26(木) 17:33:50.22
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

コピーや切り取りすると条件付き書式が繁殖して困ってます。
なのでマクロで一度削除して新しく設定しなおそうと思ってます。
例えばSheet1のA列全体の中で "○"に等しければRGB(255,255,0)
というふうにするのはどうすればいいですか?
894名無しさん@そうだ選挙にいこう:2014/06/26(木) 18:23:50.91
事故解決しました

Sub 条件付き書式()

Dim fc As FormatCondition
Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Cells.FormatConditions.Delete
Set fc = ws.Range("A:A").FormatConditions.Add(xlCellValue, xlEqual, "=""○""")
fc.Font.Color = RGB(255, 255, 0)

End Sub

"=""○"""の意味がわからに
895名無しさん@そうだ選挙にいこう:2014/06/26(木) 18:31:54.40
>>894
>"=""○"""の意味がわからに

" (ダブルクォーテーション)で文字や数字、記号などを挟むと
それらは文字列として認識されるんだけど、
ダブルクォーテーション自体も記号のひとつであって、
それをどうやって文字列として認識させるかというと、
ダブルクォーテーションで囲まれた中では「"を2つ続けて表記する」というルールになっている
だから
"=""○""" は、つまり
="○" をダブルクォーテーションで挟んだものという意味になる。
896名無しさん@そうだ選挙にいこう:2014/06/26(木) 19:18:58.30
>>891
個人的には非常に評価する
このスレを読むには全く適さないだろうけど、いい発想だ
使わないけどね
897名無しさん@そうだ選挙にいこう:2014/06/26(木) 21:25:26.20
>>891
作った目的が笑える
俺は職場でも堂々と開くけどな
ニュー速みたいなスレをちょくちょくチェックするのにはいいかもしれん
898名無しさん@そうだ選挙にいこう:2014/06/27(金) 01:54:46.40
どうせプロキシで弾かれるから見れない
899名無しさん@そうだ選挙にいこう:2014/06/27(金) 12:25:52.83
【1 OSの種類         .】 Windows7,8.1
【2 Excelのバージョン   】 Excel2010及び2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

webの表の数値を会社の表エクセルに取り込むのに、
webページに表示された表をコピーしてexcelのシートに単なる「貼り付け」
そして数値部分(単一セル)のみをコピー→会社で作成した表の指定部分の結合したセルに貼り付け(貼り付けオプションアイコンで一番左しかできないのでそれで貼り付け)
とやってみたんですが、

これをマクロで記録して貼り付けまでは一気にできたのですが、
その貼り付けた値ではその会社の表に入れられた計算式(足して平均出すだけの式なんですが)で参照しないようで0のままです
貼り付けた数値を上から手打ちで打ち込むと計算式に反映されます。
貼り付けがうまくいってないと思うんですが、良いやり方はないでしょうか?
VBAでも何でも構いません。よろしくお願いします
900名無しさん@そうだ選挙にいこう:2014/06/27(金) 13:42:39.84
>>899
単に数値ではなく文字列扱いになってるから、計算に反映されないだけじゃないの?

VBA使える奴が、こんな初歩的なことを解って無いとも思えないが
=ISNUMBER(セル)
でFALSEが返るなら、それは数字文字列ではあっても数値じゃない



もし、その辺のことを把握している上で、それでも原因も対処法も解らないってなら
その目的のWebページのURLを書くか、それを貼り付けたExcelブックをうpしよう
901名無しさん@そうだ選挙にいこう:2014/06/27(金) 14:32:25.18
yahoo知恵袋みたいな質問サイトでExcelやVBAの質問に適してるサイトはどこ?
オススメあったらおしえてくり。やっぱりokwaveかな?
902名無しさん@そうだ選挙にいこう:2014/06/27(金) 15:00:22.42
>>901
mougじゃね?

適してるどころか、それ専用に特化してるから
903名無しさん@そうだ選挙にいこう:2014/06/27(金) 15:28:33.70
モーグは自宅鯖で運営してんのか?サイト落ちすぎなんだけど
ゆうべも落ちてて今朝までアクセスできなかったし
Excelで検索かけると上位に出てくるから、ついクリックしてエラーでガッカリというのをよく体験する
904名無しさん@そうだ選挙にいこう:2014/06/27(金) 19:06:44.41
>>899
その値の場所をA1として
Sub Macro1()
Range("a1").NumberFormatLocal = "0_ "
Range("a1").Value = Range("a1").Value * 1
End Sub
って感じで数字を数値にして貼り付ければok

Range("a1").Value = Range("a1").Value * 1
これだけでも数値として認識されるようだけど、書式設定も変えておいたほうが色々安全だった輪
905名無しさん@そうだ選挙にいこう:2014/06/27(金) 22:15:14.12
>>899
・単一セルをコピーしたあとの貼り付けを値のみ貼り付けにする
・表そのものを貼り付けた後に書式設定を変える
・最初から表そのものを通常の貼り付けじゃなくてテキストで貼り付ける

この辺で改善できるんじゃ?
906名無しさん@そうだ選挙にいこう:2014/06/27(金) 22:27:28.06
>>903
既に答えがあるものならGoogleでcacheで開けばいいべ…
907名無しさん@そうだ選挙にいこう:2014/06/27(金) 23:30:10.29
もーぐって回答のレスポン早い?
908名無しさん@そうだ選挙にいこう:2014/06/27(金) 23:39:18.03
遅い
ヤフー知恵遅れの方がマシ
ただ、的はずれな答えが返ってきてうざいならモーグが良い
けど個人T系にはココで十分
909名無しさん@そうだ選挙にいこう:2014/06/28(土) 01:42:22.04
ここが一番ランク下ってことか
910名無しさん@そうだ選挙にいこう:2014/06/28(土) 02:27:24.15
さすがにアホー知恵遅れよりはマシだろうw
911名無しさん@そうだ選挙にいこう:2014/06/28(土) 07:12:19.11
>>826
印刷の設定で背景色を印刷するにチェックしてないだけでは?
912名無しさん@そうだ選挙にいこう:2014/06/28(土) 07:16:08.88
りろってなかった…
でも答え出てないっぽいからいいか。
913名無しさん@そうだ選挙にいこう:2014/06/28(土) 09:37:39.34
>>876
ヘルプに載っていないAPIも多数存在するよ。
これは解説本を買うしかない。

まぁ、書籍で学ぶのは、「独学」の範疇に入ると思うけど。
ようは「師匠」から教わらないことが「独学」でしょ?
914名無しさん@そうだ選挙にいこう:2014/06/28(土) 11:59:47.57
Officeを2007から2010にしたら いきなり印刷プレビューが激遅に・・・
5秒くらいかかるのはザラで 余白調整も毎回同じぐらいかかる
プリンタドライバを最新にしても全く変わらず。
何か他に対策無いですか? ちなみに2007では問題なかったです。
915名無しさん@そうだ選挙にいこう:2014/06/28(土) 12:04:09.03
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ある時刻が来たら、ある行を1回コピーする
というマクロを作ります。

A1セルにNow()
A2セルに、A1が11:00〜11:10になったら"1"
A6セルに、1回こっきりというフラグを建ておく

Private Sub Worksheet_Calculate()
If Cells(2, 1) = 1 and cells(1, 6)<>9 Then
range(ある行).copy range(別の行)
cells(1,6) = 9
End If
End Sub

エクセルが暴走してしまいました。

@VBAを止める方法は無いですか?
 再度ファイルを起動して、デバッグ画面が出て、終了しても消去しても暴走します。
A暴走するのはなぜでしょう? どうすればいいでしょうか。
916915
補足

おそらく、cells(1,6) = 9を記入した時点でnow()データが更新され
自動プログラムが発動されてしまっているのではないかと

「ある時間が来たら1回だけコピー」というのをさせるためにはどうしたらいいでしょうか

now()の発動条件を、11:00::00のときだけ、とすると、空振りしてしまう可能性があります