Excel VBA 質問スレ Part41©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net
2016/04/27(水) 04:11:46.79ID:Nk+oP5xRコード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part40
http://echo.2ch.net/test/read.cgi/tech/1455817784/
※関連スレ
VBAなんでも質問スレ Part2
http://echo.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://echo.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 122
http://echo.2ch.net/test/read.cgi/bsoft/1461287268/
0002デフォルトの名無しさん
2016/04/27(水) 04:15:15.99ID:Nk+oP5xRExcel VBA 質問スレ Part37
http://echo.2ch.net/test/read.cgi/tech/1433920729/
0003デフォルトの名無しさん
2016/04/27(水) 21:55:10.70ID:56VYowtZ前スレでQiitaのExcelタグ記事が出てたからいろいろ見たけどもう疲れた
0004デフォルトの名無しさん
2016/04/28(木) 05:56:31.13ID:HABRmm6+別のExcelファイルから参照している複数のセルに並び替えをしたいと考えています
その際空白は省きたいです
普通に並び替えても数式が狂ってしまいますので、文字の入ってるセルの行だけ抽出して並び替えられるようにしたいのですが
数式を文字として認識しているのか
空白を省けません
何か方法はありますでしょうか?
0005デフォルトの名無しさん
2016/04/28(木) 06:08:09.63ID:R0Skxwpj0006デフォルトの名無しさん
2016/04/28(木) 06:20:12.22ID:kK5ruPHcValue2
0007デフォルトの名無しさん
2016/04/28(木) 06:23:08.26ID:HABRmm6+valueは…表示されません
セルに文字がある場合は「1」ない場合は「0」と表示させてMARCH関数で該当するかしないかを表そうと思っています
参照元が空白で、参照先も空白になるのですが、セルには数式が入力されていて
空白でも「1」と表示されてしまいます
0008デフォルトの名無しさん
2016/04/28(木) 06:38:20.09ID:HABRmm6+他サイトからの引用で申し訳ありませんが、やりたい事はこれと同じです
異なるのは、文字の入ってるセルが、他のファイルからの参照先になっていますので
「=[他ファイル.xls]などの数式が入ってしまっています
0009デフォルトの名無しさん
2016/04/28(木) 06:39:31.82ID:R0Skxwpj0010デフォルトの名無しさん
2016/04/28(木) 06:45:42.55ID:HABRmm6+すみませんでした…
0011デフォルトの名無しさん
2016/04/29(金) 00:24:13.71ID:5uxjIDtf0012デフォルトの名無しさん
2016/04/29(金) 00:37:59.90ID:nMX0BLZ6たぶんこのスレを見に来てももうあなたが新たに得られるような情報はないかと
0013デフォルトの名無しさん
2016/04/29(金) 00:44:23.68ID:5uxjIDtfステキな出会いを期待してたのに
0014デフォルトの名無しさん
2016/04/29(金) 01:43:24.44ID:L3/tzjQ70015デフォルトの名無しさん
2016/04/29(金) 02:20:11.85ID:4zpSkGz3すでに.NETからEXCELを使う方法は提供されているわけで
そういう人はVSTO使えばいいというのがMSの方針じゃなかろうかね
0016デフォルトの名無しさん
2016/04/29(金) 03:27:47.90ID:22q9RBL3会社のセキュリティすり抜けられるっていう一点だけだから
好きなIDEが使えるならVBAにこだわる人間は少ないんじゃないか
0017デフォルトの名無しさん
2016/04/29(金) 03:46:43.37ID:L3/tzjQ7こんな感じだよね。勝手にソフトウェア入れるわけにもいかないし、VBAじゃダメなの?と聞かれても俺じゃ納得させられないよ
0018デフォルトの名無しさん
2016/04/29(金) 08:38:57.84ID:WJMtHckd0019デフォルトの名無しさん
2016/04/29(金) 08:54:03.96ID:KCDOC8aIVBAみたいに気楽に使えるようにして欲しいわ
0020デフォルトの名無しさん
2016/04/29(金) 09:54:43.92ID:5uxjIDtf0021デフォルトの名無しさん
2016/04/29(金) 11:08:32.92ID:22q9RBL30022デフォルトの名無しさん
2016/04/29(金) 11:13:45.24ID:hLQru2tB0023デフォルトの名無しさん
2016/04/29(金) 12:31:42.69ID:pnlNs8XQ自分でやれよと思ってしまう
みんなでクラス構成考えたりコードレビューとかしながら成長できる環境なら別にvbaでも構わんよ
0024デフォルトの名無しさん
2016/04/29(金) 12:46:25.08ID:5uxjIDtfツール: 電卓と一緒。大抵のことは自分でやれ。引き継ぎ対象にしない。
ライブラリ: 担当者がメンテする。ちゃんと引き継ぐ。
0025デフォルトの名無しさん
2016/04/29(金) 12:49:00.15ID:Iep7JOlc0026デフォルトの名無しさん
2016/04/29(金) 13:13:33.73ID:onpOySfzこう言うツールを作れば作業時間が○○ぐらい減るので
△△円/月程度の費用削減が可能です
って説明すればいいかと
0027デフォルトの名無しさん
2016/04/29(金) 13:34:23.20ID:oVc0CQsa残業は今でもほぼ無いし、早く終わったからってすぐにやるべき仕事もない
0028デフォルトの名無しさん
2016/04/29(金) 13:42:07.75ID:22q9RBL3やれ会議だ、やれ相談だと呼ばれて中断せざるを得ない場合の方が比重が高そう
だいたい作業時間短縮ってツールよりもライブラリの充実の方が問題になるし・・・
けど考えてみれば俺以外分からないんだから、ツールくれれば効率上がりまっせって言うのはありか
0029デフォルトの名無しさん
2016/04/29(金) 13:43:50.31ID:UCIGz4cp右から列方向で連番を振る方法ありますか?
オプションで逆方向xlPreviousをつけても、
一番右下に1が振られるだけで、後の順序は
左から列方向したのと同じなのですが。
0030デフォルトの名無しさん
2016/04/29(金) 13:55:01.28ID:22q9RBL3Sub test(検査範囲 As Range, 検査値 As String)
k = 0 '連番開始値
xr = 検査範囲
Top = LBound(xr, xlRows)
Bottom = UBound(xr, xlRows)
Left = LBound(xr, xlColumns)
Right = UBound(xr, xlColumns)
For i = Right To Left '右から左
For j = Top To Bottom '上から下
If xr(j, i) = 検査値 Then
検査範囲.Range(j, i) = k
k = k + 1
End If
Next
Next
End Sub
こういう事?
0031デフォルトの名無しさん
2016/04/29(金) 14:06:46.66ID:zF/UNtdRexpressでいいんでしょ?
0032デフォルトの名無しさん
2016/04/29(金) 14:19:18.90ID:Fcw6JTQb他の人の業務も早く正確にミスなく出来る
リードタイムも減って機会損失が少なくなるとか
0033デフォルトの名無しさん
2016/04/29(金) 14:33:09.04ID:UCIGz4cpFINDの引数でどうにかならないかと思っていましたが、
やっぱりforとifで判定していくしかないんですね。
ありがとうございます。参考になりました。
0034デフォルトの名無しさん
2016/04/29(金) 16:56:22.77ID:VQFWKbyJ通常のFINDとは逆順で検索したいんだよね?
右下から左に検索 & 下から上
1回目のみ FIND(・・・ ,SearchDirection:=xlPrevious,SearchOrder:=xlByRows)
2回目以降 FindPrevious()
でよくね?
やりたい事の意味を間違って受け取ってるかな?
0035デフォルトの名無しさん
2016/04/29(金) 19:35:10.13ID:UCIGz4cp言葉足らずですみません。
6 3
5 2
4 1
ではなくて、
4 1
5 2
6 3
という意図でした。
123
456
や、
1 4
2 5
3 6
はFINDの引数だけでできたので、右から列方向もさくっとできないかと思ったのでした。
0036デフォルトの名無しさん
2016/04/29(金) 21:15:23.39ID:sUt0Q0jr時々、シートに配置したボタンが、どこかに飛んでいくようになった。
ブック名やシート名を指定してるのに、
全然関係ないセルに値を書き込みにいったり。
俺がバグってるだけ?
0037デフォルトの名無しさん
2016/04/30(土) 01:05:44.58ID:bnyf9CY9それとは逆に、シートのセル例えば Range("A1")の値が変化することをイベントとすることで、
例えば、フォームのTextBox1の値を変化させることはできるかな?
超上級レベルのPGさん(C#, VB,net, Java経験者)、その方法を教えて。
0038デフォルトの名無しさん
2016/04/30(土) 01:23:26.23ID:bQzkVaJ6=foo(A1)
と入れときゃいいんじゃないの?
その関数 foo の中でTextBox1の値を変化させる
003937
2016/04/30(土) 01:27:16.13ID:bnyf9CY9外部アプリ、例えば、UWSCで書き込むものとします。
004037
2016/04/30(土) 01:59:49.62ID:bnyf9CY9004137
2016/04/30(土) 02:03:47.30ID:bnyf9CY9vbaでもvb.net のような、自作イベントなんてできるの?
RaiseEventのような。
0042デフォルトの名無しさん
2016/04/30(土) 04:06:29.80ID:3b/0XXdCVB6と一緒で一応ある。
以下のMSDNに載っている使用例のサンプルは、
VB6のコードのようでVBAで使うにはコントロール名など若干修正は必要だが
RaiseEvent ステートメント
https://msdn.microsoft.com/ja-jp/library/office/gg264327.aspx
0043デフォルトの名無しさん
2016/04/30(土) 05:52:32.49ID:nOun1cZCたぶん、様々なイベントもあるのだろう
0044デフォルトの名無しさん
2016/04/30(土) 08:01:04.45ID:YWn/7cOtあるものとないものがある。
ま、モノが違うから当然だけど。
例えば一定時間でイベントが発生するようなものは確かVB.Netでは3種類くらいあったと思ったけど、
VBAでは無いのでAPIを使ってコールバックさせるような感じで組まなければいけなかったりとか
0045デフォルトの名無しさん
2016/04/30(土) 12:10:14.21ID:uVz81x78みたいな、BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenant(純粋P2Pのファイル共有ソフト)の完成が待ち遠しいプログラミングできないアスペルガーw
0046デフォルトの名無しさん
2016/04/30(土) 12:37:56.63ID:3TsFkhxLいっぱいページ開いてタブを複数使ってるとき
各タブがbusyでまだ表示が終わってないかを判定するにはどうしたらいいですか?
調べた限りIEでのプロパティは取得できても各タブでのプロパティは取得できない。
0047デフォルトの名無しさん
2016/04/30(土) 19:56:35.13ID:/rgv18x0また、使い終わった変数をもう使わないと明示する処理はありますか?
0048デフォルトの名無しさん
2016/04/30(土) 21:09:42.54ID:XEqomZlq0049デフォルトの名無しさん
2016/04/30(土) 21:10:40.96ID:XEqomZlq0050デフォルトの名無しさん
2016/04/30(土) 21:11:57.74ID:XEqomZlqset sxxx = nothing
とか
0051デフォルトの名無しさん
2016/04/30(土) 21:23:19.94ID:O7pF7Dyv途中でも宣言できるよ
0053デフォルトの名無しさん
2016/04/30(土) 21:51:28.33ID:22Ts1M1X知らないなら黙ってろよ...
0054デフォルトの名無しさん
2016/04/30(土) 22:00:44.42ID:v/yWAGpr0055デフォルトの名無しさん
2016/04/30(土) 22:40:18.96ID:bQzkVaJ60056デフォルトの名無しさん
2016/05/01(日) 06:11:15.76ID:N+mY7DPn.NetみたいにIf文の中やFor文の中で宣言したところでその中でのみスコープが効くって訳でなくて
あくまでモジュールか関数単位でのスコープだから
やっぱりその単位で纏めて書いておいた方がいいだろな
0057デフォルトの名無しさん
2016/05/01(日) 06:38:17.62ID:e/Hse44Lバカ発見
0058デフォルトの名無しさん
2016/05/01(日) 06:48:30.10ID:FGPo8aL5前スレに貼ってあったブログの記事見たときも思ったけど、
今は自分が触ってるツールがなんなのかすらよく分かってないのがプログラマ名乗る時代になっちゃったな。
0059デフォルトの名無しさん
2016/05/01(日) 06:55:17.20ID:4tDBI2/Zなにか悔しいことでもあったのか?
0060デフォルトの名無しさん
2016/05/01(日) 08:55:20.52ID:e/Hse44Lバカ発見
0061デフォルトの名無しさん
2016/05/01(日) 10:01:02.93ID:EKtQwo7ZExcelとなんの関係があるの?
0062デフォルトの名無しさん
2016/05/01(日) 10:38:14.78ID:pgSGezQj0063デフォルトの名無しさん
2016/05/01(日) 11:22:51.97ID:etCluhyUその考え方だと、ソースコードをインデントする事に意味はない、ってことになる
実行コストの問題じゃないからな
こだわる理由は薄いけど、お作法だと思っておけば良いんじゃない
0064デフォルトの名無しさん
2016/05/01(日) 12:36:30.20ID:26Cdb2A4最初にまとめて宣言するとどこで宣言されてるのかわかりやすい反面、どこで使われているのかがわかりにくくなる
0065デフォルトの名無しさん
2016/05/01(日) 13:28:31.99ID:Jk9067FT局所スコープなんて邪道w
0066デフォルトの名無しさん
2016/05/01(日) 13:37:50.19ID:X/eAHaZZ0067デフォルトの名無しさん
2016/05/01(日) 13:55:38.98ID:hsr/yOpl普通に、ハンガリアン記法を使うよな?
0068デフォルトの名無しさん
2016/05/01(日) 13:59:54.67ID:cTEU13RB0069デフォルトの名無しさん
2016/05/01(日) 14:16:23.37ID:ejxts/3yDim 変数As ○○
で安定
0070デフォルトの名無しさん
2016/05/01(日) 14:30:45.34ID:X/eAHaZZそれもまあ、、、いいか
0071デフォルトの名無しさん
2016/05/01(日) 14:35:03.78ID:4tDBI2/Zまあどっちにせよポリシーを決めておけばいいと思う
俺も使う直前で定義する派
0072デフォルトの名無しさん
2016/05/01(日) 14:38:28.86ID:26Cdb2A4いつの時代だよおっさん
0073デフォルトの名無しさん
2016/05/01(日) 15:03:34.65ID:FGPo8aL5それ以前に同関数内で異なる型の変数(引数除く)を使うのはあまりよろしくない。機能が分かれてない。
0074デフォルトの名無しさん
2016/05/01(日) 15:15:10.83ID:X/eAHaZZ前半と後半が食い違ってる
0075デフォルトの名無しさん
2016/05/01(日) 15:19:30.78ID:26Cdb2A40076デフォルトの名無しさん
2016/05/01(日) 15:34:29.56ID:X/eAHaZZ0077デフォルトの名無しさん
2016/05/01(日) 16:38:53.50ID:FGPo8aL50078デフォルトの名無しさん
2016/05/01(日) 17:01:16.67ID:4tDBI2/Z> 型宣言しちゃうと出来ない事
なんのこっちゃ
0079デフォルトの名無しさん
2016/05/01(日) 17:06:37.92ID:FGPo8aL5たとえばVariant型で受けて関数内部で型によって処理を変える事で多態性を確保するとか、
返却用の引数に渡された型に合わせて返値を変えるとか、
同じ名前のプロパティを持つ別のクラスを入れて異なる処理が同一関数で行われる様にするとか。
でも考えたらVariant型も型宣言するから「Variant型以外では出来ない事」って言わないと語弊があったな。
0080デフォルトの名無しさん
2016/05/01(日) 17:14:32.74ID:X/eAHaZZ最後の一行で終わっとるじゃん。
あとEmptyやNullを受け取ったり返したり。
ライブラリ的な関数はVariantになりがちだ。
0081デフォルトの名無しさん
2016/05/01(日) 17:35:31.90ID:sRpB4XMFVariantが楽なんだよな。
0082デフォルトの名無しさん
2016/05/01(日) 18:29:04.37ID:FGPo8aL5だ、だって宣言しないで使える変数はVariant型だけだし(震え声
0083デフォルトの名無しさん
2016/05/01(日) 18:36:29.17ID:pOSQMib2まぁね。本当はクラス作ってインターフェースで多態性持たせたりする方が安全なんだけど、
VBAは1クラス1モジュールという制限があってぽこぽこ作ると分かり辛くなるから
結局程度の問題で、「Variantは実行時にしか型の違いによるエラーを確認出来ないことがある」という認識さえあれば
VBAで使うのは止むなしといったところがあると思う。
シートやレンジオブジェクトとの親和性も高いしね。
0084デフォルトの名無しさん
2016/05/01(日) 20:02:25.44ID:FGPo8aL5Variant型はハグの元だっていうのは、単に理解が浅いだけだからな。
本当にバグの元ならJavaScriptなんて使えたもんじゃねぇだろうと。
0085デフォルトの名無しさん
2016/05/01(日) 20:24:15.84ID:4tDBI2/Zいや、君の言ってる
> 下手に宣言するクセつけない方がいいけどな。
が意味不明なんだけど
0086デフォルトの名無しさん
2016/05/01(日) 20:36:58.58ID:pgSGezQjローカル変数は、ない
これがオレの理想
0087デフォルトの名無しさん
2016/05/01(日) 20:37:38.51ID:pgSGezQjスタンダードくらいか
0088デフォルトの名無しさん
2016/05/01(日) 20:41:05.62ID:ycnEliipID:FGPo8aL5
バカ発見
0089デフォルトの名無しさん
2016/05/02(月) 07:24:52.98ID:l4EfLYgvえっどういうこと?
まさかスタティックおじさん?
0090デフォルトの名無しさん
2016/05/02(月) 07:32:53.88ID:IhhEj+7hスタティックと>>86とどう繋がる?
0091デフォルトの名無しさん
2016/05/02(月) 10:17:18.36ID:3YV7E0Ftでググってこい
0092デフォルトの名無しさん
2016/05/02(月) 14:44:30.79ID:qnyBKwLuログインボタンを押すマクロですが、一定時間(10〜20時間?)経過後、同じマクロを実行しても
ログインボタンが押せなくなっており、ログインできず処理が中断してかなり困っています。
一度手動でログイン後、再度マクロを実行すると問題なくログインボタンが押せるのようになるのですが、
何が問題なのでしょうか?
Sub ログイン()
Set objie = CreateObject("internetexplorer.application")
objie.Visible = True
objie.Navigate "https://s10.kabu.co.jp/_mem_bin/light/login.asp?/Light/"
Do While objie.Busy = True Or objie.ReadyState <> 4
DoEvents
Loop
objie.Document.All.SsLogonUser.Value = "自分のID"
objie.Document.All.SsLogonPassword.Value = "パスワード"
Dim waitTime As Variant
waitTime = Now + TimeValue("0:00:1")
Application.Wait waitTime
Dim obj As Object 'objie.Document.forms(0).submitでも代替可
For Each obj In objie.Document.getElementsByTagName("input")
If obj.Value = "ログイン" Then
obj.Click
Exit For
End If
Next
End Sub
0093デフォルトの名無しさん
2016/05/02(月) 15:56:15.53ID:WvgoLY0A0094デフォルトの名無しさん
2016/05/02(月) 18:35:24.79ID:tBJRQx2nドキュメントの中を操作するときは、
objie.Busy = True Or objie.ReadyState <> 4
のループの後に、
objIE.document.ReadyState が "complete"になるまで待った方がいい。
0095デフォルトの名無しさん
2016/05/02(月) 18:46:14.55ID:8Cx+VcMTExcelのバージョンの問題ですね
0096デフォルトの名無しさん
2016/05/02(月) 18:58:03.00ID:rgztSLD4>>>83
>Variant型はハグの元
今後可愛い女性に対してなら必ず使わせてもらおう
男が使ったら顔の形が分からなくなるくらいまでぶん殴るかも知れない
0097デフォルトの名無しさん
2016/05/02(月) 20:02:50.58ID:xcJ43A0Jこれかな
試しにループ除いて、2,3秒待ってからクリックするようしてみたらできないか?
0098デフォルトの名無しさん
2016/05/02(月) 20:53:03.32ID:Xt0DxDQ3Visual Basic
Visual C#
の2つを平行で勉強はじめたけどそっくりすぎやしないか?
これどっちか1つにしぼるとしたらどっちがいい?
0099デフォルトの名無しさん
2016/05/02(月) 20:57:35.14ID:xZrjNArl0100デフォルトの名無しさん
2016/05/02(月) 21:08:12.40ID:3bYl7aeDそんなのVBAに決まってるだろ
010192
2016/05/02(月) 21:08:53.84ID:qnyBKwLuレスありがとうございました。ちなみにExcelのバージョンは2016です。
調べてみたら、確かに94氏の言う通り、objIE.document.ReadyState = "Complete"
のループを追加しないとエラーの原因になるんですね。一定時間が経過してから
上記を追加して検証してみます。ありがとうございました。
0102デフォルトの名無しさん
2016/05/02(月) 21:22:28.55ID:4tcpikla勉強したらオレにLINQを教えてくれ
0103デフォルトの名無しさん
2016/05/02(月) 21:55:58.22ID:l4EfLYgvCかC++をやれよ高度だぞ
0104デフォルトの名無しさん
2016/05/02(月) 22:00:15.92ID:4tcpikla0105デフォルトの名無しさん
2016/05/02(月) 22:06:27.11ID:RcDnq76T0106デフォルトの名無しさん
2016/05/02(月) 22:48:52.56ID:RnthQ0WY0107デフォルトの名無しさん
2016/05/02(月) 23:57:45.81ID:xuf7icL/俺はプログラマだっての。
0108デフォルトの名無しさん
2016/05/02(月) 23:58:44.90ID:4tcpiklaそういう苦労が山ほどあったわけよー、分かる? それを今は .Net連携だとかで済ますっていうのがさー、心がこもってないっていうかさー
0109デフォルトの名無しさん
2016/05/03(火) 00:04:12.47ID:VOABePutプログラム言語とみなされてなかった。死にたい。
0110デフォルトの名無しさん
2016/05/03(火) 04:29:40.49ID:K2cMa6s90111デフォルトの名無しさん
2016/05/03(火) 06:21:01.33ID:m0WSkRh/確かに
仕方なく vbs でやってたけど最近 PowerShell の方が楽だと気づいた
0112デフォルトの名無しさん
2016/05/03(火) 08:57:22.05ID:+0pS9A2f多分VBから入ってObject指向の考え方を押さえてからC#の文法を押さえるといいかも
VBAやってる人がいきなり考え方も文法も違うのをやるとかえってキツいかもよ
0113デフォルトの名無しさん
2016/05/03(火) 09:43:53.02ID:yyfQ64gm0114デフォルトの名無しさん
2016/05/03(火) 11:50:04.12ID:WpiLU58G大きさや色を変えることはできないですか?
0115デフォルトの名無しさん
2016/05/03(火) 12:23:18.09ID:F7Orkgnrいやそれやったらvbsのが楽や言っとんのやでw
0116デフォルトの名無しさん
2016/05/03(火) 12:37:00.12ID:TF5VRcqZCOBOLはあるのになw
0117デフォルトの名無しさん
2016/05/03(火) 12:49:05.33ID:IJoN7jmcO vbsの方が
O vbsが
日本語は正確にね。
0118デフォルトの名無しさん
2016/05/03(火) 13:09:39.65ID:TF5VRcqZ関西弁であること自体はスルーなのか?
0119デフォルトの名無しさん
2016/05/03(火) 19:29:08.93ID:G9XEXQGeBitTorrent(Covenant)が活発な情報交換・交流コミュニティでオープンソース開発されています(プログラマー募集中)
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise氏)がそういう人と話したいそうなので、よろしければツイートお願いします<(_ _)>
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできない情報発信好きアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
3
0120デフォルトの名無しさん
2016/05/03(火) 19:46:05.17ID:TF5VRcqZ0121デフォルトの名無しさん
2016/05/03(火) 21:52:26.24ID:yyfQ64gm0122デフォルトの名無しさん
2016/05/03(火) 21:55:40.94ID:H0kUs87y0123デフォルトの名無しさん
2016/05/04(水) 07:47:26.67ID:699UW8S30124デフォルトの名無しさん
2016/05/04(水) 09:51:25.99ID:PaYYDWD90125デフォルトの名無しさん
2016/05/04(水) 12:09:43.80ID:v4t0cuU7普通にモジュール単位でGitとかで?
0126デフォルトの名無しさん
2016/05/04(水) 12:20:35.13ID:oenZgVkwそれで困るようなマクロ作ってるとしたら、その方が大問題やで
0127デフォルトの名無しさん
2016/05/04(水) 13:17:25.90ID:6R2nO+Chうーん、君はプログラマなのか、それともVBAジジイなのかどちらなのかな
0128デフォルトの名無しさん
2016/05/04(水) 15:49:03.52ID:kgGBLx4Kマクロお願いします。
0129デフォルトの名無しさん
2016/05/04(水) 16:34:05.11ID:vhNrbATPボタンの作成もVBAでってことよね?
各セルのサイズのボタンでいいのね?
0130デフォルトの名無しさん
2016/05/04(水) 20:47:54.52ID:kgGBLx4Kよろしくお願いします!
0131デフォルトの名無しさん
2016/05/04(水) 21:28:07.96ID:RttM+uYJ「ハイパーリンクを追加」
0132デフォルトの名無しさん
2016/05/04(水) 21:53:24.10ID:Z9f5Mv8iなんやVBAジジイて?俺はハゲとらんで
0133デフォルトの名無しさん
2016/05/04(水) 23:57:31.15ID:UxdZjK7v0134デフォルトの名無しさん
2016/05/05(木) 00:07:18.30ID:MXj1Omkp'***通常公開マクロ(ボタン作成用なのでボタン追加後不要なら消してもいい)
'指定位置に指定範囲へのジャンプボタンを作成
Sub InitializeJumpButton()
Call AddJumpButton(Range("a1"), Range("aa1"))
Call AddJumpButton(Range("b1"), Range("bb1"))
End Sub
'ActiveSheetにあるジャンプボタンをすべて削除(ボタン作成のやり直し用として)
Sub DeleteJumpButtons()
Dim btn As Object
For Each btn In ActiveSheet.Buttons
'OnActionに"JumpButton_Click"を含むボタン
If btn.OnAction Like "*JumpButton_Click*" Then btn.Delete
Next
End Sub
'指定セル範囲にボタン配置
Private Function AddJumpButton(TargetRange As Range, JumpRange As Range) As Object
With TargetRange
Set AddJumpButton = .Worksheet.Buttons.Add(Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
End With
With AddJumpButton
.Caption = "ジャンプ"
.OnAction = "'JumpButton_Click """ & JumpRange.AddressLocal(External:=True) & """'"
End With
End Function
'***内部処理マクロ(ボタンクリック時の処理なのでボタン追加後は削除してはだめ)
'Jumpボタンクリック時のFunction(各ボタンで共通)
Public Sub JumpButton_Click(JumpAddress As String)
Call Application.Goto(Range(JumpAddress))
End Sub
0135デフォルトの名無しさん
2016/05/05(木) 09:53:33.08ID:wVu1dK4o.... 吉 → ♌ 獅子座 ♍ 乙女座
.... 中吉 → ♎ 天秤座
.... 小吉 → ♈ 牡羊座 ♉ 牡牛座 ♊ 双子座 ♑ 山羊座
.... 末吉 → ♋ 蟹座 ♐ 射手座 ♓ 魚座
.... 凶 →
.... 大凶 → ♏ 蠍座
0136デフォルトの名無しさん
2016/05/06(金) 12:27:37.21ID:9WuDa+H70137デフォルトの名無しさん
2016/05/06(金) 15:32:29.40ID:jeM8Wxz0仕事もできなさそうなイメージしかない
0138デフォルトの名無しさん
2016/05/06(金) 15:47:33.28ID:7cHuoK0Qお互いに利点はある
0139デフォルトの名無しさん
2016/05/06(金) 19:35:21.05ID:MWUQQppAちょっと違うページ見たい場合に指挟んでおけばすぐ戻れるし、
ただ読むだけなら電子書籍でいいけど、専門書とかは紙の方がまだ使い勝手がいい。
なんか最初に期待されていた「辞書の様な厚みの本を軽々持ち運べる」っていう方面の利便性とは逆行ってるけど。
0140デフォルトの名無しさん
2016/05/06(金) 19:49:09.28ID:VrRBN5VM本人にとって分かり易くて使い易ければ。
それは手段であって目的ではない。
0141デフォルトの名無しさん
2016/05/06(金) 21:47:39.28ID:UUicjikBそういうことだよ
0142デフォルトの名無しさん
2016/05/06(金) 21:55:45.06ID:WGsHbg0z0143デフォルトの名無しさん
2016/05/06(金) 22:03:07.91ID:jeM8Wxz0さすがに俺でも気付くレベル
0144デフォルトの名無しさん
2016/05/06(金) 22:31:34.28ID:nS8waJnA技術書こそ電子書籍の本領発揮する場所だし。
ブックマークやブラウズ機能使えば指の数以上の働きできるし。
もはや、「分厚い辞書を持ち運べる」レベルではなく「司書つきの私設図書館を持ち運べる」レベルだよ。
ちゃんと使えばね。
0145デフォルトの名無しさん
2016/05/06(金) 22:34:13.21ID:3OzCd6+q0146デフォルトの名無しさん
2016/05/07(土) 00:37:16.06ID:znoXDAwn0147デフォルトの名無しさん
2016/05/07(土) 02:36:05.94ID:doNSv0Rb普通は目次や索引からあたりをつけるか、読み進めて行ってマークするんだぜ
検索するにしても、見出しを優先して検索する方が効率的なわけで
全文検索するという事は、まともな編集がされてないって事だぜ
0148デフォルトの名無しさん
2016/05/07(土) 04:00:08.68ID:15PuB45pってタブレットとスキャンスナップも
買ったんだけどどうも合わなかった。
なんか頭に入ってこない感じで。
漫画なら全然いいんだけど技術書は
結局紙媒体買ってるわ。
0149デフォルトの名無しさん
2016/05/07(土) 10:25:44.21ID:1wAcRjrQ0150デフォルトの名無しさん
2016/05/07(土) 11:15:06.02ID:RCS6miPN0151デフォルトの名無しさん
2016/05/07(土) 11:42:59.57ID:98qiMegfプレゼンスライドのように短時間で要点を得る事が出来る媒体が現代的
0152デフォルトの名無しさん
2016/05/07(土) 11:48:35.34ID:Nq/4SgpV0153デフォルトの名無しさん
2016/05/07(土) 11:53:03.45ID:8kiHQWJT0154デフォルトの名無しさん
2016/05/07(土) 15:00:10.35ID:1wAcRjrQんじゃ、ここでピントの合ったレスをID:8kiHQWJTがどうぞ
0155デフォルトの名無しさん
2016/05/07(土) 15:35:39.10ID:nzotyd+v紙だろうが電子だろうが書籍の出番なし
0156デフォルトの名無しさん
2016/05/07(土) 16:20:40.94ID:PC4ZOeicオフラインのヘルプ日本語版が欲しい
0157デフォルトの名無しさん
2016/05/07(土) 16:27:15.49ID:6qCtvFTs電子オンラインヘルパーさんの出番なし
0158デフォルトの名無しさん
2016/05/07(土) 17:34:52.23ID:sN4H5bv9ドン引き
0159デフォルトの名無しさん
2016/05/07(土) 17:49:10.43ID:1Difn6h50160デフォルトの名無しさん
2016/05/07(土) 18:04:13.20ID:QutgNX3WOffice 2013 VBA用オフライン ヘルプ ファイルが欲しい場合〜開発時に役立ちます! - 元「なんでもエンジニ屋」のダメ日記
http://nasunoblog.blogspot.jp/2013/11/office-2013-vba.html
これではダメ?
0161デフォルトの名無しさん
2016/05/07(土) 22:11:16.28ID:sN4H5bv9出ていってくれ
0162デフォルトの名無しさん
2016/05/08(日) 00:54:50.32ID:ikF8GjeW0163デフォルトの名無しさん
2016/05/08(日) 01:10:44.31ID:HXCktBbn日本語ヘルプなんて誤訳だらけで役に立たないのに
0164デフォルトの名無しさん
2016/05/08(日) 04:17:19.71ID:ikF8GjeW0165デフォルトの名無しさん
2016/05/08(日) 06:04:10.40ID:d67L2ADZ0166デフォルトの名無しさん
2016/05/08(日) 08:58:00.55ID:7UXL6x+WJapanese help isn't useful full of mistranslation.
0167デフォルトの名無しさん
2016/05/08(日) 09:40:20.29ID:cY3IZjLswith poor ability not to read this easy English?
The MSDN document in Japanese translation doesn't help!
0168デフォルトの名無しさん
2016/05/08(日) 10:20:00.62ID:MurkxjfXこなれた感を必死に出そうとして滑稽
Oh 坊やと英語板では呼ばれている
0169デフォルトの名無しさん
2016/05/08(日) 10:45:47.51ID:NRyLEpvc>>168
ですってyo
0170デフォルトの名無しさん
2016/05/08(日) 11:33:31.06ID:rP7gnQo6最後の方で「セルに書く方の関数の事やんけ!」ってなった事はある。
0171デフォルトの名無しさん
2016/05/08(日) 11:35:57.16ID:7UXL6x+W文句はエキサイト翻訳に言えばいいと思うよ...
恥ずかしい奴 w
0172デフォルトの名無しさん
2016/05/08(日) 13:08:20.31ID:cY3IZjLsHey, you dare work on programming
with poor ability not to WRITE this easy English?
The translation service of Excite doesn't help!
0173デフォルトの名無しさん
2016/05/08(日) 14:12:42.71ID:6KbaYcKf具体的なたとえで言いますと
Personというクラスからたくさんオブジェクトをつくり
その1つのプロパティであるBirthDayで生年月日順で人を並べたいのです。
0174デフォルトの名無しさん
2016/05/08(日) 14:29:53.33ID:QvSZMceuWith Sheet3
Sheet1.Range(
0175デフォルトの名無しさん
2016/05/08(日) 14:30:54.84ID:QvSZMceuWith Sheet3
Sheet1.Range("A1").CurrentRegion.Copy .Range("A1")
With .Range("A1").CurrentRegion
.AdvancedFilter xlFilterInPlace,Sheet2.Range("A1").CurrentRegion
.SpecialCells(xlCellTypeVisible).Clear
End With
.ShowAllData
For a=.Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
If .Range("A" & a)="" Then
.Rows(a).RntireRow.Delete
End If
Next a
End With
Sheet1とSheet2を比較し、変更があったところをSheet3にコピーしているのですが、
変更箇所がわかるようにセルの色を変えたいのですが、どうしたらよいかわからず
困っています。わかる方いらっしゃいますでしょうか?
0176デフォルトの名無しさん
2016/05/08(日) 14:35:59.31ID:QvSZMceu0177デフォルトの名無しさん
2016/05/08(日) 14:36:08.66ID:ZUgYOGn0インデックス[0〜n-1]の配列をプロパティ順にソートしておく。
対象のクラスオブジェクトの配列を、先ほど作っておいたインデックスに沿ってpermutateする。
0178デフォルトの名無しさん
2016/05/08(日) 15:05:36.92ID:E74hVYZWシートにインスタンスオブジェクトを識別するIDと
プロパティをA列、B列に入力して
プロパティの列目でソートする
ID列の値でアクセスする
インスタンスオブジェクトはdictionaryに格納してIDをキーにしておく
0179デフォルトの名無しさん
2016/05/08(日) 15:08:58.84ID:E74hVYZWif文で比較して違ったらrange.interior.colorプロパティを変えるとか
書き方が判らないのはマクロを記録してみたら判ると思うけど?
0180デフォルトの名無しさん
2016/05/08(日) 15:12:38.09ID:rP7gnQo6Sub Test(Person, Collection)
i = 1
If Collection.Count Then
For i = i To Collection.Count
If Person.BirthDay < Collection(i).BirthDay Then Exit For
Next
End If
Collection.Add Person, , i
End Sub
>>175
Sub Test(Sheet1, Sheet2, Sheet3)
s1d = Sheet1.UsedRange.Value
s2d = Sheet2.UsedRange.Value
For i = LBound(s1d, 1) To UBound(s1d, 1)
For j = LBound(s1d, 2) To UBound(s1d, 2)
If s1d(i, j) <> s2d(i, j) Then
Sheet1.Cells(i, j).Interior.Color = RGB(255, 0, 0)
Sheet1.Cells(i, j).Copy Sheet3.Cells(i, j)
End If
Next
Next
End Sub
0181デフォルトの名無しさん
2016/05/08(日) 15:12:56.95ID:QvSZMceuおそらく
With .Range("A1").CurrentRegion
.AdvancedFilter xlFilterInPlace,Sheet2.Range("A1").CurrentRegion
.SpecialCells(xlCellTypeVisible).Clear
End With
の間に入れるのだろうとは思ったのですが、うまくいきません。
if文で比較というのは、ShowAllDataの前に入れるってことですか?
0182デフォルトの名無しさん
2016/05/08(日) 15:44:19.75ID:QvSZMceuありがとうございます。
Sub Test(Sheet1, Sheet2, Sheet3)
の部分は、シート名をいれるのでしょうか?
0183デフォルトの名無しさん
2016/05/08(日) 15:47:12.37ID:rP7gnQo6Worksheetオブジェクトを入れる。
0184デフォルトの名無しさん
2016/05/08(日) 16:01:33.95ID:QvSZMceuone=Worksheet("Sheet1").UsedRange.Value
としているのに、For分のLBound(one,1)の所で配列がありませんと出てしまいます。
0185デフォルトの名無しさん
2016/05/08(日) 16:45:05.73ID:MWz94FDA自動記録で試したところ
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="Sheet2!A1"
このようなコードが出てきたのですが
選択中のセルに実行する命令では無くセル番地で実行する場所を指定したいのですが、一体どう書けばいいのでしょうか?
0186デフォルトの名無しさん
2016/05/08(日) 17:43:54.77ID:Uh7lvDUNexcel vba セル 番地 指定 でググる
0187デフォルトの名無しさん
2016/05/08(日) 17:49:35.23ID:B17gXYq2ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Range("B1"), Address:="", SubAddress:="Sheet2!A1"
0188デフォルトの名無しさん
2016/05/08(日) 18:50:05.07ID:LbMOyLBe>>186
ありがとうございます。
0189デフォルトの名無しさん
2016/05/08(日) 21:28:50.28ID:Mc3+72Z/隣り合ったふたつのセルを結合したいのですが、
1.セルA1とB1を結合
2.セルA2とB2を結合
3.以降、任意の行まで同じ作業を繰り返し
4.AB列で作業が終わったら次はCD列でも同じ作業
5.CD列が終了したらEF列に移動
6.以降、任意の列まで同じ作業を繰り返し
です。
その際結合させるふたつのセルにはそれぞれ値が入っていますが、活かすのは左のセルの値です。
結合の際の「右上のデータが〜」というメッセージは無視したいです。
どなたかお分かりの方がいらっしゃいましたらお願いします。
0190デフォルトの名無しさん
2016/05/08(日) 22:06:12.34ID:to9qHxlC0191デフォルトの名無しさん
2016/05/08(日) 22:14:16.85ID:to9qHxlCこんな感じ?
For cc = 1 To Selection.Columns.Count Step 2
For rr = 1 To Selection.Rows.Count
Selection.Cells(rr, cc + 1).Value = ""
Selection.Range(Cells(rr, cc), Cells(rr, cc + 1)).MergeCells = True
Next
Next
0192デフォルトの名無しさん
2016/05/08(日) 22:47:03.73ID:Mc3+72Z/さっそくのご回答ありがとうございます。
今から試してみます。
0193デフォルトの名無しさん
2016/05/08(日) 23:07:29.52ID:Mc3+72Z/書いていただいたVBAをコピペして試しましたが、セルをひとつ結合しただけで終わってしまいました。
0194デフォルトの名無しさん
2016/05/08(日) 23:09:23.84ID:Mc3+72Z/ありがとうございます!
0195デフォルトの名無しさん
2016/05/10(火) 01:32:49.02ID:IdRScl5yなられるのであれば、意味を教えていただきたいのですが、
For a = 2 To Lastrow1 ※Lastrow1はSheet1の最終行
@Set fnd =(Sheet2.Columns(14).Find(Sheet1.Cells(a,4).Value)
if Not (fnd Is Nothing) Then
Day=DateSerial(2000,1,1)
num=Sheet2.Cells(fnd.Row,14).Value
fad=fnd.Address
Do
If Sheet2.Cells(fnd.Row,12).Value > Day Then
a2=fnd.Row
Day=Sheet2.Cells(a2,12).Value
End If
Set fnd = Sheet2.Columns(14).FindNext(fnd)
Loop While Not fnd Is Nothing And fnd.Address <> fad And Sheet2.Cells(a2,14).Value=num
Sheet2の12列目には日付が入っており、14列目には番号が入っています。
それを一致させているのはわかるのですが、特にLoopを抜ける条件のところが
理解できません。おわかりになる方はいらっしゃいますでしょうか?
0196デフォルトの名無しさん
2016/05/10(火) 02:05:42.50ID:wnAOqKt0Not (fnd Is Nothing) → fnd変数がNothingでは無い
And (fnd.Address <> fad) → かつ fndセルのアドレスがfadと一致しない
And (Sheet2.Cells(a2,14).Value=num) → かつ Sheet2.Cells(a2,14).Valueとnumが一致
つまり以下の場合にLoopから抜ける
・fndがNothingになった時
・または fndセルのアドレスがfadと一致した時
・または Sheet2.Cells(a2,14).Valueとnumが一致しない
0197デフォルトの名無しさん
2016/05/10(火) 02:21:30.80ID:IdRScl5yありがとうございます。
Set fnd = Sheet2.Columns(14).FindNext(fnd)
で最初の検索から、更に同じ番号のセルがないかを検索して、
見つかった場合は、fnd内にその見つかった番号が入ると思うのですが、
そうなると、検索で番号が見つかっているので既に番号の一致はとれていて、
更にSheet2.Cells(a2,14).Valueとnumの番号の一致をとっているのは、
2重で一致をとっていることになるのでしょうか?
文章が下手ですみません。
0198デフォルトの名無しさん
2016/05/10(火) 03:51:15.80ID:wnAOqKt0そうなるかも・・・加えて言えば、(Not fnd Is Nothing) と (fnd.Address <> fad)の
条件部分もVBだと両立しないのでNothingの判定はいらないかも
※fnd変数のNothing 判定を並列のIF条件に書くと fndがNothing の時にたぶん実行時エラーが出る
ループの条件はたぶん以下のように省略できる
Do
〜(ループ処理)
Set fnd = Sheet2.Columns(14).FindNext(fnd)
Loop While (fnd.Address <> fad)
0199デフォルトの名無しさん
2016/05/10(火) 04:06:59.93ID:IdRScl5yありがとうございます。
Sheet2の14列目に同じ番号が複数あり、番号だけで比較すると、
古い行がヒットしてしまうので、12列目に日付も書いてあり、
最新の状態の行を確認して、その結果を反映させたかったのですが、
アドレスの不一致だけで大丈夫なのでしょうか?
0200デフォルトの名無しさん
2016/05/10(火) 04:43:26.31ID:pT7b4QGj0201デフォルトの名無しさん
2016/05/10(火) 04:46:33.24ID:IdRScl5y試してはいるのですが、少し行数も多く確認に時間がかかってしまっています。
すみません。
0202デフォルトの名無しさん
2016/05/10(火) 05:27:34.40ID:IdRScl5yすみません。うかがいたいのですが、
Set fnd = Sheet2.Columns(14).FindNext(fnd)
Loop While (fnd.Address <> fad)
の場合、アドレスが一致するまでループを繰り返す、
一致したらループを出る、という事だと思うのですが、
例えば、同じ番号の行が2行あったとして、
その2行目の方が新しい日付の行だとして、その行をこの後に続く
条件式に当てはめていきたいのです。
で、一致するまでという事は、最初の検索で1行、FindNextで更に検索で
日付の新しい番号の一致するもう1行、でまた検索で
最初の1行でアドレスが一致してループが抜ける・・・合計3回検索することになると思うのですが、
最終的にループを出る時は、最初の行で抜けてしまう気がするのですが、
その解釈は間違ってますでしょうか?
0203デフォルトの名無しさん
2016/05/10(火) 06:06:50.39ID:wnAOqKt0fndの値は確かに最初の行に戻って抜けてしまうが、
FindNext直前のIf文の所で 変数 a2 に最新日付の行番号を取得しているようだし
Loopを抜けた後はそれを使えば欲しい行は持ってこれると思う
Sheet2.Rows(a2)
Sheet2.Cells(a2, [列番号])
0204デフォルトの名無しさん
2016/05/10(火) 06:19:28.37ID:wnAOqKt0最初のアドレスと比較することでループを抜ける条件にしてるんじゃないかな
0205デフォルトの名無しさん
2016/05/10(火) 06:21:27.00ID:IdRScl5y本当にありがとうございます!
なるほど、確かにループは抜けてもa2にはその前の状態ですね!
やっと意味がある程度わかりましたw
0206デフォルトの名無しさん
2016/05/10(火) 06:26:04.87ID:pT7b4QGj要点だけを抜き出した、短く新しいソースコードで試す
複雑なソースコードで、検証しない
なぜなら別の要因が混じってくるから、
そういうものを排除した環境で、テストする
0207デフォルトの名無しさん
2016/05/10(火) 06:26:26.62ID:IdRScl5yあ、なるほど。Findだけだと検索し続けてしまうのですね。
0208デフォルトの名無しさん
2016/05/10(火) 06:28:47.47ID:IdRScl5y了解しました。ありがとうございます。
0209デフォルトの名無しさん
2016/05/13(金) 03:32:37.47ID:mSOPxExz例えば、Aというサイトを開き、そのサイト内のリンクから、Bというサイトに移動します。そして、BというサイトのリンクからCというサイトに移動したいのに、Bというサイトに移動したまま何の制御もできません。
OSはwindows8.1
excelは2013
ieは11です。
0210デフォルトの名無しさん
2016/05/13(金) 04:50:10.69ID:xGtILQbg人間がマウス操作してリンクをクリックするの?
そもそもIE11では、ReadyStateの値がちゃんと変わらないので、ちょっと工夫しないとうまく制御できない
画面がチラチラしてもいいんなら、こうやれば読み込みの完了が旧バージョンと同じように判定できるようになるけど
objIE.Visible = False ' 一度ブラウザを消して
objIE.Navigate sURL ' 指定のURLにジャンプしてから
objIE.Visible = True ' もう一度表示する
0211デフォルトの名無しさん
2016/05/13(金) 07:45:26.02ID:bIkr/ix1どんなコードになってるのか、何でIEを操作してるのか、俺たちにはわからない
0212デフォルトの名無しさん
2016/05/13(金) 18:46:19.38ID:1DtqwGMj0213デフォルトの名無しさん
2016/05/13(金) 19:05:27.31ID:4KmN92Wm0214デフォルトの名無しさん
2016/05/13(金) 19:05:40.89ID:1DtqwGMjとしたらFindNextと同意なのでしょうか?
0215デフォルトの名無しさん
2016/05/13(金) 19:07:09.71ID:1DtqwGMjありがとうございます。
返信がかぶってしまったのですが、上記と同意なのでしょうか?
0216デフォルトの名無しさん
2016/05/13(金) 19:39:21.98ID:quiTtpKe0217209
2016/05/13(金) 19:41:39.39ID:mSOPxExzDim objIE As InternetExplorer
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.navigate "http://hogehoge.jp"
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Sleep 1
If Now > timeOut Then
objIE.Refresh
timeOut = Now + TimeSerial(0, 0, 20)
End If
Loop
timeOut = Now + TimeSerial(0, 0, 20)
Do While objIE.document.readyState <> "complete"
DoEvents
Sleep 1
If Now > timeOut Then
objIE.Refresh
timeOut = Now + TimeSerial(0, 0, 20)
End If
Loop
Sleep 10000
For Each objtag In objIE.document.getElementsByTagName("a")
If InStr(objtag.outerHTML, "○○") > 0 Then
objtag.Click
Exit For
End If
Next
同ページ内の○○というリンクをクリックしてそのページに移動します。そして、移動したページから次のページに移動させるにもieの制御ができないのです。
上記の objtag.ClickやobjIE.document.Links(1).Clickを使っても無反応です。
0218デフォルトの名無しさん
2016/05/13(金) 19:42:21.35ID:1DtqwGMj申し訳ないです。処理が異なるというのは、
Find(検索対象,After:=検索したいもの,SearchDirection:=xlNext)
では、FindNextのように下まで検索した後、最初の一致セルに戻ってこない
という事でしょうか?
0219209
2016/05/13(金) 19:44:35.73ID:mSOPxExz任意のキーワードを入力して、自動でクリックさせています。
>>211様
言葉足らずですみません。
ExcelVBAでサイト内のaタグを自動でクリックするマクロを作っています。
0220デフォルトの名無しさん
2016/05/13(金) 21:32:30.68ID:4amCJiHYどっちが使いやすいか自分で判断するといい
Sub macro()
Dim srcRng As Range, fnd As Range
Dim firstAddr As String
Set srcRng = ActiveSheet.UsedRange
Debug.Print "■Findのみ"
Set fnd = srcRng.Find("test", LookAt:=xlWhole, SearchDirection:=xlNext)
If Not (fnd Is Nothing) Then
firstAddr = fnd.Address
Do
Debug.Print fnd.Address
Set fnd = srcRng.Find("test", After:=fnd, LookAt:=xlWhole, SearchDirection:=xlNext)
If (fnd Is Nothing) Then Exit Do
Loop While (fnd.Address <> firstAddr)
End If
Debug.Print "■FindNextあり"
Set fnd = srcRng.Find("test", LookAt:=xlWhole, SearchDirection:=xlNext)
If Not (fnd Is Nothing) Then
firstAddr = fnd.Address
Do
Debug.Print fnd.Address
Set fnd = srcRng.FindNext(After:=fnd)
If (fnd Is Nothing) Then Exit Do
Loop While (fnd.Address <> firstAddr)
End If
End Sub
0221デフォルトの名無しさん
2016/05/13(金) 21:52:33.49ID:1DtqwGMj上の
Set fnd = srcRng.Find("test", LookAt:=xlWhole, SearchDirection:=xlNext)
のところで、実行時エラー91 オブジェクト変数または With ブロック変数
が設定されていません。 とでてしまいます。
0222デフォルトの名無しさん
2016/05/13(金) 21:57:00.89ID:1DtqwGMj申し訳ありません。文字の打ち間違いでした。
0223デフォルトの名無しさん
2016/05/13(金) 22:05:27.55ID:1DtqwGMj何個かのセルにtestといれて試してみたのですが、違いがよくわかりませんでした。
0224デフォルトの名無しさん
2016/05/13(金) 22:21:28.96ID:KRWocFnH書き方が違う
動きは同じ
0225デフォルトの名無しさん
2016/05/13(金) 22:22:28.17ID:KRWocFnH0226デフォルトの名無しさん
2016/05/13(金) 22:24:18.61ID:1DtqwGMj動きが同じなら
FindNextの方が文が短くてすむ・・・くらいの認識でよいという事ですね?
0227デフォルトの名無しさん
2016/05/13(金) 22:28:41.38ID:1DtqwGMjなるほど。ありがとうございます。
どちらの方法でも目的が達成できれば書きやすい方でという事ですね。
どちらも、testをアドレスが一致するまで検索するループという認識で
よいんですよね?
0228デフォルトの名無しさん
2016/05/14(土) 00:02:13.05ID:KpaRNRq2With Sheet3.Range("A1").CurrentRegion
.AdvancedFilter xlFilterInPlace,Sheet2.Range("A1").CurrentRegion
.SpecialCells(xlCellTypeVisible).Clear
End With
という文で、Sheet3の空白で囲まれている表の範囲と
Sheet2の空白で囲まれている表の範囲が比較出来、
Sheet3の不一致の部分だけが残るというのはわかるのですが、
何故比較できているのかが理解できません。
わかる方がいたら教えて下さい。
0229デフォルトの名無しさん
2016/05/14(土) 01:59:54.31ID:KpaRNRq2どう比較しているのかがやはりわかりませんでした。
どなたかご存知でしょうか?
0230デフォルトの名無しさん
2016/05/14(土) 02:00:00.21ID:TfiX7v5QExcelのフィルタ機能があるのは知ってると思うけど
列毎に表示する基準を設定できるだろ
その設定をシート2に記述してるだけ
でspecialcellsでclearしてるから消える
clearをinterior.color=rgb(255,255,0)とか変えてみたら?
0231デフォルトの名無しさん
2016/05/14(土) 02:19:13.82ID:KpaRNRq2Sheet3とSheet2の行(レコード)同士を比較しているとは思うのですが、
Sheet3とSheet2で同じ行はあっても、何行目とか位置が違ったりしているのに、
どういう流れで比較をした結果が可視セルとしてみなされているのだろうと
思ってしまいました。
色は変えてみて、可視セルだけだけが色を塗られました。
0232デフォルトの名無しさん
2016/05/14(土) 02:27:15.10ID:TfiX7v5Q比較というより
フィルタ機能で列毎に表示または非表示にする条件を
シートにまとめて書いてるだけだって
試しにシート2で1列だけ残して他の列を全部消して動かしてみたら?
0233デフォルトの名無しさん
2016/05/14(土) 02:36:02.98ID:TfiX7v5QWith Sheet3.Range(
0234デフォルトの名無しさん
2016/05/14(土) 02:37:26.14ID:TfiX7v5QWith Sheet3.Range("A1").CurrentRegion
.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheet2.Range("A1").CurrentRegion, copytorange:=Sheet4.Range("A1")
End With
xlFilterInPlace→xlFilterCopy に変えて
コピー先をSheet4.Range("A1")に指定
Sheet3の表に、Sheet2のフィルタ条件で、フィルタした結果をSheet4にコピーする
0235デフォルトの名無しさん
2016/05/14(土) 02:40:15.99ID:KpaRNRq2Sheet3にしか存在しない行だけ色無しになりました。
0236デフォルトの名無しさん
2016/05/14(土) 02:42:52.92ID:TfiX7v5Qフィルタをクリアしてから実行した方が良い
0237デフォルトの名無しさん
2016/05/14(土) 02:49:28.56ID:TfiX7v5Qシート2の列名の下にフィルタ条件が書かれる
コードを実行すると
シート3の表にフィルタが掛けられる
その条件はシート2に書いた列でその下の値を持つ行だけが表示される
.SpecialCells(xlCellTypeVisible).Clear
をしているから、フィルタを掛けた後表示されているセルはクリアされる
その後、showallしてるからフィルタがクリアされる
結果として、フィルタ条件に合わなかった行が残る
0238デフォルトの名無しさん
2016/05/14(土) 02:50:25.32ID:NImZCMbBで開いているブックのsubが一覧表示されますが、
ここにaddinしているxlaの関数を表示させることはできないでしょうか。
fileName.xla!subName形式で直接入力すれば起動できることは知っています。
0239デフォルトの名無しさん
2016/05/14(土) 02:50:51.66ID:KpaRNRq2.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheet2.Range("A1").CurrentRegion, copytorange:=Sheet4.Range("A1")
で型が一致しませんとでます。
0240デフォルトの名無しさん
2016/05/14(土) 03:04:50.16ID:KpaRNRq2フィルターはかかってなかったのでそのまま実行できました。
入力間違いがありました。失礼しました。
0241デフォルトの名無しさん
2016/05/14(土) 03:12:37.15ID:TfiX7v5Q元のコードで
clearしてるコードをコメントアウトして実行すると
フィルタした後に、showalldataするから何も変化しないはず
今度は、showalldataをコメントアウトしたらフィルタが掛かった状態のままになるはず
0242デフォルトの名無しさん
2016/05/14(土) 03:15:34.80ID:KpaRNRq2なんとなくわかった気がします。
Sheet2の見出しより下が検索条件になり、
Sheet3の中のSheet2にある行だけがSheet4にコピーされました。
それが可視セルになりSheet3の中のそれを消せば、Sheet2に無い行が残るわけですね。
0243デフォルトの名無しさん
2016/05/14(土) 03:21:50.26ID:TfiX7v5Qpublic sub xlacall()
call fileName.xla!subName
end sub
みたいなのを作るとか
0244デフォルトの名無しさん
2016/05/14(土) 03:32:07.92ID:KpaRNRq2.ShowAllDataをコメントアウトして実行してから、またコメントアウトをとったら、
実行時エラー 1004 ShowAllDataメソッドは失敗しました。Worksheetオブジェクト
と出るようになてしまいました。
0245デフォルトの名無しさん
2016/05/14(土) 07:39:07.00ID:hiszDsJfエスパー回答してみると
イントラとインターネットゾーン等でのIE8以降機能の整合性レベルが切り替えにたいする考慮をしていない
対策:Set objIE = CreateObject("InternetExplorer.Application")を
Set objIE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")にする。
0246デフォルトの名無しさん
2016/05/14(土) 10:13:09.39ID:NImZCMbBせっかくいろんなファイルで利用できるようにライブラリ化したのに、
毎回それつくるっていうのが面倒で質問に来ました。
xla化せずに必要な関数をすべて入れたブックを毎回開けばよくはあるのですが、
xlaってこんなに不便なものか?何かやりようがあるんじゃないか?と思って
調べたもののまったく見つからずにいます。
0247デフォルトの名無しさん
2016/05/14(土) 10:17:33.94ID:TfiX7v5Qxlaの方でアドイン先のブックにxlaのプロシージャを呼び出すボタンとかを作る様にすれば良いのでは?
ブックにアドインしたら、そのブックにボタンが作成される感じ
0248デフォルトの名無しさん
2016/05/14(土) 10:57:07.14ID:psfsGv+BVBE窓からだったら
ツール (T) > マクロ (M) > マクロの場所(A) で アドインを選べばいいんだけどね
シートからだとわからん
0249デフォルトの名無しさん
2016/05/14(土) 12:37:14.30ID:GIbFGwdT俺はアドインに関数を呼び出すフォームのリボンを作ってる
0250246
2016/05/15(日) 00:45:01.97ID:YpwUXGuD>>249
こういう方法があったんですね。
調べてみましたが、これで希望通りの挙動にできそうです。
ありがとうございました。
0251デフォルトの名無しさん
2016/05/15(日) 14:26:01.12ID:WcH5yz8P2016/05/15
という年月日が入っています。
このセルを含むシートをVBAを使ってCSVに吐き出すと
#2016-05-15#
この様に表示されてしまうのですが、
そのまま年月日で吐き出されるようにコントロールできませんでしょうか。
0252デフォルトの名無しさん
2016/05/15(日) 15:19:13.14ID:CrVPkhRD何を使ってCSV出力しているか知らないから
Write ステートメントを使用していると仮定して・・・
日付型 (Date) のデータは、共通日付形式を使用して
書き込まれるので日付型を文字列にする必要がある
セル表示形式のテキストをそのまま出力したいなら
Range.ValueではなくRange.Textプロパティを使う
FileNumber = FreeFile
Open "d:\test.csv" For Output As #FileNumber
Write #FileNumber, Cells(1, 1).Text
Close #FileNumber
0253デフォルトの名無しさん
2016/05/15(日) 15:19:48.19ID:ghf3z0AO0254デフォルトの名無しさん
2016/05/15(日) 15:38:07.34ID:WcH5yz8Pネットにあったコードをコピペをそのまま使って試してみました。
Cells(i, 3)が年月日で、上手く表示されません。
Sub writeCSVFile_Click()
'変数宣言
Dim filePath As String
Dim i As Long
Dim maxRow As Long
Dim fileNo As Integer
'初期値設定
filePath = ActiveWorkbook.Path & "\data.csv"
maxRow = Range("A1").End(xlDown).Row '最終行取得
fileNo = FreeFile 'FreeFile関数で使用可能なファイル番号取得
'ファイル開く
Open filePath For Output As #fileNo
'最終行までループ
For i = 1 To maxRow
'列の数は決め打ち
Write #fileNo, Cells(i, 1), Cells(i, 2), Cells(i, 3)
Next i
'ファイル閉じる
Close #fileNo
End Sub
0255デフォルトの名無しさん
2016/05/15(日) 15:44:13.67ID:tUFMlsQK出力じゃなくて表示なの?
意味がわからない
0256デフォルトの名無しさん
2016/05/15(日) 15:47:23.68ID:WcH5yz8Pわかりにくくてすみません。
上記でExcelからCSVに書き出した時に # が入ってしまいます。
0257デフォルトの名無しさん
2016/05/15(日) 15:53:44.82ID:6V2nRwSD>>252で答えが出てる
0258デフォルトの名無しさん
2016/05/15(日) 16:09:42.68ID:UAuTMPBr0259デフォルトの名無しさん
2016/05/15(日) 16:13:29.08ID:WcH5yz8Pありがとうございました。
Cells(i, 3).Text
該当箇所をこの様に書き換えただけで直りました!
0260デフォルトの名無しさん
2016/05/15(日) 20:06:14.39ID:ghf3z0AO数字だとマイナスに ex. 123 -> -123
和暦だと西暦に
0261デフォルトの名無しさん
2016/05/15(日) 20:10:37.37ID:ghf3z0AO数字だとマイナスに ex. 123 -> -123
和暦だと西暦に ex.平成28年1月1日 -> (2016/01/01)
なってしまいます
文章文字列などならうまくいくのですがどのようにマクロを書いたらいいのでしょうか
Sub 括弧()
ActiveCell.Value = "(" & ActiveCell.Value & ")"
End Sub
0262デフォルトの名無しさん
2016/05/15(日) 21:15:44.76ID:+ceGV5qASub 括弧()
With ActiveCell
txt = .Text '書式変更前の表示テキスト確保(通貨など)
If IsNumeric(.Value) Then
.NumberFormat = "@"
End If
.Value = "(" & txt & ")"
End With
End Sub
0263デフォルトの名無しさん
2016/05/15(日) 21:26:13.47ID:ghf3z0AOめっちゃスマートに書いてくださってありがとうございます
日付の場合数字の場合など複雑に考えて手をこまねいていました
0264デフォルトの名無しさん
2016/05/15(日) 21:33:39.41ID:iEYIRe/oボタンをクリックしたらあるセルをハイパーリンクにしたいのですが
Cells(2, "B") = "=HYPERLINK('test')"
これだけで400エラーが出ます。なぜなのでしょうか
0265デフォルトの名無しさん
2016/05/15(日) 21:39:01.79ID:U6OCYZVH0266デフォルトの名無しさん
2016/05/15(日) 22:09:37.23ID:iEYIRe/oありがとうございますm(__)m
シングルクォーテーションがいけなかったんですね
ほんとは変数を付けてURL作ってたので他言語の癖でダブルとシングル両方使わないといけないと思ってました
0267デフォルトの名無しさん
2016/05/17(火) 19:14:32.23ID:Ju7Z8cl/For i To Lastrow ※Sheet3の最終行
Set fnd = (Sheet2.Columns(2).Find(Sheet3.Cells(i,2)))
if Not (fnd Is Nothing) Then
if Sheet3.Cells(i,1) = Sheet2.Cells(fnd.Row,1) Then
Else
Sheet3.Cells(i,1)interior.ColorIndex = 3
End if
if Sheet3.Cells(i,2) = Sheet2.Cells(fnd.Row,2) Then
Else
Sheet3.Cells(i,2)interior.ColorIndex = 3
End if
if Sheet3.Cells(i,3) = Sheet2.Cells(fnd.Row,3) Then
Else
Sheet3.Cells(i,3)interior.ColorIndex = 3
End if
・
・
・
if Sheet3.Cells(i,20) = Sheet2.Cells(fnd.Row,20) Then
Else
Sheet3.Cells(i,20)interior.ColorIndex = 3
End if
Else
Sheet3.Cells(i,2).EntireRow.Interior.ColorIndex = 4
End If
Next i
という風にしているのですが、もう少しまとめらないかと思いました。
まとめられるのでしょうか?
0268デフォルトの名無しさん
2016/05/17(火) 19:17:20.83ID:Ju7Z8cl/Else
Sheet3.Cells(i,2)interior.ColorIndex = 3
End If
はいらなかったです。失礼しました。
0269デフォルトの名無しさん
2016/05/17(火) 20:15:20.61ID:YEbHD3bH0270デフォルトの名無しさん
2016/05/17(火) 20:24:22.15ID:Ju7Z8cl/switch文とはどのように使うのでしょうか?
今調べて見てるのですが・・・
0271デフォルトの名無しさん
2016/05/17(火) 20:33:31.31ID:uw1YLM9Dせめて Then Else は条件逆にしたら?
> For i = ? To Lastrow ※Sheet3の最終行
> Set fnd = Sheet2.Columns(2).Find(Sheet3.Cells(i,2))
> If Not (fnd Is Nothing) Then
> If Sheet3.Cells(i,1) <> Sheet2.Cells(fnd.Row,1) Then
> Sheet3.Cells(i,1).Interior.ColorIndex = 3
> End If
> If Sheet3.Cells(i,2) <> Sheet2.Cells(fnd.Row,2) Then
> Sheet3.Cells(i,2).Interior.ColorIndex = 3
> End If
> If Sheet3.Cells(i,3) <> Sheet2.Cells(fnd.Row,3) Then
> Sheet3.Cells(i,3).Interior.ColorIndex = 3
> End if
> ・
> ・
> ・
> If Sheet3.Cells(i,20) <> Sheet2.Cells(fnd.Row,20) Then
> Sheet3.Cells(i,20).Interior.ColorIndex = 3
> End if
> Else
> Sheet3.Cells(i,2).EntireRow.Interior.ColorIndex = 4
> End If
> Next i
0272デフォルトの名無しさん
2016/05/17(火) 20:35:42.07ID:Ju7Z8cl/そうでした。申し訳ありません。
わざわざ=で、Elseを入れる意味はないですね。
その上で、このIf文をもう少しまとめる方法はないでしょうか?
0273デフォルトの名無しさん
2016/05/17(火) 21:09:16.27ID:Bh5kVr4XFor i = 1 To Lastrow '※Sheet3の最終行
Set fnd = (Sheet2.Columns(2).Find(Sheet3.Cells(i, 2)))
If Not (fnd Is Nothing) Then
For j = 1 To 20 '★1列目から20列目まで?
If Sheet3.Cells(i, j) <> Sheet2.Cells(fnd.Row, j) Then
Sheet3.Cells(i, j).Interior.ColorIndex = 3
End If
Next
Else
Sheet3.Cells(i, 2).EntireRow.Interior.ColorIndex = 4
End If
Next i
0274デフォルトの名無しさん
2016/05/17(火) 21:29:43.68ID:kv5Z22Gcswitch文はif then elsif elsif ...
に相当するものだった
列も2〜20までforで回したら?
for i to lastrow
for j = 2 to 20
if 条件 then
endif
next j
next i
0275デフォルトの名無しさん
2016/05/17(火) 21:35:27.61ID:Ju7Z8cl/Set fnd = (Sheet2.Columns(2).Find(Sheet3.Cells(i, 2)))
If Not (fnd Is Nothing) Then
の部分をFor j = 1 To 20 の中に入れてましたが、
よく考えたら、一度検索して見つかったらその行を確認していってるので、
中に入れてたら、何度もヒットさせる余計な処理になってしまってました。
ありがとうございました。
0276デフォルトの名無しさん
2016/05/17(火) 21:42:55.17ID:Ju7Z8cl/ありがとうございました。
それだけでよかったですね。
0277デフォルトの名無しさん
2016/05/19(木) 15:21:44.50ID:hJ/G9SOxその値が入っているセルの位置情報が記憶され、そこから検索がかかるという認識で
よいのでしょうか?
0278デフォルトの名無しさん
2016/05/19(木) 16:33:50.64ID:oZsWPLv6https://msdn.microsoft.com/ja-jp/library/office/ff839746.aspx
google とかでexcel vba find とか検索すれば出てくる
0279デフォルトの名無しさん
2016/05/20(金) 17:13:57.06ID:P6F1ZDVPID変わりましたが、返信遅くなりました。
そこは見ているのですが、何故変数にはセルの値が入っているのに、セルの場所を指定した事になるのかと思いまして、質問させていただきました。
0280デフォルトの名無しさん
2016/05/20(金) 18:50:53.92ID:gsWAgsomFindのAfterは値じゃなくて、セル範囲の情報なども含むRangeオブジェクトだよ
Findの戻り値も同じくRangeオブジェクトになる
Rangeオブジェクト
https://msdn.microsoft.com/ja-jp/library/office/ff838238.aspx
0281デフォルトの名無しさん
2016/05/20(金) 21:49:54.04ID:d/ZNR8o9?"a"&"b"
は
ab
と出力されますが
?"a"&1
は
a 1
と出力されます
なぜ半角スペースが交じるのでしょうか?
0282デフォルトの名無しさん
2016/05/20(金) 22:04:33.27ID:RvnBIaae? "a"&10
a 8
? "a"&100
a 64
? "a"&1000
a 512
後はわかるな?
0283デフォルトの名無しさん
2016/05/20(金) 22:14:31.20ID:d/ZNR8o9すいません、さっぱりわかりません。
? 100
100
? "a" & 100
a100
?"a"&100
a 64
?"a100"
a100
?"b"&100
b 64
?"x"&100
x 64
010が2byteで64かなーというのは想像できますが、
何故こうなるのでしょうか
0284デフォルトの名無しさん
2016/05/20(金) 22:20:25.08ID:Pie8/Dil?"a"&1 を
?"a" & 1 のように
&の前後に空白を入れてやれば"a1"と出力される
試しにコード上で
Debug.Print "a"&1 と&の前後に空白なしで記述すると
Debug.Print "a"; &O1 に自動変換されるので
おそらく文字型と数値型の2つの型のデータが出力されている
数値型データの場合、先頭に空白が入る模様
0285デフォルトの名無しさん
2016/05/20(金) 22:33:41.48ID:d/ZNR8o9なるほど
&N01
&P01
ではだめで
&O01
でいいのは何ででしょう?
0286デフォルトの名無しさん
2016/05/20(金) 22:39:11.93ID:Pie8/Dil先頭 &H の数値は16進数
0287デフォルトの名無しさん
2016/05/20(金) 22:39:59.19ID:RMEVZVQK&O は8進数
0288デフォルトの名無しさん
2016/05/20(金) 22:50:42.69ID:d/ZNR8o9ありがとうございます!
こういうのは数値リテラルというのでしょうか?
0289デフォルトの名無しさん
2016/05/20(金) 23:18:49.15ID:V/0gJxiWa-64
0290デフォルトの名無しさん
2016/05/21(土) 01:56:41.84ID:DHWj1BOs>数値型データの場合、先頭に空白が入る模様
先頭は符号。正の符号が空白で表されてる
0291デフォルトの名無しさん
2016/05/21(土) 18:06:47.94ID:8UwytgDTMin,max関数で最小、最大値を求める作業を複数のcsvファイルで行いたい場合どのようにすべきでしょうか?
具体的には=max(a2:a56)という動作をを1000個のcsvファイルに対してまとめて行い、各csvファイルの最大値を1つのファイルにまとめる動作を行いたいです。
1000個csvファイルのデータの位置(a2:a56)は同じです。
このような動作を行うマクロは組むことができるのでしょうか?
Vba始めてばかりなので間違いなどあればすみません。
0292デフォルトの名無しさん
2016/05/21(土) 18:31:55.59ID:3PJd0Iymマクロの記録をしてそれを繰り返せば良い
0293デフォルトの名無しさん
2016/05/21(土) 19:00:55.32ID:2DvXotsFまたIDが変わってしまったのですが質問者です。
申し訳ありません。そのセル範囲を含む情報が含まれるということは、
どういうことなのでしょうか?
例えば、1列目を指定してFindで検索し、
検索した結果見つかったセルの値をaに入れたとします。
1列目に検索したいものが複数あり再検索したい場合、
再度、Findを記述するかFindNextでAfterにaを指定すると思いますが、
そのaのセル範囲を含む情報というのは、何を示しているのでしょうか?
0294デフォルトの名無しさん
2016/05/21(土) 21:23:45.26ID:a3pocFu9Dim a As Range
Set a = Range("A1:A10").Find("検索文字列")
↑で、A1のセルがヒットしたとする場合
↓下記と同義のRangeオブジェクトが変数aに設定される
Set a = Range("A1")
Range プロパティ (Excel)
https://msdn.microsoft.com/ja-jp/library/office/dn301006.aspx
で、Rangeオブジェクトにはセルに関するいろんなプロパティを保持している
a.Value '<-セルの値(既定プロパティ)
a.Address '<-セルの参照範囲
a.Row '<-セルの行番号
a.Column '<-セルの列番号
…
Findメソッドがどのプロパティを参照しているかは知らないが
Afterに指定されたセル(※Rangeオブジェクト)の行番号、列番号
もしくはアドレスから次の検索セルを判断していると思われる
0295デフォルトの名無しさん
2016/05/21(土) 21:53:40.84ID:2DvXotsFF8やF5で実行を止めながら確認しても、aには値しか見えないですが、
実はRangeオブジェクトが入っているという事なのですね。
それはExcelの仕様という事なのでしょうか?
0296デフォルトの名無しさん
2016/05/21(土) 22:46:05.51ID:a3pocFu9変数の詳細な内容が見たいなら
ローカルウィンドウ なり ウォッチウィンドウ で確認するといい
Excel VBA 入門講座 ローカルウィンドウ
http://excelvba.pc-users.net/fol8/8_2.html
Excel VBA 入門講座 ウォッチウィンドウ
http://excelvba.pc-users.net/fol8/8_3.html
0297デフォルトの名無しさん
2016/05/21(土) 22:47:52.19ID:DHWj1BOsそれデフォルトプロパティが見えてるだけ
ちゃんとウォッチ式追加してウォッチウィンドウで見てみろ
0298デフォルトの名無しさん
2016/05/21(土) 23:20:54.65ID:2DvXotsF>>297
了解しました。ありがとうございます。
今確認してみてるのですが、
列指定してFindし、その結果を元に再検索に再度FindのAfterで
最初の検索結果を指定しその次から検索していますが、
空白が指定された場合、ちゃんと表の範囲内を検索し、
先頭に戻ってくれているのは確認できました。
結果としては非常にありがたいのですが、何故そうなるのかがわかりません。
列は指定しましたが、表の範囲は指定していないのに・・・
0299デフォルトの名無しさん
2016/05/22(日) 01:20:39.82ID:RVVHScN00300デフォルトの名無しさん
2016/05/22(日) 01:38:56.00ID:vMk8bbvq0302デフォルトの名無しさん
2016/05/22(日) 09:40:44.20ID:vMk8bbvq質問すればよろし
回答するスレではないんで、
回答するのは気分次第だけどな
0303デフォルトの名無しさん
2016/05/22(日) 10:36:35.32ID:F3XVlBdeApplication.Dialogs(xlDialogSendMail).〜
でアクティブブックをそのまま.xlsmとして添付メールすることはできるのですが、送り先にxlsに変換して送りたいです
FileFormat的な処理をしてワンクッション無しでそういった事を、するのは可能でしょうか?
宜しくお願いします
0304デフォルトの名無しさん
2016/05/22(日) 11:40:55.24ID:viRK9kIz>xlsに変換して
>アクティブブックを〜ことはできる
>ワンクッション無しで
ワンクッションとは?
0305デフォルトの名無しさん
2016/05/22(日) 12:37:39.34ID:F3XVlBdeコマンドボタンワンクリックで済ませたいので、一つのイベントプロシージャに収めたいという事です
もし別の処理をしないと不可能だという事でしたら、もう一つボタンを追加したりして対応したいと思いますが、何かいい方法がありましたらご教授お願いします
0306デフォルトの名無しさん
2016/05/22(日) 12:55:07.15ID:MkPG05kK素人だけど書いてみた Excel2003/Vistaで動作確認
http://codepad.org/h9iBcEZo
1列目のある範囲の最大値だけなんでCSVをワークシートへは取り込んでない
動作おかしかったらリスト読んで適当に直して
0307デフォルトの名無しさん
2016/05/22(日) 14:00:36.34ID:uwOrwjCqSaveAsで一旦.xls(xlExcel8形式あたり)で保存してから送信すれば行けるんじゃね
0308デフォルトの名無しさん
2016/05/23(月) 19:14:37.25ID:+L6Gybj90309デフォルトの名無しさん
2016/05/23(月) 20:04:34.59ID:fFz6fB8+あんた・・・それは
やめた方が
いいな!
0310デフォルトの名無しさん
2016/05/23(月) 23:02:51.54ID:EBQbKa6e自己解決したのですが
ちなみに止めた方がいい理由って何ですか?
気になります
0311デフォルトの名無しさん
2016/05/23(月) 23:05:46.46ID:OgrQhKAM0312デフォルトの名無しさん
2016/05/23(月) 23:40:18.70ID:fFz6fB8+もう考えない方がいい
どうしてもだ!
スレの住人として
忠告する!
じゃあ俺は
これで・・・またな
0313デフォルトの名無しさん
2016/05/23(月) 23:44:12.90ID:zjNqCcoU結論からいうとできました
Implements は複数設定できるので
後はそれぞれのインターフェースを
実装すれば良いだけでした
0314デフォルトの名無しさん
2016/05/25(水) 19:58:38.92ID:vZFTiHPJ亀レスすみません。
マクロの記憶だと作業中のファイルのみしかマクロが機能しないのでは無いでしょうか?
また、1000個のファイルに対して一つ一つマクロ実行するのは大変なので、1000個のcsvファイルの最大値を一つのファイルにまとめる作業を、一度に出来る方法は無いのでしょうか?
0315デフォルトの名無しさん
2016/05/25(水) 20:22:35.58ID:tfoRBKUB対象が同じフォルダに入っているファイル全部とかだったら別にどうってことなくね?
0316デフォルトの名無しさん
2016/05/25(水) 20:48:22.69ID:RqoGasre0317デフォルトの名無しさん
2016/05/25(水) 21:45:43.06ID:1qBlGVzrレスありがとうございます。
315さんの言う通り、対象は同じフォルダに入ってるファイルすべてです。
どうってこと無いというのは、やり方が簡単という事でしょうか?
宜しければ、マクロの記憶を繰り返す以外にもう少し具体的に教えていただければ幸いです。簡単な例文や使用すればいい関数など...
最近vbaを始めたばかりで、まだrangeやif文を習った程度の知識でして...
あと、拡張子にcsvが付いてたのでcsvファイルと言ってたのですが、対象となるのは普通のエクセルのファイルです。
>>316
ありがとうございます。
検討してみます。
0318デフォルトの名無しさん
2016/05/25(水) 22:41:50.45ID:enDBv6qD拡張子がcsvのファイルをテキストエディタで開いてみたら?
excel vba for
をググって繰り返しのやり方を調べる
試しに3個のファイルを対象にして作ってみる
0319デフォルトの名無しさん
2016/05/25(水) 23:17:20.71ID:CznCF+TX1度にやる方法は無いかと言われれば
無いこともないけど、本当にその方法が有効かはまた別問題。
例えばADO接続でCSVファイルからSQLで値を取得するときは
フォルダがDB、その中にある各CSVファイルがテーブル扱いになるので、
そのフォルダ内の対象になるCSVファイル名を先に全て取得しておいて
SQLでUNIONで繋げておけばできるけど、
本当にそれが速くて簡単かは相当疑問が残るよね。
0320デフォルトの名無しさん
2016/05/25(水) 23:21:01.56ID:Uf48Qhpgとりあえず、1つのファイルに対する処理を完成させる
後はループ処理で更新するファイルを変えつつ↑の処理を繰り返す
ところでループ処理は判ってんの?
do until とか
0321デフォルトの名無しさん
2016/05/25(水) 23:39:18.00ID:tfoRBKUBもしかしてこれがネック?
0322317
2016/05/25(水) 23:42:26.41ID:1qBlGVzrご回答いただいた方法で試してみます。
0323デフォルトの名無しさん
2016/05/26(木) 00:10:51.15ID:tOkM+sU0306に書いたんだけど動かなかったの?
ファイル名の取得は306のプロシージャでできるはず
csvじゃなくてxlsを読むならfunctionのところを自分なりに書き換えろ
0324デフォルトの名無しさん
2016/05/26(木) 03:19:58.19ID:tOkM+sU0xls読込みの追加と306でのcsv読込関数の訂正をあげとく
http://codepad.org/syUhdaGh
ExecuteExcel4Macro って命令使うともっと早くなるらしいけど
俺にはうまく使えなかった
CSVの方が早いので用意できるならCSVファイルで処理した方がいいと思う
他の人も言ってる様にスクリプトなんかも使いやすいし
0325デフォルトの名無しさん
2016/05/26(木) 07:35:57.45ID:yzIVgV2w>ExecuteExcel4Macro って命令使うともっと早くなるらしいけど
Microsoftからとっくにサポート打ち切られているようなの持ち出すのやめれ
0326デフォルトの名無しさん
2016/05/26(木) 08:48:16.33ID:EV8ndBzbってあったようだけど、今は無くなってる?
0327デフォルトの名無しさん
2016/05/26(木) 10:01:25.13ID:tOkM+sU0>Microsoftからとっくにサポート打ち切られているようなの
ここなんかは Office 2013 and later って書いてるけど今は打ち切られたのか?
https://msdn.microsoft.com/ja-jp/library/office/ff193589.aspx
0328デフォルトの名無しさん
2016/05/26(木) 14:46:41.03ID:TLCYm3V6参考書に、離れた行や列を非表示にするにはRangeプロパティのあとにEntireを使いましょうとあります。
RangeプロパティのあとにいきなりRows.Hidden=Trueとしても意図していた作業ができるのですが、Entireはなぜ必要なのでしょうか。
0329デフォルトの名無しさん
2016/05/26(木) 15:31:24.30ID:UrTJJdUS>>327書いたんだけど ExecuteExcel4Macro って互換性維持の為だけにあるみたいなんだね
後々使えなくなるって意味で言ってたって事がようやく理解できた
変な事書いてすまんかった
0330デフォルトの名無しさん
2016/05/26(木) 15:44:42.47ID:Dvh4dhBn安全のためだからできるんならいらないんじゃね
0331デフォルトの名無しさん
2016/05/26(木) 20:16:50.15ID:lgiuDAuhRowsは連続した行しか指定できないけど、EntireRowsは離れた行を指定できるからじゃね。
0332デフォルトの名無しさん
2016/05/27(金) 01:04:42.25ID:gB8QuuHHHiddenに関しては特に問題ないだろうけど、
部分的なセル範囲を含む“行全体”を厳密に扱いたいなら
EntireRowの方が安全かな
Debug.Print Range("A1:A3").EntireRow.Address
→ $1:$3
Debug.Print Range("A1:A3").Rows.Address
→ $A$1:$A$3
Debug.Print Rows("1:3").Address
→ $1:$3
0333デフォルトの名無しさん
2016/05/27(金) 23:11:50.47ID:4UuWR9R4遅くなりましたが、皆さんありがとうございます!
なにぶん初心者なもので、下手にオリジナリティを出さずに慣れるまでは公式に則ってきちんと学ばなければと思いました
またお世話になるかもしれませんが、そのときは何卒よろしくお願いします
0334デフォルトの名無しさん
2016/05/28(土) 00:22:34.85ID:MsTgKpLn0335334
2016/05/28(土) 00:24:50.50ID:MsTgKpLn0336デフォルトの名無しさん
2016/05/28(土) 01:38:03.64ID:GZWeia2p試しにデータを以下のように確認してみると、
時刻じゃない日付値が返ってくるのが原因かも
Debug.Print TimeSerial(23, 59, 59.99)
→ 1899/12/31
TimeValue関数で時刻部分だけ取り出すようにしてみては?
Application.OnTime TimeValue(TimeSerial(Hour(Now()), Minute(Now()), 59.99)), "a"
0337デフォルトの名無しさん
2016/05/28(土) 03:56:22.62ID:z46njfbnまずTimeSerialの秒に59以上を渡したときの動作は未定義だな
これは繰り上がった00秒を返してるっぽいので、23:59:59.99は繰り上がって翌日の日付のある時刻を返してる
Application.OnTimeは、指定された時刻が日付持ってるかどうかで動作を変えてる
日付を持ってないときは当日の指定時刻、日付を持ってるときは指定日付の指定時刻に処理実行
23時59分のときだけ、日付付きの時刻を渡してるが、その日付は過去の日付なので
処理が即実行されてる
まあ多分こういう事じゃないかと
0338デフォルトの名無しさん
2016/05/28(土) 08:26:40.26ID:CHU6gzT20339デフォルトの名無しさん
2016/05/28(土) 10:45:40.89ID:+66MKZ0qあんまり新しい情報はなさそうだからAriawaseのコードでも読めばどうだろう
0340デフォルトの名無しさん
2016/05/28(土) 15:04:42.16ID:gKP/LNYFコントロール+F11 を間違えて押と変なタブが作られますがこれは一体何ですか?!!!
0341デフォルトの名無しさん
2016/05/28(土) 15:15:08.16ID:g8NfG/nKマクロ4.0
vba以前についていたマクロ機能。化石なので使う事はまず無い
ただevaluateだけは何度かこのスレの質問で見たな。使ったことはないけどな
http://officetanaka.net/excel/function/tips/tips57.htm
0342デフォルトの名無しさん
2016/05/28(土) 16:10:52.16ID:gKP/LNYFありがとうございます。
0343334
2016/05/28(土) 20:18:24.66ID:MsTgKpLn修正頑張ります!
0344デフォルトの名無しさん
2016/05/29(日) 09:38:21.80ID:AwN+e4jtユーザーフォームのコマンドボタンを押す→マクロ実行→Application.Visible = True で
ユーザーフォームを非アクティブにして、わざわざシートを一度クリックしなくてもすぐにシートのセルに入力出来るようにしてました
もう2013で再現する事は不可能なのでしょうか?
または違う方法で再現できないでしょうか?
よろしくお願いします
0345デフォルトの名無しさん
2016/05/29(日) 13:46:01.40ID:9s1DeJLcシートAのA列にJANコード、B列に商品名が並んでいます。
JANと商品名はA1とB1、A2とB2…と対応しており、データの個数は都度変わります。
欲しいのは以下のVBAプログラムです。
1.シートBのA1のセルにシートAのA1のJANコードを入力し、シートの見出しを「当日の日付+商品名B1」にする。
2.以下、JANコードの数だけシートBをコピーして同じ作業を繰り返す。
です。
その際、
1.シートAとBは同じファイル内にあります。
2.シートBにはA1を検索値としたvlookup関数が入っている。
3.見出しに記載される商品名はJANと対応する商品名。
4.日付は、出来れば「2016年05月29日」なら「160529」と表記させたい。
無理ならどのような表記でも大丈夫ですが、なるべく短く表記したい。
上のファイル自体を今から作るので、シートA、Bの名前は実際には変わります。
またシートBのJANを入力するセルも実際にはA1ではありません。
なので後から変えられるように、プログラムのどこがシートABの名前の部分でどこがシートBのA1を表しているのかも教えてもらえるとありがたいです。
分かる方いらっしゃいましたらよろしくお願いいたします。
0346デフォルトの名無しさん
2016/05/29(日) 13:52:33.92ID:m6zFG5bY報酬は?
0347デフォルトの名無しさん
2016/05/29(日) 17:38:02.13ID:OB5e45ZSamazonのせどり関係?
ここまで、やりたい事が具体的に分かれば、この通りすれば出来るんじゃない?
この程度でつまずくなら、厳しいと思うが
データ個数が変わる場合も含めてロジックを組むなら、VLOOKUPは使わない方が良いのでは?
配列なども勉強した方が良いよ
0348デフォルトの名無しさん
2016/05/29(日) 17:55:57.68ID:8akYxdWk1万でどう?
0349デフォルトの名無しさん
2016/05/29(日) 19:22:22.37ID:GTS7K4/Tお前の半日〜1日分の給料に該当するだろ
ざっと作って30分〜1時間くらいのものに
どれだけ手入れるつもりだよ
0350デフォルトの名無しさん
2016/05/29(日) 19:37:22.60ID:DU/FdEem延長、指名、同伴オプションも相談のります
0351デフォルトの名無しさん
2016/05/29(日) 19:51:23.53ID:IL/FFzdQ0352デフォルトの名無しさん
2016/05/29(日) 19:56:44.56ID:iENwe/Jr0353デフォルトの名無しさん
2016/05/29(日) 20:02:58.52ID:l+XEODYT0354デフォルトの名無しさん
2016/05/29(日) 20:52:32.53ID:qZvodTNYそんな発想が出るってどんな安い単価の世界で生きてるんだ…
0355デフォルトの名無しさん
2016/05/29(日) 20:53:43.81ID:GCJVxvYj0356デフォルトの名無しさん
2016/05/29(日) 21:02:37.79ID:O2TO5DJ70357デフォルトの名無しさん
2016/05/29(日) 21:29:17.79ID:PpnqKVZyバカ発見
0358デフォルトの名無しさん
2016/05/29(日) 21:31:54.50ID:IxwT55oU学生は気楽でいいな
0359デフォルトの名無しさん
2016/05/29(日) 22:31:24.29ID:iENwe/Jr0360デフォルトの名無しさん
2016/05/29(日) 23:03:21.50ID:9s1DeJLcレスいただいた方ありがとうございました。
丸投げで申し訳ないと思ったので自分なりに今プログラムを作っています。
>>347
Amazonではないです。
JANに紐付いた商品情報をvlookupで読み込むフォームがあるのですが、毎回シートをコピーしてJANを貼り付けて見出しを変えるという手間が大変なのでVBAを組みたいと思いました。
今VBAを勉強しているところです。
>>355
ありがとうございます。
いただいたプログラム、まだ自分には難しいのですがwithやdate関数の使い方など勉強になります。
とりあえず今のところ、シートをコピーしてJANを貼り付け、見出しを「日付+商品名」にするところまで出来ました。
あとはJANの数だけ上の作業を繰り返すプログラムが出来れば完成です。
自分でやってみて分からなければまた質問します。
ありがとうございました。
0361デフォルトの名無しさん
2016/05/30(月) 00:11:04.77ID:MwQPmEOY連投すみません。奇跡的に出来ました。
ちなみに下のようなプログラムです。
Sub 商品別作成 ()
dim i as integer
i = 2
do until worksheets("リスト").cells(i.1).value = ""
worksheets("原紙").copy after:= worksheets(worksheets.count)
with worksheets(worksheets.count)
.cells(1,2).value = worksheets("リスト").cells(i,1)
.name = year(date) & month(date) & day(date) & worksheets(worksheets.count).cells(1,4)
end with
i = i + 1
loop
end Sub
です。
携帯からの書き込みのため見にくくて申し訳ありません。
手元にあった参考書と>>355さんのプログラムを参考に作りました。
自分で作っておきながらよく理解できていないところもあります。
たとえば、
worksheets(worksheets.count)
がなぜワークシートの末尾という意味になるのか、とか。
長文すみません。ありがとうございました。
0362デフォルトの名無しさん
2016/05/30(月) 00:21:17.07ID:MGJW0QKJ0363デフォルトの名無しさん
2016/05/30(月) 00:29:54.80ID:4yKaoPuEworksheets.countプロパティにはワークブックの持ってるワークシートの枚数がセットされてて、ワークシートの追加や削除で値が増減する
メインでworksheets(1)って使ってるでしょ? これは1枚目のワークシートの事
ワークシートが5枚あればworksheets.countの値は5になるのでworksheets(5)って指定するのと同じこと
検索すると詳しい解説がいっぱい見つかるから読んでみるといい
0364デフォルトの名無しさん
2016/05/30(月) 00:33:15.23ID:TRF4/Pejworksheets(番号を表す数値)
ワークシートが3つある場合は、0から2までで表される
番号を表す数値に3を指定すると4番目の新しいワークシートになる
worksheets.countはワークシートの数を表す
つまりワークシートが3つあれば、3となる
よってワークシートが3つあれば、worksheets(worksheets.count)は
worksheets(3)となり0から始まる4番目のワークシートとなるから
ワークシートの末尾と同じことになる
0365デフォルトの名無しさん
2016/05/30(月) 01:25:38.78ID:4HMhVwgA2シートある表の比較で、
2行目から比較なので
For i = 2 To Lastrow1 ※1シート目の最終行まで
For j = 2 To Lastrow2 ※2シート目の最終行まで
If Sheet1.Cells(i,2) = Sheet2.Cells(j,2) Then ※2列目に番号があり合ってれば
For i2 = 1 To LastColumn1 ※1シートの最終列まで
If Sheet1.Cells(i,i2) <> Sheet2.Sheet2.Cells(j,i2) Then
Sheet1.Cells(i,i2).Interior.ColorIndex = 3
End If
If Sheet1.Cells(i,i2).Interior.ColorIndex <> xlNone Then
Sheet1.Rows(i).EntireRow.Copy Destination:=Sheet3.Rows(i)
End If
Next i2
End If
Next j
Next i
1シートと2シートを比べ、1シートの差異のセルに色を塗り、
3シート目に行ごとコピーしているのですが、
1シートにしかない行、2シートにしかない行もあり、
それも3シートにコピーしたいのですが、どのようにしたらよいでしょうか?
0366デフォルトの名無しさん
2016/05/30(月) 03:35:34.52ID:lz7aZWOJこんな感じかな?
For r1 = 2 To Lastrow1 ' ※1シート目の最終行まで
flag = True
For r2 = 2 To Lastrow2 ' ※2シート目の最終行まで
If Sheet1.Cells(r1, 2) = Sheet2.Cells(r2, 2) Then ' ※2列目に番号があり合ってれば
flag = False ' ※この行はコピーしない
End If
Next r2
If flag Then ' ※この行は1シートにしかないので
Sheet1.Rows(r1).EntireRow.Copy Destination:=Sheet3.Rows(r1) ' ※3シートにコピー
End If
Next r1
For r2 = 2 To Lastrow2 ' ※2シート目の最終行まで
flag = True
For r1 = 2 To Lastrow1 ' ※1シート目の最終行まで
If Sheet1.Cells(r1, 2) = Sheet2.Cells(r2, 2) Then ' ※2列目に番号があり合ってれば
flag = False ' ※この行はコピーしない
End If
Next r1
If flag Then ' ※この行は2シートにしかないので
Sheet2.Rows(r2).EntireRow.Copy Destination:=Sheet3.Rows(r2) ' ※3シートにコピー
End If
Next r2
0367デフォルトの名無しさん
2016/05/30(月) 04:47:59.06ID:4HMhVwgAありがとうございます。
したい事はできたのですが、
このflagというのはどういう意味なのでしょうか?
0368デフォルトの名無しさん
2016/05/30(月) 06:28:58.71ID:MwQPmEOY>>364
ありがとうございます。
なるほど。
>>361では本当は「ワークシート1の後にワークシート1をコピーして、コピーしたワークシートに作業する」ということがしたかったんですが、その場合は
Sub 商品別作成 ()
dim i as integer
i = 2
do until worksheets("リスト").cells(i.1).value = ""
worksheets(1).copy after:= worksheets(1)
with worksheets(2)
.cells(1,2).value = worksheets("リスト").cells(i,1)
.name = year(date) & month(date) & day(date) & worksheets(2).cells(1,4)
end with
i = i + 1
loop
end Sub
というプログラムにすれば、ワークシートの名前は関係なしに一枚目をコピーして二枚目に作業する、ということになりますか?
0369デフォルトの名無しさん
2016/05/30(月) 08:09:31.18ID:4yKaoPuEWorksheets(n)で指定する場合のnは左からみたシートの並びになるらしいので
Worksheets(1).copy after:= worksheets(1) を実行したときには
最新のコピーは常に左から2枚目の位置に来る事とコピー元のシート位置は左端(1枚目)から変えちゃいけない事を
意識できればいいんじゃないかな
0370デフォルトの名無しさん
2016/05/30(月) 20:24:27.53ID:dvnyr15v「手取り」っていまいちよく理解できないんだよね。
支給額から税金とか差し引いた額ってことだろうけど、
その差し引きく額には会社の団体保険の医療保険とか持ち株会の月額とか寮費とかは含まれるの?
たまに「手取り○万円しか無いんだよ!」って言う人に詳しく聞くと、
上記のようなものも差し引いて実際に自分の口座に振り込まれる額を言う人がいるんだけど、
それって「手取り」って言って正しいの?
0371デフォルトの名無しさん
2016/05/30(月) 20:49:50.01ID:9zgDAfYa手取りは基本的に保険など差し引いて振り込まれる額、つまり自由に使える金
寮費は微妙だけど、振り込まれる額を指す場合が多いと思う
0372デフォルトの名無しさん
2016/05/30(月) 20:50:32.53ID:iGtTjZst引くのは税金と健康保険と雇用保険と介護保険じゃね
0373デフォルトの名無しさん
2016/05/30(月) 20:57:22.49ID:4q9S9srQ確かに契約社員やってる人には
分かり辛いかもしれないね
0374デフォルトの名無しさん
2016/05/30(月) 21:11:27.51ID:iGtTjZst年金保険もか
0375デフォルトの名無しさん
2016/05/30(月) 22:21:18.67ID:VvWJADwM0376デフォルトの名無しさん
2016/05/30(月) 22:26:40.27ID:iGtTjZst寮費とかはその人が寮を使ってるからだし
自動車保険も給与から引くようにしなくても良いんじゃね
健康保険とか雇用保険とか年金は全員引かれるもの
VBAとは関係ないが
0377デフォルトの名無しさん
2016/05/30(月) 22:28:58.68ID:9zgDAfYa真剣に考えて損したわ
0378デフォルトの名無しさん
2016/05/30(月) 22:37:26.71ID:VvWJADwM給与明細見たら、
組合費、組合積立金、寮の食堂での食費、寮自治会費も給料から引かれてたわ
手取りっていっても会社によって全然ちがうのね
ちな三菱系
0379デフォルトの名無しさん
2016/05/30(月) 22:49:20.47ID:JaLXIj0Gただそう言うのまで入れると何の金額のことかワケわからんようになるから手取りってそう言うのは入れないように思う
0380デフォルトの名無しさん
2016/05/30(月) 22:50:34.41ID:dvnyr15vニュースと >>359 の「手取り」の文章とで、昔の関連会社の人との会話の中でふと思ったことを
連想して思い出したら書かずにはいられなかっただけなんだ。ごめんよ。
0381デフォルトの名無しさん
2016/05/30(月) 22:59:06.74ID:MGJW0QKJもうすぐボーナスじゃないか
0382デフォルトの名無しさん
2016/05/30(月) 23:25:53.51ID:FNI4oSJu一般的には給与から源泉徴収税、住民税特別徴収、健康保険料、年金保険料、雇用保険料を引いた額
0383デフォルトの名無しさん
2016/05/30(月) 23:28:03.40ID:FNI4oSJu0384デフォルトの名無しさん
2016/05/31(火) 01:17:34.99ID:P+B3hNwu何それ、俺の知らない知識だ
0385デフォルトの名無しさん
2016/05/31(火) 07:03:20.88ID:lb4BA3Cb0386デフォルトの名無しさん
2016/05/31(火) 11:12:06.88ID:P7zsebxNdouble型の配列に数値以外の文字を格納することは出来ませんか?空白と区別出来るものであれば何でも構いません。(-または/がベストな希望)
型をvariantに変えるという手もありますが、計算ミスがあるようなイメージがあるので、やっておりません。何かアドバイスお願いします。
0387デフォルトの名無しさん
2016/05/31(火) 11:47:30.66ID:9/vIAIrD計算ミスというのは無いと思うが、やはりVariantで型チェックすれば?
または自分でOptional型クラスを作るか。
0388デフォルトの名無しさん
2016/05/31(火) 12:07:24.59ID:iuDv2fhMそのまま答えるとvariantで格納して呼び出しの時にチェックするしか無いだろう
しかしそれ以前に根本的な設計が間違ってる
やりたいこと書いた方がいいかもしれない
0389デフォルトの名無しさん
2016/05/31(火) 14:51:30.75ID:MV3Si3mC>>388
ダブルだとやはり出来ないんですね。
稀にマイナス小数点同士の乗算除算や0出現時のエラーがあるのでそれを区別したいと考えてました。
variantでやってみます!
0390デフォルトの名無しさん
2016/05/31(火) 21:08:56.37ID:mGubUgmp0391デフォルトの名無しさん
2016/05/31(火) 21:30:53.23ID:C0QCg+LlまさかセルからTextで値取得しているってオチは無いよね。
ちょっと気になったのがVariant型に入れて数値チェックするのと、
String型に入れて数値チェックしてDouble型に変換して使うのとどっちが早いのか。
まぁ気にするほど差が出ないのは分かっているけど、単純な疑問。
後、Variantに入れると変な暗黙の型に突っ込まれて本来のDouble型と挙動が変わることがないのか心配。
0392デフォルトの名無しさん
2016/05/31(火) 21:51:56.92ID:LgcgyNaP0393デフォルトの名無しさん
2016/05/31(火) 22:01:55.92ID:iuDv2fhMふーん、アルゴリズムが遅いんだ〜
0394デフォルトの名無しさん
2016/05/31(火) 22:04:20.02ID:mGubUgmp単にVariant型に入れた値を数値チェック後に取り出すだけだったら、Stringから変換するよりずっとずっと速いはず。
前者と違って後者は本当の変換だからな。
0395デフォルトの名無しさん
2016/05/31(火) 22:09:57.16ID:LgcgyNaPせやで、プロとお前らの違いはアルゴリズムなんやで
変数がvariantとかどうでもええねん
0396デフォルトの名無しさん
2016/05/31(火) 22:10:12.22ID:C0QCg+Llただ、Variant型を使うよりString型を使う方が早いんだよね。
型変換でどのくらい相殺されるか
0397デフォルトの名無しさん
2016/05/31(火) 22:13:58.47ID:hxNGQcCXエスパると丸め誤差のことか?
0398デフォルトの名無しさん
2016/05/31(火) 22:15:14.99ID:mGubUgmpどういう使い方?
v = 3.1415
より
s = "3.1415"
として使う方が速いって意味?
0399デフォルトの名無しさん
2016/05/31(火) 22:40:22.39ID:P0axz30G俺もこれ知りたい
VBAからセル選択してもフォーカスはコントロールに行ったままだよな
0400デフォルトの名無しさん
2016/05/31(火) 23:58:45.09ID:b/p0i84SExcel 2013持っていないから試せないけど
APIでフォアグラウンドウィンドウを変えてみるとかは?
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long
Private Sub CommandButton1_Click()
SetForegroundWindow Application.hWnd
End Sub
0401デフォルトの名無しさん
2016/05/31(火) 23:59:23.43ID:C0QCg+Llそう。
http://officetanaka.net/excel/vba/speed/s6.htm
0402デフォルトの名無しさん
2016/06/01(水) 00:08:55.15ID:v2Wj2/bBいやそのリンク先は
s = "3.1415"
としたあとsを文字列のまま扱うときの話でしょ
>>391で「String型に入れて数値チェックしてDouble型に変換して使う」ってのが元の話
だからsをDoubleに戻すコストがいる。
0403デフォルトの名無しさん
2016/06/01(水) 00:11:50.06ID:9sIb/BNEいったんfalseにしてからtrueにするのは試した?
0404デフォルトの名無しさん
2016/06/01(水) 00:28:41.02ID:f68tak/jだからその型変換に掛かる時間と相殺してどちらが早いかという話。
数値チェックはどちらにしたって必要でしょ。
0405デフォルトの名無しさん
2016/06/01(水) 00:46:14.53ID:v2Wj2/bBなるほど
じゃ、明示的な数値チェックを略すと
Dim s As String
Dim v As Variant
Dim d As Double
s = 3.1415 ' ← 型変換(1)
d = s ' ← 型変換(2)
v = 2.7183 ' ← 型変換(3)
d = v ' ← 型変換(4)
としたときのコストは (1) + (2) >> (3) + (4) だ
、っていうのが>>394の主張。
0406デフォルトの名無しさん
2016/06/01(水) 02:19:56.12ID:f68tak/jそうやって並べてみると、
セルから取って来てVariant型に入れた
値は内部型でDouble型とは限らないから
結局は型変換が必要になるな。
後、Objectならともかく、こっちは
Doble型に変換するなら暗黙の変換使わずに
明示的な変換を行う想定でいたわ。
d = CDbl(s) ' ← 型変換(2)
d = CDbl(v) ' ← 型変換(4)
0407デフォルトの名無しさん
2016/06/01(水) 07:17:59.36ID:v2Wj2/bBうん、まあセルに入っている値が大多数は数値で、たまに変なエラーみたいなものが入っている前提とすると、
d = CDbl(s) ' ← この型変換は常に重い
d = CDbl(v) ' ← この型変換はたまに重い
となるね。(sはString型なので常に関数呼び出し)
0408デフォルトの名無しさん
2016/06/01(水) 07:58:53.15ID:J5oSfmPvよく分からないんだけど、例えばセルから取得した値をVariantが内部型をLong型とかに判断した場合って型変換は起こるんじゃないの?
0409デフォルトの名無しさん
2016/06/01(水) 08:50:59.51ID:weg166lE0410デフォルトの名無しさん
2016/06/01(水) 09:02:22.06ID:akJUj8WN特定のフォルダに、ファイル(エクセルBook)が登録(保存、ペースト)された時に
VBAで記述した処理を起動したいのですが、どうすれば良いのでしょうか?
0411デフォルトの名無しさん
2016/06/01(水) 12:22:55.53ID:K88eWt2gAPI使ってタイマーで前回の状態と比較するしか無いんじゃなかろうか。
VB.Netなら確かfilesystemwatcherが使えた気がするけど、それでも難しいよ。
何せExcelファイルはファイルサーバとかに置いて共有切ったりすると、暫く違うファイルに前回状況を抱えて出力したりしてるからね。
簡単なことならいいけど、色々やろうとすると途端に難しくなる。
0412デフォルトの名無しさん
2016/06/01(水) 17:11:37.67ID:E/1ScAaTチェックしないで例外拾うのも、例外処理のコストが高い気がするし
実測したわけじゃないから気がするだけかもしれんが
0413デフォルトの名無しさん
2016/06/01(水) 18:33:41.83ID:9sIb/BNEそもそもそんなに速度が重要ならVBAは向いていないって話だしな。
0414デフォルトの名無しさん
2016/06/01(水) 19:29:44.69ID:weg166lEVBAだけでは難しいかも
0415デフォルトの名無しさん
2016/06/01(水) 19:49:31.29ID:sRCfCf1w出来合いの物同士を結んで駆動させるにはすごく便利なんだけど、
単体で何か作ろうってのは無理だな。
0416デフォルトの名無しさん
2016/06/01(水) 20:29:22.31ID:NX6RE2hb0417デフォルトの名無しさん
2016/06/01(水) 21:07:08.13ID:v2Wj2/bBボタンを押してからフォルダの監視を始めて、ファイルが登録されるまでほっといていいんなら
単に無限ループにすればいいと思うけど?
0418デフォルトの名無しさん
2016/06/01(水) 21:07:46.48ID:IfpgImxcVBAで三重ループとかして何とかしているコードとか見かけると
もう脱力感を通り越して微笑ましいよな
0419デフォルトの名無しさん
2016/06/02(木) 03:58:28.00ID:0gMFQogn規模がそれなりになりそうでレス消費激しくなりそうなんだけど
別にスレ立てたほうがいい?
0420デフォルトの名無しさん
2016/06/02(木) 06:34:02.28ID:uPQC6lrS0421デフォルトの名無しさん
2016/06/02(木) 06:38:04.75ID:jAQjQwIo0422デフォルトの名無しさん
2016/06/02(木) 08:21:37.06ID:x3+LLHfFとりあえず質問内容書いちゃいなよ
ダメだったら回答がないだけで
他になんのリスクもないじゃん
0423410
2016/06/02(木) 11:18:28.49ID:E1zOmXKjレスありがとうございます。
他の方法考えてみます。
0424デフォルトの名無しさん
2016/06/02(木) 12:23:31.19ID:0gMFQognVBAで.CSVの中にある特定の文字列を書き出して右のセル、特定の文字列を書き出して右のセル・・・
とやって言ってある文字列が来たら下のセルの端から・・・という風なものを作りたいんだけど
0425デフォルトの名無しさん
2016/06/02(木) 12:36:06.49ID:jr36f/Tp0426デフォルトの名無しさん
2016/06/02(木) 12:38:46.39ID:PrMOVFII1行ずつ読み込んで、
1行をカンマで分解して、
分解した文字列を比較して、
スキップするのか右に書き出すのか改行するのか処理して、
全行読み込み終わるまで繰り返せばいい。
0427デフォルトの名無しさん
2016/06/02(木) 13:42:52.85ID:0gMFQognなるほど 流れは理解できた
1行をカンマで分解ってどうすればいいんだ?
なんども質問して悪いね
0428デフォルトの名無しさん
2016/06/02(木) 13:56:01.35ID:f0lhMNCN0429デフォルトの名無しさん
2016/06/02(木) 14:03:22.31ID:PrMOVFII大まかに文字通り「カンマ文字で区切られているテキストファイル」程度の縛りしかなく、
カンマ自体を文字列として扱う表現方法とか、
ダブルクォーテーションをどう扱うかとか、
改行コードも区切り文字として扱うのかとか、
そういった決まりが標準として存在してはいないことを注意した方がいいよ。
エクセルに読ませるCSVファイルの作成者とのファイル形式の詳細の確認をしておかないと誤動作する。
あと文字コードとかね。
0430デフォルトの名無しさん
2016/06/02(木) 14:26:09.67ID:MCmPKbwBhttp://www.pc-master.jp/sousa/csv.html
0431デフォルトの名無しさん
2016/06/02(木) 14:27:01.89ID:0gMFQogn確かにCSVってファイルの存在がよくわかってないのは事実だわ
文字が入ってるファイル 程度の認識だった
0432デフォルトの名無しさん
2016/06/02(木) 17:08:58.17ID:H/+hHucZ0433デフォルトの名無しさん
2016/06/02(木) 17:20:17.63ID:QOEnZCBh0434デフォルトの名無しさん
2016/06/02(木) 18:34:23.67ID:VAHYdxVDCSVのパースまで自分でやるならVBA使う意味ないじゃんw
ExcelにCSVのデータをセルに配置してもらって
自分で好きなようにいじって
最後にまたExcelにCSVとして書き出してもらいたいからVBAなのでは
0435デフォルトの名無しさん
2016/06/02(木) 19:41:25.29ID:Q6rF1mtD100万行以内ならそれだな
0436デフォルトの名無しさん
2016/06/02(木) 19:54:53.84ID:jr36f/TpCSVパースする必要なくね
0437デフォルトの名無しさん
2016/06/02(木) 20:15:59.00ID:W5gwkCTf特定文字列を見つけたら
ファイルに書き込んでカンマ
別のある文字列を見つけたら書き込んで改行
これをcsvファイルとして読み込む
0438デフォルトの名無しさん
2016/06/02(木) 21:05:06.89ID:D6ak8EHxやりたいのはこんな感じか? http://codepad.org/2IMAfd1O (コピペして(適当な名前).vbsで保存)
VBScriptだけどSUBの部分はEXCELのVBAにもそのままで持っていけると思う
ワークシートに出したいなら出力部分をファイルからワークシートに変更すればいい
0439デフォルトの名無しさん
2016/06/02(木) 21:28:50.10ID:uPQC6lrS0440デフォルトの名無しさん
2016/06/02(木) 22:09:47.82ID:/P5tacee用意した置換前、置換後のワードリストに沿って複数の文字列置換を一括処理したいのですが、前後の重複に苦悩しています。
例えば
置換前 置換後
あ → い
い → う
というリストで「あい」という値を順番にReplace関数をかけると
「あい」→「いい」→「うう」になってしまいます。
「あい」→「いう」
になるように処理したいです。
ひとつ考えたのは、置換が済んだ文字列は書式を変えて次の処理をしないという方法ですが、
大量処理のためワードリストも処理範囲も全て配列に格納して処理するようにしているので出来ません。
置換された文字列は次の置換処理に当たらないようにする手は無いでしょうか。
0441デフォルトの名無しさん
2016/06/02(木) 22:09:53.87ID:Td5AQauDADODB使ったりSplitで改行位置を何とかしたり色々な方法を考えた結果、
>>429みたいなやり方が一番面倒臭さく無さそうだという結論に達した。
細々と何かすれば処理速度は上がるかも知れないけどね。
0442デフォルトの名無しさん
2016/06/02(木) 22:13:13.72ID:Td5AQauD置換って逆順にやって行くもんだよ
0443デフォルトの名無しさん
2016/06/02(木) 22:18:37.69ID:ZNUdZI3k「ぬぬぬ」を検索して使っていなければ
あ → ぬぬぬ
い → う
ぬぬぬ → い
みたいな感じ?
こういう場合どうすればいいんだろうね、知らないわ
0444デフォルトの名無しさん
2016/06/02(木) 22:29:53.58ID:W5gwkCTfapplication.screenupdate = false
calculatin = xlmanual
とかにすれば配列に入れなくても結構速くなるけど
それか2次元配列にして置換すみなら印をつけるとか
別にDictinaryとか作って置換すみの配列の添字を追加して
exist()メソッドでチェックするとか
0445デフォルトの名無しさん
2016/06/02(木) 22:32:37.55ID:I8wr9FkH逆順でも同じです、順序の問題ではありませんので。
例えばこんな相互置換というか循環置換とでも言うのかな、だったら
置換前 置換後
A1 → A2
A2 → A3
A3 → A1
対象範囲内にA1もA2もA3も全部存在するので上から置換しても下から置換しても同じ問題に当たります。
>>443
その手は考えたのですが、置換対象は何でもあるので「使っていない文字列」は常に不明です。
なので一旦意味を持たない大量のユニークな文字列に1次置換してから目的のワードに2次置換するという。
しかしひとつの値に複数の置換対象があった場合、正常な動作を保証できない気がします。
例えば上の例なら
「A1A2A3」という値を「A2A3A1」にしたいので一旦「&//$%%&%%%-5577'/?##-$」みたいになった時に
偶然他の1次置換ワードと繋がったら間違った結果になってしまいます。
0446デフォルトの名無しさん
2016/06/02(木) 22:34:27.71ID:W5gwkCTf他にはワードリストを工夫する
あ→い
い→う
のリストではなく
あい→いう
のリストを追加して
文字列の長い順に置換処理するとか
0447デフォルトの名無しさん
2016/06/02(木) 22:40:12.20ID:I8wr9FkHその2つはもちろん入れています。
処理範囲は沢山のシートの沢山の範囲で、置換ワードも沢山なので配列使わないのはなんとか避けたいです。
今はセル範囲を二次元配列1と2に入れて、配列2を置換し、配列1と配列2の値が違ったらその番地だけセルに代入するよう組んでいます。
FIND関数とLEN関数で置換した文字列の開始文字数と終了文字数を記録して、次の置換対象がその範囲内に被っていたらreplaceを回避
というのも考えたのですが、これもひとつの値に同じ置換が複数回発生した時に2個目以降が回避できないです。
0448デフォルトの名無しさん
2016/06/02(木) 22:41:12.82ID:uPQC6lrSあい→AB
いう→XY
っていう置換リストがある場合、
"あいう"
はどうなるルールなの?
0449デフォルトの名無しさん
2016/06/02(木) 22:45:06.67ID:W5gwkCTf0450デフォルトの名無しさん
2016/06/02(木) 23:05:21.74ID:27mXebeA1. 絶対に使われていないであろう文字を一つ用意する(ゑ、ゐとか)
2. 一応全処理範囲にその文字が存在しないか検査する
2a.あったらアラート出して止める
3. 置換ワード1は「ゑ@ゑ」、置換ワード2は「ゑ@@ゑ」に置換する(@の数は置換リスト数だけ増えるようfor nextで)
4. 本命に置換する
これなら偶然繋がってた元の置換ワードが偶然別の仮置換ワードと一致しちゃう可能性は無い
0451デフォルトの名無しさん
2016/06/02(木) 23:08:41.11ID:ZNUdZI3k同じこと書こうと思ってたorz
絵文字でもいいね
正規表現でもいいと思うけど2byte文字が使えるかどうかは分からん
0452デフォルトの名無しさん
2016/06/02(木) 23:16:43.98ID:W5gwkCTfワード1はゑ1ゑに
ワード2はゑ2ゑに
ワードnはゑnゑに置換でも良いかも
nを配列の添字とかdictionaryのkeyにすればいい
0453デフォルトの名無しさん
2016/06/02(木) 23:47:31.70ID:I8wr9FkH明日試してみます
皆さんご意見ありがとうございます
0454デフォルトの名無しさん
2016/06/03(金) 00:05:59.50ID:WMPHIHXeそういうのは想定していないんじゃない?
0455デフォルトの名無しさん
2016/06/03(金) 00:15:28.22ID:3+Y90JKR先に変換したらその後は変換対象にしない
あいう→ABう
になる
0456デフォルトの名無しさん
2016/06/03(金) 00:59:00.12ID:YNoAy0SKA列には名前が入っています。
B列には日付が入っています。
C列には開始時刻が入っています。
D列には終了時刻が入っています。
E列にはタスク名が入っています。
丁度、以下のような感じです。
鈴木 6/2 11:00 11:30 タスクX
佐藤 6/2 10:30 12:00 タスクY
...
このデータについて、毎日、全員、全てのタスク(X、Y、Zとする)が漏れなく重複なく入力されていて、更にタスク毎に開始と終了もテンプレートに沿って(Xは11:00-11:30、Yは10:30-12:00、のように)入力されているかの確認をしたいのです。
要は、
鈴木 6/2 11:00 11:40 タスクX
となっていれば、11:40の入力ミスが分かるようにしたい。
鈴木 6/2 11:00 11:30 タスクX
鈴木 6/2 11:00 11:30 タスクX
鈴木 6/2 10:30 12:00 タスクY
となっていれば、「タスクXの重複」と、「6/2のタスクZの抜け」が分かるようにしたい。
という感じなのですが、やりたい事が伝われば、すみませんがご教授願います。よろしくお願いします。
0457デフォルトの名無しさん
2016/06/03(金) 01:27:49.22ID:p2nW9YpX最初のアドレスと比較することでループを抜ける条件にしてる」
というのを上のコメントで拝見したのですが、
例えば最初に列指定でFindした際にIf文でNothingの場合どうするのかというのを
いれると思うのですが、検索の終端を検知できずループしてしまうのであれば、
If文までいかずにFindの所で永久ループしてしまう気がするのですが、そうならないのは
何故なのでしょうか?
0458デフォルトの名無しさん
2016/06/03(金) 01:37:33.93ID:SESshZ7LVBAの問題じゃなくてアルゴリズムもしくはフローの問題
発想は
毎日、全員に対して
漏れがないかチェック
重複がないかチェック
全タスクについて
テンプレートに沿ってるかチェック
を行うだけだが
0459デフォルトの名無しさん
2016/06/03(金) 02:02:50.57ID:fVYd85Q004600gMFQogn
2016/06/03(金) 02:48:08.41ID:PdZhxGoZExcelでやる理由はバカでも使えるようにoffice製品のみで完結させておきたいからなんだ
もうちょっと要件整理したり自力で作ってみるわ
またわからないことがあったら聞きに来るかもしれないいが
0461デフォルトの名無しさん
2016/06/03(金) 06:26:17.43ID:3+Y90JKR一度の実行の間は最初のアドレスを保持しているが
実行が終わると最初のアドレスを忘れてしまうから
0462デフォルトの名無しさん
2016/06/03(金) 06:51:34.01ID:p2nW9YpXそれはFindNextもなのしょうか?
0463デフォルトの名無しさん
2016/06/03(金) 06:52:10.03ID:p2nW9YpX失礼しました。それはFindNextもなのでしょうか?
0464デフォルトの名無しさん
2016/06/03(金) 07:11:10.78ID:PJyaHrdNfindにおける検索の終端と、
findを利用して自分で組むループの終端を混同してるようだけど、
findは検索範囲内でafter:=以降の部分から範囲内を一通り検索して、
検索対象が一個見つかるか全く見つからないときに検索を終える。
これがfind検索の終端。
それに対してfindでは検索範囲内に複数の検索対象があった時に
一個ずつしか見つけられないからfind next も組み合わせて
自分で組むループの終端は
最初に見つかった検索対象の位置を自前で記憶しておいて
そこまで戻ってきたらそこを終端とするって話。
ゴッチャにしたらダメ。
0465デフォルトの名無しさん
2016/06/03(金) 07:33:19.48ID:p2nW9YpXありがとうございます。
複数の検索対象があった時に、FindNextでもFindに置き換えたとしても、
1個づつしか見つけられないから、Do〜Loop文等でアドレスを比較し、
一致するかしないかで終端を作るということですね。
0466デフォルトの名無しさん
2016/06/03(金) 07:35:43.26ID:JncqPXc2コレクションかディクショナリにタスク名をキーにして、作業情報を登録しておけば良いんじゃなかろか。
キーが登録されていないタスクは行われていないし、作業情報も
配列かコレクションかディクショナリにして登録するようにしておいて、複数データがあれば重複だし、
後で複数の重複があった場合、それも検知出来るし詳細な情報も残しておくことが出来る。
0467デフォルトの名無しさん
2016/06/03(金) 08:12:34.05ID:+ITo/Rr70468デフォルトの名無しさん
2016/06/03(金) 13:15:16.45ID:n9h4VBSLが入って時刻が出ています。
セルB1に3分たったら+1ずつ足して行くVBAをお願いします。
0469デフォルトの名無しさん
2016/06/03(金) 13:21:15.51ID:3+Y90JKR質問内容は?
0470デフォルトの名無しさん
2016/06/03(金) 14:11:58.99ID:fD9s4V2qApplication.Calculate
End Sub
0471468
2016/06/03(金) 15:31:38.25ID:9vEli6cv要は3分たったら1、
次に3分たったら2、
次に3分たったら3、
次に3分たったら4
とセルB1に加算されてゆくVBAを知りたいのです。
分かりにくくてすみません!
0472デフォルトの名無しさん
2016/06/03(金) 15:46:55.67ID:Ggdm0BoUexcel vba timerとかでググれ
ググりかたは知ってよな
0473デフォルトの名無しさん
2016/06/03(金) 16:57:20.17ID:fD9s4V2q0474デフォルトの名無しさん
2016/06/03(金) 21:58:12.97ID:JncqPXc2本当にその要件なら>>473でこと足りるとは思うけど
タイマーによるイベント処理を行いたい訳ではないよね。
そうだとしたらVB6と違ってタイマコントロールはないからAPIを使うことになる。
時間を計ってぐーるぐる回して時間になったら処理をするという手もあるけど、
イベント使った方が何かカッコいい気がするし、
ゲームとか作るとき処理が終わりきれていないと
次のイベントを待つので「ああ、処理落ちだ」って昔のゲームみたいに
趣きのあるものが作れる
0475デフォルトの名無しさん
2016/06/04(土) 00:43:24.42ID:x9jX4yjuそれはVBAじゃない
0476デフォルトの名無しさん
2016/06/04(土) 06:34:18.01ID:w3l9f/tm0477デフォルトの名無しさん
2016/06/04(土) 13:41:41.17ID:XvYHrNjs0478デフォルトの名無しさん
2016/06/04(土) 13:51:00.00ID:qmE4Ukk224*60*60/180
Excelでは1日を1で表す
180秒で1増える様に上の値を掛ける
0479デフォルトの名無しさん
2016/06/04(土) 18:51:18.35ID:Urj/a8QZどうでもいいけどこれ時刻の書式間違ってね?
"hh:mm:dd" → "hh:mm:ss"
0480デフォルトの名無しさん
2016/06/04(土) 19:36:59.18ID:rYWf1jQa0481デフォルトの名無しさん
2016/06/04(土) 21:10:02.67ID:laCcMYDZ用途があるなら便利じゃないの?
よくわからない質問だなあ…
0482デフォルトの名無しさん
2016/06/04(土) 22:25:12.69ID:rYWf1jQaごめんなさい。愚痴です
Obj.select(変換式).from(情報源).where(抽出条件).orderby(大小関係)
ってするべきなんだけど難しくて。
Obj.from(情報源).where(抽出条件).select(変換式).orderby(大小関係)
だったら処理する順通りだから何とかなるけど。
0483デフォルトの名無しさん
2016/06/04(土) 23:19:26.57ID:wPHlgGMmsql文て見づらくなる時もあるからこんなのもいいかもね
Dim SqlClass As CreateSql
Dim SqlList As String
Set SqlClass = New CreateSql
Call SqlClass.SqlSelect("テスト用テーブル")
Call SqlClass.SqlWhere("条件", "A")
Call SqlClass.SqlOrderD("条件B")
SqlList = SqlClass.SqlCode
0484デフォルトの名無しさん
2016/06/04(土) 23:44:25.98ID:6mTFRE/rSendKeys "{F2}"
SendKeys "+{up}"
SendKeys "^{c}"
SetCursorPos 1710, 910
' mouse_event 2
' mouse_event 4
セルを選択し、書き込みモード?の状態にしてから内容を全てコピーして
(セルから直接コピーだとペーストさせてくれないソフトを使ってます)
マウスを指定した座標に移動させそこでクリックした後ペースト
というマクロを作りたいのですが、処理が上手くいきません
上記のマウスをクリックさせる を含めないとコピーが上手くいくのですが
マウスをクリック を含めると内容をコピーしてくれてません
原因は分かりますか?
0485482
2016/06/05(日) 00:07:58.54ID:6XcU5txUそれって本当のSQLで、SQL文をどうやって作るかっていう問題に見える。
Obj.select(変換式:=2倍).from(情報源:=配列a).where(抽出条件:=100未満).orderby(大小関係:=昇順)
みたいなのを想定してます。
0486デフォルトの名無しさん
2016/06/05(日) 00:12:16.96ID:7g2ahIho0487デフォルトの名無しさん
2016/06/05(日) 00:18:38.66ID:O7He+r7Kクリップボードにデータ取り込みたいならSendKeysよりも
DataObject使った方が楽だと思うけど・・・
Dim d As New DataObject
d.SetText Range("A1").Value
d.PutInClipboard
クリップボードとデータのやりとりをする
https://www.moug.net/tech/exvba/0150091.html
0488デフォルトの名無しさん
2016/06/05(日) 00:29:18.79ID:BIV+QBMm楽でしたね
ありがとうございます!
0489デフォルトの名無しさん
2016/06/05(日) 01:27:52.16ID:pdmfsKhtこれは興味深いですね
Linqやラムダ式をExcelで表現出来たら是非教えてください。
0490デフォルトの名無しさん
2016/06/05(日) 08:08:49.61ID:iCXItJy9変更しても呼び出し元では変数の中身が元に
戻ってしまいいますがこれは何故でしょうか。
参照で渡せないのでしょうか。
0491デフォルトの名無しさん
2016/06/05(日) 08:45:52.53ID:26+uwwbzそんなことなった経験がない
ちょっとそのコードさらしてみてよ
0492デフォルトの名無しさん
2016/06/05(日) 09:01:09.75ID:VCr+WiRz普通に参照渡しで、呼び出し側の文字列も変わる
たぶん作ったコードがバグってる
0493デフォルトの名無しさん
2016/06/05(日) 09:33:07.41ID:6XcU5txUカッコ付けてない?
Sub changeString(ByRef s As String)
s = "changed"
End Sub
というSubを作って、
s1$ = "original"
changeString s1 ← カッコなし
?s1
changed ← 変わった
s1$ = "original"
changeString(s1) ← カッコあり
?s1
original ← 変わらず
0494デフォルトの名無しさん
2016/06/05(日) 09:56:32.90ID:iCXItJy9こういう感じで書いています。
Private Sub CommandButton1_Click()
Dim s as string
s = "a"
StringCheck(s)
End Sub
Function StringCheck(ByRef st As String)
if st = "a" then
st = "b"
end if
End Function
>>493
かっこをつけてました。
かっこをつけると駄目なんでしょうか?
Cではかっこあっても参照で渡せたような気がします。
0495デフォルトの名無しさん
2016/06/05(日) 10:02:00.58ID:VCr+WiRz以前議論した内容
(val)の参照が渡されるから
callをつければvalの参照が渡される
0496デフォルトの名無しさん
2016/06/05(日) 10:11:20.63ID:3QH2XO7hhttp://echo.2ch.net/test/read.cgi/tech/1455817784/356
勉強になった
0497デフォルトの名無しさん
2016/06/05(日) 10:18:15.27ID:iCXItJy9(val)で渡されてしまうとは予想外でした。
確かにかっこを取ると参照で渡せました。
callでも問題なく渡せました。
>491-495
皆さんありがとうございました!
>>496
前スレで話題にあげたばかりだったのですね。
見ておけばよかった・・・ すみません。
0498デフォルトの名無しさん
2016/06/05(日) 14:20:18.87ID:Uhyyv1sV便利ですか?
が質問じゃないのか
0499デフォルトの名無しさん
2016/06/05(日) 15:24:31.11ID:pdmfsKhtシートで1セルの範囲に"Hoge"という名前を付けると
VBA側でRange('Hoge").valueでセル値の内容を確認することが出来ますが、
処理実行中にこのコードに来る前に、他のBookがActiveになると、
このコードが実行されるときにエラーになります。
これはつまりExcel側がら名前を付けた範囲の情報がBookの情報を持っておらず、
シート情報からしか持っていない為に起こる事象だと思うんですが、
ThisWorkbook.Rangeというプロパティは存在しないので
ThisWorkbook.Range("Hoge").valueとも書けないですし、
このコード直前でThisWorkbook.Activateとしても結局は再現性の低いバグになるだけで、
根本的な解決にならないのは分かります。
名前付き範囲を使ったままで何か良い解決策はないでしょうか?
0500デフォルトの名無しさん
2016/06/05(日) 15:42:08.47ID:WJNSNmMN0501デフォルトの名無しさん
2016/06/05(日) 15:50:22.50ID:pdmfsKhtSheet1にそんな名前付き範囲はないって怒られました
0502デフォルトの名無しさん
2016/06/05(日) 15:54:11.18ID:3QH2XO7hThisWorkbook.Names("Hoge").RefersToRange
でRangeオブジェクトを取得するのはどう?
0503デフォルトの名無しさん
2016/06/05(日) 15:59:35.92ID:TevpUqb30504デフォルトの名無しさん
2016/06/05(日) 16:09:01.41ID:pdmfsKht取れました。ありがとうございます!
実は教えて頂く前に名前付き範囲からシート名とアドレスを取得して再構成して
読み出す方法で自己解決したのですが、教えて頂いた方がシンプルですね。
ありがたく使わせて頂きます。
他の方々もありがとうございました。
0505デフォルトの名無しさん
2016/06/06(月) 21:15:18.49ID:QZQfQuAS列挙型をPublicで指定すると、確かに外部から指定出来るようにはなるのですが、
他の関数やプロパティのようにモジュール名.列挙型で指定できないみたいです。
他のモジュールで同じ名前の列挙型を指定すると
かぶってしまうと思うのですが、
それはかぶらないように名前を付けるか、
或いは一つモジュールを用意してConstを
プロパティで引っ張るような方法しかないんでしょうか?
やたら一つのモジュールに区分なくConstを詰め込んで使いたくないし、
モジュールが都度増えて行くというのも分かり辛そうなので
何か良い方法があれば教えて頂けるとありがたいです。
0506デフォルトの名無しさん
2016/06/06(月) 21:45:31.54ID:Ly2klPtxいまのVBAはenumも使えるのか。初めて知った。
試してみたけど、
モジュール名.enum名.列挙子
でアクセスできたよ?
0507デフォルトの名無しさん
2016/06/07(火) 07:09:05.47ID:hS8RF9CRAndとかOrです
0508デフォルトの名無しさん
2016/06/07(火) 07:30:36.29ID:5Z2R8nagごめんなさい。出来ましたね。
インテリセンスが働かないので出来ないと思い込んでいました。
0509デフォルトの名無しさん
2016/06/07(火) 07:31:01.29ID:wxocoQF4使えるんじゃない?
使えない具体的な例は?
0510デフォルトの名無しさん
2016/06/07(火) 08:18:39.71ID:hS8RF9CR大人しくIf文とかと組み合わせます
0511デフォルトの名無しさん
2016/06/07(火) 08:31:37.46ID:HU9syj05Do While A And B
というコードは使えるけど?
0512デフォルトの名無しさん
2016/06/07(火) 08:33:21.12ID:WoNq4aYhVBAで、Do Until 〜 loopを使おうとしているのですが、条件式をDo Until Range... - Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q134632328
0513デフォルトの名無しさん
2016/06/07(火) 09:04:31.80ID:wxocoQF4条件のところを関数にすれば良いよ
0514デフォルトの名無しさん
2016/06/07(火) 09:27:12.79ID:TVhUeGo1条件式全体を括弧でくくったか、Andの前後の式を括弧でくくってないとかだろうけど、
いろいろ試しそうなものだ・・
0515デフォルトの名無しさん
2016/06/07(火) 10:56:27.79ID:hS8RF9CRAndがOrみたいな役割になるんですね知りませんでした
みなさんどうもでした
0516デフォルトの名無しさん
2016/06/07(火) 11:22:54.42ID:HU9syj05そうですAndがOrみたいな役割になるんです(白目
0517デフォルトの名無しさん
2016/06/07(火) 17:21:47.75ID:UOQYJ0iXAndの否定はOr
まあ、そういうことかと
0518デフォルトの名無しさん
2016/06/07(火) 17:27:43.53ID:sZzqt4Xnhttp://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_row_del.html
↑のサイトを見て勉強しているのですが、コード例1ではB列が0の行を
削除するようになっていますが、例えばBとCに数値があり、B×Cが
100以上の場合に行を削除するようにするには
If Cells(i, 2).Value = 0 Then
をどのように書き換えればいいでしょうか。
0519デフォルトの名無しさん
2016/06/07(火) 17:59:50.27ID:sOD3zpDI↓
If (Cells(i, 2).Value) * (Cells(i, 3).Value) >= 100 Then
0520デフォルトの名無しさん
2016/06/07(火) 18:00:58.86ID:sOD3zpDI0521デフォルトの名無しさん
2016/06/07(火) 18:48:59.31ID:sZzqt4Xn実行した所、実行時エラー13が出てしまいました。
Bの数値に小数点があるのですが、関係ありますでしょうか。
B×CをDに表示させ(Dは小数点無し)、Dを参照させましたが、
同じエラーが出てしまいます。
0522デフォルトの名無しさん
2016/06/07(火) 19:02:38.77ID:HU9syj050523デフォルトの名無しさん
2016/06/07(火) 19:18:16.59ID:Ic9MVfcwhttp://officetanaka.net/excel/vba/error/execution_error/error_13.htm
0524デフォルトの名無しさん
2016/06/07(火) 19:27:44.96ID:HU9syj05>B×CをDに表示させ
この時点でDは数値型に間違いないだろう。それと100を比較して実行時エラー13になるとは・・・
はて?
0525デフォルトの名無しさん
2016/06/07(火) 19:58:48.10ID:xO/yIWhK書き込むより検索したほうが早くないか
型ノ]不一致
0526デフォルトの名無しさん
2016/06/07(火) 20:07:46.69ID:xO/yIWhKhttp://stamp-uploda.com/src/file2030.jpg
ならんが
ついでにBに50、Cに6.5としてCを文字列にしても自動で型変換行って乗算は行われた
ステップインで
If (Cells(i, 2).Value) * (Cells(i, 3).Value) >= 100 Then
まで進めて、イミディエイトウィンドウで
?Cells(i, 2).Value
と
?Cells(i, 3).Value
を見れば原因がわかると思う
0527デフォルトの名無しさん
2016/06/07(火) 20:12:54.80ID:wxocoQF40528デフォルトの名無しさん
2016/06/07(火) 21:33:26.82ID:sZzqt4Xnイミディエイトウィンドウで原因が分かりました。
すみません、お騒がせしました。
0529デフォルトの名無しさん
2016/06/07(火) 21:37:21.32ID:HU9syj05ごめんなさいスマホだとつい億劫で
0530デフォルトの名無しさん
2016/06/07(火) 21:38:15.15ID:HU9syj05で具体的に何?
0531デフォルトの名無しさん
2016/06/07(火) 21:54:06.30ID:xO/yIWhK答え教えて〜ちょっと気になる
0532デフォルトの名無しさん
2016/06/07(火) 22:02:37.05ID:oC37LPsM0533デフォルトの名無しさん
2016/06/08(水) 01:56:48.79ID:2INbON7TマクロA終了→マクロB起動なら上手くいくのですが
マクロAからマクロBを呼び出す だと失敗します
マクロAを一旦終了させてからBに繋げる方法はないでしょうか
0534デフォルトの名無しさん
2016/06/08(水) 02:11:49.12ID:bRA8ZG5u単なる自分のつまらない勘違いでした・・・
みなさんに時間取らせて申し訳なかったです
0535デフォルトの名無しさん
2016/06/08(水) 02:28:20.54ID:X5C6AThWそのあとマクロBをよんであげれば?
0536デフォルトの名無しさん
2016/06/08(水) 09:19:43.97ID:wPaWM/F4>マクロAを一旦終了させてからBに繋げる方法はないでしょうか
2行目に答えが・・
0537デフォルトの名無しさん
2016/06/08(水) 16:07:47.23ID:2INbON7TマクロCでAを呼んだあと続けてBも呼ぶと 全て含めて1つの処理 と見なされるみたいで
AからBを呼び出すのと変わらないです そうなると失敗してしまいます
>>536
一旦処理を終了する為にAの処理の終わりに 1秒後Bを呼び出す のタイマーをセットして
今は使用しているのですが、その1秒が惜しいです。0.1秒だと反応しないです。
タイムラグなしに処理を終わらせ再開する方法はないものかと質問させていただきました。
0538デフォルトの名無しさん
2016/06/08(水) 16:15:03.03ID:BHUiZVaK0539デフォルトの名無しさん
2016/06/08(水) 16:34:33.35ID:lKFv6c/RどこかのセルにAが動作中か終了かの状態を表示しておいて
Bでそのセルを見てAが終了するまでループして待機するとか
0540デフォルトの名無しさん
2016/06/08(水) 17:30:32.12ID:EJkZd8pqAPIとか使って代替した方がいいんじゃあ・・・
0541デフォルトの名無しさん
2016/06/08(水) 19:15:25.42ID:k2i9YcBT長めの文を入れて読ませると読み上げてる途中は他のExcel操作が全くできません。
これを防ぐ方法はありますか?
他言語でいう別スレッドで実行させたいのですが。
0542デフォルトの名無しさん
2016/06/08(水) 20:02:11.36ID:J4qccP96非同期にしたい処理をvbsに逃がすくらいしか・・・
0543デフォルトの名無しさん
2016/06/08(水) 20:08:46.59ID:J2Tk6QYUそれはキーの受け側の問題では?
高速なキー入力に反応出来てないんだと。
0544デフォルトの名無しさん
2016/06/08(水) 20:16:02.98ID:k2i9YcBTそれは具体的にはどうすればいいのでしょうか?
VBAのコードからvbsを使うことはできる?
0545デフォルトの名無しさん
2016/06/08(水) 20:27:54.30ID:P+TyVjZjちょっと調べたらSpeech APIなんてものがあるんだね。
面白そうだからトライしてみようかな
0546デフォルトの名無しさん
2016/06/08(水) 20:33:09.37ID:8NxCW7kQこんな感じとか?
--- exelSpeech.vbs (適当なフォルダにファイル保存)-----------------
Dim exelAp
If WScript.Arguments.Count Then
set exelAp = CreateObject("Excel.Application")
For Each arg In WScript.Arguments
exelAp.Speech.Speak arg
Next
End if
--- Excel側マクロ ---------------------------------------------
Sub test()
Call ExecVBS("d:\exelSpeech.vbs", "Hello", "Microsoft Speech ")
End Sub
Private Sub ExecVBS(strPath, ParamArray argv())
Dim strWS As String
strWS = "WScript.exe """ & strPath & """"
For Each arg In argv
strWS = strWS & " """ & arg & """"
Next
Call Shell(strWS)
End Sub
0547デフォルトの名無しさん
2016/06/08(水) 21:18:47.33ID:IzbVLKR1別プロセスでエクセル起動して使う
0548デフォルトの名無しさん
2016/06/08(水) 21:39:22.56ID:P+TyVjZjなぜダメなんだろう...
0549デフォルトの名無しさん
2016/06/08(水) 22:07:45.81ID:P+TyVjZj0550デフォルトの名無しさん
2016/06/08(水) 22:56:43.83ID:zzDG0CvJリアルスレ違い?
0551デフォルトの名無しさん
2016/06/08(水) 23:02:28.85ID:P+TyVjZjいや>>541の問題
出来たには出来たけどdllが必要になる
0552デフォルトの名無しさん
2016/06/09(木) 02:18:01.25ID:Y6zIWp2Zfor nextのループで空白セル削除すると上手くいかない
参照先のセルで条件判断しちゃうのだろうけど仕組みがイマイチ理解出来ないです...
0553デフォルトの名無しさん
2016/06/09(木) 09:49:57.32ID:usJpFq2/for関係なくない
どんなコードと数式書いてるの?
0554デフォルトの名無しさん
2016/06/09(木) 11:34:40.11ID:joa/BeB6dllが必要というのはわかったけど
ExcelのVBAのコードではなんの呪文を書けばいいのでしょうか?
0555デフォルトの名無しさん
2016/06/09(木) 17:07:47.74ID:CPZKJ0rVCall SpeakAPI("Hello World")
End Sub
Private Sub SpeakAPI(SpeakText)
Const SVSFlagsAsync = 1 '非同期
Set SpV = CreateObject("SAPI.SpVoice")
Call SpV.Speak(SpeakText, SVSFlagsAsync)
Do
DoEvents
Loop Until SpV.WaitUntilDone(10)
End Sub
0556デフォルトの名無しさん
2016/06/09(木) 18:18:21.44ID:/Mjso7pS0557デフォルトの名無しさん
2016/06/09(木) 19:16:56.26ID:5sPb0rLuWindow10だけど日本語話してくれたよ。
他の環境でも多分なんちゃら.msiをインスコすればOKなんじゃないだろうか。
0558デフォルトの名無しさん
2016/06/09(木) 19:28:33.86ID:/Mjso7pS0559デフォルトの名無しさん
2016/06/09(木) 19:45:23.02ID:5sPb0rLu読み終わるまでSub SpeakAPIから抜けないけどUIは受けるというわけか。
それでニーズは満たすのかもね。
>>558
7でもダメだった
0560デフォルトの名無しさん
2016/06/09(木) 22:14:03.49ID:Nw1jdtR1変数名とか入力値で検索する方法ってないですか?
深い階層に有ったりどの変数に目当ての値が入ってるか曖昧な時にいちいち開くの面倒です
0561デフォルトの名無しさん
2016/06/09(木) 23:00:19.61ID:WOvdLwlE永久ループが怖くて、
無理矢理For Nextを使う俺は小心者。
0562デフォルトの名無しさん
2016/06/09(木) 23:03:31.96ID:ehD8QNF8せっかく用意されてる命令をなぜ使わないの
0563デフォルトの名無しさん
2016/06/09(木) 23:31:40.65ID:usJpFq2/俺もそうだった。ただdoloopってエクセルで使う機会は少ないと思う。
大体はfornext、foreachで事足りる。
ゲームだとdoloopは死ぬほど使うけどね
0564デフォルトの名無しさん
2016/06/09(木) 23:47:41.71ID:zgYGqzoCいいやり方だと思うけど、Set SpV = CreateObject("SAPI.SpVoice")の
SpVって変数の寿命が尽きると読み上げも止まっちゃうみたいだね。
だから別の Sub や Function の中にその "SpeakAPI"を組み込んで使う場合は
Do〜Loop の間は待ちが発生する。
0565デフォルトの名無しさん
2016/06/09(木) 23:58:14.68ID:usJpFq2/そうすればエクセルと同期とか関係なしに再生できると思う
0566デフォルトの名無しさん
2016/06/10(金) 00:16:09.21ID:3rMMNq1l>ゲームだとdoloopは死ぬほど使うけどね
俺もそうだった
今はゲームではどちらもそうそう使わない
0567デフォルトの名無しさん
2016/06/10(金) 00:28:38.18ID:3rMMNq1l音楽ファイルならそんなことしなくてもsndPlaySoundやmciSendStringのAPIで行けると思う
0568555
2016/06/10(金) 03:53:33.12ID:WIrOC41uグローバル変数とかにすればLoop待ちせず完全に非同期に出来るみたいね
…ついでにクラスモジュール化してみた
--- 標準モジュール(テスト用)
Private clsSpv As New SpeechAPI
Sub test()
Call clsSpv.Speak("Hello World")
Call clsSpv.Speak("Speech API Test")
End Sub
--- クラスモジュール(SpeechAPI.cls)
Private Const SVSFlagsAsync = 1 '非同期
Private objSpV As Object
Private Sub Class_Initialize()
Set objSpV = CreateObject("SAPI.SpVoice")
End Sub
Private Sub Class_Terminate()
Call Me.WaitSpeak 'Speak終了前に破棄されそうな場合は待機
Set objSpV = Nothing
End Sub
Sub Speak(SpeakText)
Call objSpV.Speak(SpeakText, SVSFlagsAsync)
End Sub
Sub WaitSpeak()
Do
DoEvents
Loop Until objSpV.WaitUntilDone(10)
End Sub
0569デフォルトの名無しさん
2016/06/10(金) 12:15:48.39ID:EYLL7b//それだとデストラクタで、結局音声がなり終わるまで固まらない?
0570デフォルトの名無しさん
2016/06/10(金) 12:22:38.95ID:4oO9NPCl0571デフォルトの名無しさん
2016/06/10(金) 12:32:42.79ID:EYLL7b//いやいや、音声が 鳴ってる最中に次の処理に進める?
0572デフォルトの名無しさん
2016/06/10(金) 15:33:45.40ID:i706FGHyもしいまWindows7で日本語も対応させるにはどこにいってなにをインストールすればいいのでしょうか?
0573デフォルトの名無しさん
2016/06/10(金) 16:12:49.25ID:4oO9NPCl漢字もかなりこなれた感じで読み上げてくれるよ。
MSSpeach_SR_ja-JP_TELE.msi というものをダウンロードすればいいんだと思うけど...違ったらゴメン
0574デフォルトの名無しさん
2016/06/11(土) 01:47:26.20ID:02ogFup4OS添付のSAPI5じゃなくMicrosoft Speech Platformを使う方法でなら
Microsoft Speech Platform - Runtime (Version 11)
https://www.microsoft.com/en-us/download/details.aspx?id=27225
→ SpeechPlatformRuntime.msi をダウンロード
Microsoft Speech Platform - Runtime Languages (Version 11)
https://www.microsoft.com/en-us/download/details.aspx?id=27224
→ MSSpeech_TTS_ja-JP_Haruka.msi をダウンロード
上記インストールして、コードを以下のように書き換える
Set s = CreateObject("Speech.SpVoice")
s.Speak "helloこんにちは"
※ オブジェクトの仕様はSAPI.SpVoiceとほぼ同じっぽい
※ OS標準のSAPI5用の無料音声合成エンジンは見つけられなかった
Win8以降ならSAPIでも日本語対応しているっぽいけど…
0575デフォルトの名無しさん
2016/06/11(土) 06:26:26.01ID:6cWsIMr7そうなんだ。
Win10だと CreateObject("SAPI.SpVoice") のままでOKなんで油断した。
0576デフォルトの名無しさん
2016/06/13(月) 09:25:34.07ID:8U53ckACAセルとBセルの組合せの重複をチェックしたいのですが、どうやれば良いですか。
今はC列に(C1=A1*21+B1)の作業域を設け、n行が更新されるたびに
If Application.CountIf (Range ("C1:C200"), Cells(n,3)) > 1
とやってますが、少しでも時間短縮を図りたいのです。
つまりわかりやすさよりもスピード重視でお願いしますm(_ _)m
0577デフォルトの名無しさん
2016/06/13(月) 10:22:42.66ID:wX9Pf1Mm0578デフォルトの名無しさん
2016/06/13(月) 12:00:42.36ID:+URgB/tG数字の更新はどうやってるの?WEBクエリ?
頻繁の間隔は具体的にどれぐらい?1分置き?
チェックの結果は人間が目視するだけ?VBAか何かで利用?
0579デフォルトの名無しさん
2016/06/13(月) 12:46:55.80ID:8U53ckACありがとうございます!
フィルターオプション&重複でググって解決しました。
初心者故おかしいかも知れませんが、これで求めるチェックができました。
お陰で、作業域(演算)の分かなりのスピードアップが図れそうです。
Range("a1:b9").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
x = WorksheetFunction.Subtotal(3, Range("a1:a9"))
Range("a1:b9").AdvancedFilter Action:=xlFilterInPlace, Unique:=False
y = WorksheetFunction.Subtotal(3, Range("a1:a9"))
MsgBox y - x
0580デフォルトの名無しさん
2016/06/13(月) 12:56:12.13ID:8U53ckAC求める組合せをループ(バックトラック法)かけて延々と調べるものです。
具体的には4列(A-D)あって、次の4条件のしばりがあります。
A<>C
B<>D
A&B C&D 重複無し
A&D C&B 重複無し
力技で判定していたので、長時間かかって終わりそうになかったもので・・
0581デフォルトの名無しさん
2016/06/13(月) 13:01:37.02ID:8U53ckACAn <> Bn
A&B 組合せ重複無し
Cn <> Dn
C&D 組合せ重複無し
A&B C&D 組合せ重複無し
A&D C&B 組合せ重複無し
0582デフォルトの名無しさん
2016/06/13(月) 13:05:35.50ID:8U53ckACAn <> Cn
A&C 組合せ重複無し
Bn <> Dn
B&D 組合せ重複無し
A&B C&D 組合せ重複無し
A&D C&B 組合せ重複無し
0583デフォルトの名無しさん
2016/06/14(火) 18:25:29.30ID:Z8NdG2eJマクロ使って画像みたいに並べるにはどうすればいいですか?
http://i.imgur.com/v4EXpRy.png
0584デフォルトの名無しさん
2016/06/14(火) 18:32:15.29ID:4vHs6V7m結構めんどくさい。ファイルアップロードしてほしい
コードでは
・結合を解除。しなくていいかもしれない
・数字以外だったらアルファベット「A」を取得。
・A1〜A列最終行までfornextループ。右に書き出していく
・D列以降も同じように処理
って感じだと思う
0585デフォルトの名無しさん
2016/06/14(火) 18:38:15.24ID:9fCSALMIあははは、うちの会社にも画像左みたいな意味不明のデータを作ってドヤ顔するウルトラバカがいるぞww
「データっつうのは一行単位じゃなきゃ使い回しが効かないだろ!」って何度か言ったがバカだから聞く耳を持たん。
0586デフォルトの名無しさん
2016/06/14(火) 18:39:33.60ID:4vHs6V7mそれもかっこ悪い
正規化とか言葉はちゃんと覚えよう
0587デフォルトの名無しさん
2016/06/14(火) 18:41:50.36ID:wwwgAdKUA列を上から下に見ていって
数字だったら3列コピーする
別に配列とかDictionaryとかで
1からA
2からB
4からC
12からD
など、設定しておく
数字を見てABCDなどを選択する
0588デフォルトの名無しさん
2016/06/14(火) 18:43:13.12ID:wwwgAdKURDB用語を使っても知らない人には伝わらない
0589デフォルトの名無しさん
2016/06/14(火) 19:15:10.20ID:e7Hp4H4t0590デフォルトの名無しさん
2016/06/14(火) 19:19:40.65ID:e7Hp4H4t「モデルを軽視しビューばかり気にする馬鹿」とでも呼べばいいだろうか。
0591デフォルトの名無しさん
2016/06/14(火) 19:45:19.02ID:V0YHD+Capass=vba
http://up2.karinto.in/uploader/download/1465901074.zip
0592デフォルトの名無しさん
2016/06/14(火) 20:54:15.20ID:hZWdJI0J0593デフォルトの名無しさん
2016/06/14(火) 21:18:53.56ID:lCHHR3y2データの取り扱いと保存方法についてはしっかりと勉強させるべき。
0594デフォルトの名無しさん
2016/06/14(火) 21:52:42.76ID:8twB5jbW0595デフォルトの名無しさん
2016/06/14(火) 23:43:30.88ID:OpO/Jdo0出すんだけど、そのときにいつも決まったフォルダ(ネットワーク上の
共有フォルダ)を開くのには、どうすればいいでしょう。
Application.DefaultFilePath = "\\hoge\foo"
としてみたけど直前にexelでファイルを読み書きしたフォルダを
開く様子。
0596デフォルトの名無しさん
2016/06/14(火) 23:58:37.04ID:4eYpAyq0ワロタ。
うちの会社にもいるわ。
表より、制作者の頭直したほうがいいレベル。
0597デフォルトの名無しさん
2016/06/15(水) 00:22:05.37ID:HtC2zyr/カレントフォルダを変更しないといけない
普通は ChDriveステートメント & ChDirステートメント でやるけれど
ドライブ文字が割り当てていない ネットワーク上の共有フォルダは これが使えない
ので
CreateObject("WScript.Shell").CurrentDirectory = "\\hoge\foo"
で変更してやるといい
0598デフォルトの名無しさん
2016/06/15(水) 02:03:31.53ID:6oIsBMjlExcel 2002以降なら FileDialog オブジェクトを使う方法もある
Sub file()
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "c:\windows\temp"
If .Show Then
Debug.Print .SelectedItems(1)
End If
End With
End Sub
0599デフォルトの名無しさん
2016/06/15(水) 08:27:46.14ID:+ULWh3fHExcelは何を持ってViewとするか難しいよな。
コードを組まなくてもシートだけでViewとModelを表現する場合もあるし、
VBAが絡むと「そのシートはView扱いなの?それともファイルみたいに扱えばいいの?」となる場合も少なくない。
0600デフォルトの名無しさん
2016/06/15(水) 11:58:06.33ID:zpa8LNX8あなたが神か…!
こんなにスリムなコードで出来たんですね
因みに何ですが、アルファベットのみたいにSheet1の表のひらがなのセルが塗りつぶしされてる時にそれをSheet2でも適用させるにはどういうコードを書けばいいんでしょうか?
>>585、>>596
いつもこの表作ってるのは俺じゃないんだ…
これ本当は同じシートにもっといろんな表があるんだけど、A4一枚に収まるように見栄えよくしてるんだと思う
0601デフォルトの名無しさん
2016/06/15(水) 12:36:00.33ID:e1ybzWx3元データもらえばいいのに
0602デフォルトの名無しさん
2016/06/15(水) 13:32:16.02ID:RQgSJKk0確かに。
>>600
シート1の色を取得したいセル.Interior.Color で取得しておいて、
シート2の色付けしたいセル.Interior.Color で色付けするとか。
0603585
2016/06/15(水) 18:15:38.34ID:5Km9WBBK>いつもこの表作ってるのは俺じゃないんだ…
>これ本当は同じシートにもっといろんな表があるんだけど、A4一枚に収まるように見栄えよくしてるんだと思う
分かってますよ。あなたを煽っているわけじゃないから気を悪くしないでね。俺はIT音痴なヤツばっか生息している会社勤めで
ランダムレイアウトデータに日々苦しめられているのでつい書いてしまった
0604デフォルトの名無しさん
2016/06/15(水) 19:46:00.51ID:RQgSJKk0そういう表を作る人が、VBAスレに来るわけないもんな。
0605デフォルトの名無しさん
2016/06/15(水) 20:05:56.04ID:wPVjVaLz>>598
ありがとう。バージョンは2007です。試してみます。
0606デフォルトの名無しさん
2016/06/15(水) 20:37:33.45ID:+80x4U05でも自動化すると仕事がなくなってクビになる人が出てくるし、難しい世の中だわ
0607デフォルトの名無しさん
2016/06/15(水) 20:41:38.66ID:JJliNqABs2.Cells(r2, 4).Interior.Color = c.Offset(0, 2).Interior.Color
0608デフォルトの名無しさん
2016/06/16(木) 12:21:47.47ID:z0gRpvpUたまたまDBの様にも使えるというだけで基本はあくまでドキュメント作成ソフトだぞ
0609デフォルトの名無しさん
2016/06/16(木) 12:22:31.90ID:YejbenNI0610デフォルトの名無しさん
2016/06/16(木) 12:28:49.09ID:73wTZmpjdbはAccess
GUIはExcel
これでシステム構築した方がいい
java使うメリットなんてないが使いたいならどうぞ
word()
0611デフォルトの名無しさん
2016/06/16(木) 12:38:28.51ID:q2sS4t3V異才発見
0612デフォルトの名無しさん
2016/06/16(木) 12:38:35.50ID:rAlZkMmbEXCELのfindメソッド使って座標を取得して
その周辺のセルの結合状態調べる処理とか作ったが
やっぱランダムレイアウト作る奴の思考回路は謎過ぎるわ
なぜそれでいいと思ったのか
0613デフォルトの名無しさん
2016/06/16(木) 12:46:12.56ID:wS4QfEJ1殆どの人は細かいことなんて考えてないだろうし
0614デフォルトの名無しさん
2016/06/16(木) 12:48:50.53ID:9J5fQDO0コンピュータで処理する事より
人間(自分)が見易いレイアウトにしてる
もしくは上司がそうしろと言う
0615デフォルトの名無しさん
2016/06/16(木) 12:52:07.68ID:z0gRpvpUプレゼン資料なんて見た目が全てなんだがな
0616デフォルトの名無しさん
2016/06/16(木) 12:53:23.18ID:z0gRpvpUそれが正解
DBが必要ならDB使え
0617デフォルトの名無しさん
2016/06/16(木) 13:05:29.06ID:9J5fQDO0そういう上司や見た目重視の人はDBなんて知らない
見た目重視のデータで作業は他の人に押し付ける
自分の仕事なのに
0618デフォルトの名無しさん
2016/06/16(木) 16:04:06.46ID:by4f3/2N彼等は紙媒体での使い方しか知らないから仕方無いと諦めてる
0619デフォルトの名無しさん
2016/06/16(木) 19:46:10.39ID:R+yX9JZZパスワードで改変防止もできるし
ビューは使いやすいし
0620デフォルトの名無しさん
2016/06/16(木) 20:13:06.79ID:lzPGCcDMって渡したら謎レイアウトにされたことある。
シート保護すべきだったと後悔
0621デフォルトの名無しさん
2016/06/16(木) 20:32:10.43ID:Lrz7vPJw0622デフォルトの名無しさん
2016/06/16(木) 20:32:13.19ID:25qEXxzA使える件
0623デフォルトの名無しさん
2016/06/16(木) 20:34:41.74ID:e7Ja7VI3異才どころかうちの会社にはごろごろいるぞ
ひどい奴はメール本文と同じ内容を Excel に貼り付けて添付してるとか
もう意味わからん w
0624デフォルトの名無しさん
2016/06/16(木) 20:46:00.25ID:kyzxcnkb0625デフォルトの名無しさん
2016/06/16(木) 20:59:48.69ID:acyUZOOZセル結合するなはなしで。
0626デフォルトの名無しさん
2016/06/16(木) 21:07:17.73ID:r7pa0lal0627デフォルトの名無しさん
2016/06/16(木) 21:38:01.20ID:JOmdLZoV0628デフォルトの名無しさん
2016/06/16(木) 21:58:43.49ID:yULI4C1vごちゃごちゃした表を作りたい側からすれば必要なんだろうよ
0629デフォルトの名無しさん
2016/06/16(木) 22:34:35.41ID:/BKKS23Eしっかり仕事しろや僕ちゃん達
0630デフォルトの名無しさん
2016/06/16(木) 22:54:45.53ID:EpEOLr57広義のソフトウェアにはハードウェア以外の全てが含まれるんやで
マニュアルとかな
0631デフォルトの名無しさん
2016/06/16(木) 23:18:24.00ID:Fh8G5flwエクセルはお絵かきソフトですが。
0632デフォルトの名無しさん
2016/06/16(木) 23:38:00.05ID:UZ0NxguP次回のメジャーチェンジのときは本気で
VBA.NetとかC#Aとかになるかも知れんね。
0633デフォルトの名無しさん
2016/06/16(木) 23:43:21.25ID:SaEW/WbJ0634デフォルトの名無しさん
2016/06/16(木) 23:59:16.51ID:+3Mnd4Ftc#なりjavascriptでVBA並にコードかけるようにして欲しいのう
VSTAではなく
0635デフォルトの名無しさん
2016/06/17(金) 00:08:04.83ID:D8ioveLA0636デフォルトの名無しさん
2016/06/17(金) 00:12:56.72ID:fZ1pqYPvドキュメントは一太郎が最強だよ
オレなんか今でも一太郎12をだましだまし使ってる
ATOK含めwin10で使えた時は歓喜の雄叫びをあげたわ
0637デフォルトの名無しさん
2016/06/17(金) 00:21:03.61ID:+XPFuyoA0638デフォルトの名無しさん
2016/06/17(金) 05:38:19.50ID:7+eHqEpfxlsxをzipに変えて圧縮展開したら中身はXMLだったはず
DOMとかSAXで操作できる
0639デフォルトの名無しさん
2016/06/17(金) 06:44:36.61ID:TQ7oR46sドキュメントって文字だけじゃなくて図表とかも含むんだよ
0640デフォルトの名無しさん
2016/06/17(金) 07:36:05.18ID:IsEzxZDcドキュメントであるならwordを使うべき
excelは表計算する為のツールだと何度言えば(ry
アホではwordを使いこなせないし
直感的に出来ないのは分かるが
どうしてもexcelで作りたいなら
excelをwordに埋め込むなりリンク貼り付けすべき
0641デフォルトの名無しさん
2016/06/17(金) 08:58:37.01ID:U+AOa7Cs多分もうワードが標準になることはないと思う
エクセル文書は広まりきってしまった
0642デフォルトの名無しさん
2016/06/17(金) 09:12:40.06ID:l0Z4bZuIこれがMSのコンセプトだと思うが
現実は非情
0643デフォルトの名無しさん
2016/06/17(金) 09:53:31.11ID:sAvpxS6NExcel方眼紙でセル結合したくなったとき
既存の列の幅は決まってるから新規の結合セルの幅も定数といして限定されてるはずだけど
そんなときExcel方眼紙愛好者はどうしてるの?
0644デフォルトの名無しさん
2016/06/17(金) 10:20:19.41ID:eCqNB94c自業自得だ
0645デフォルトの名無しさん
2016/06/17(金) 11:58:11.65ID:qv7ayA9h最初にシート全体を選択して全部の列の幅を1にしてから作業を始めるんだよ
だから方眼紙と言われてる
0646デフォルトの名無しさん
2016/06/17(金) 12:03:59.44ID:Jw6Vo/h3縦横でサイズスケール違うよな
正確な正方形にする方法あるのか?
その辺はアバウトなんだろうが
0647デフォルトの名無しさん
2016/06/17(金) 12:17:36.97ID:3e16czfu正方形w
0648デフォルトの名無しさん
2016/06/17(金) 12:19:03.31ID:1KfIG+A8画面上で正方形にしても印刷するとズレるし、縦長の方がきめ細かい表が作りやすいとか色々ある
0649デフォルトの名無しさん
2016/06/17(金) 12:21:35.03ID:ToEAATWKそんなもん好きにしろよ
お前は一から十まで教わった通りにしか出来んのかw
0650デフォルトの名無しさん
2016/06/17(金) 12:21:48.50ID:deEjLyQb0651デフォルトの名無しさん
2016/06/17(金) 12:22:52.27ID:U+AOa7Csずれるんだな、これが
0652デフォルトの名無しさん
2016/06/17(金) 12:31:22.93ID:Q7mFcet+それはテンプレートの統一性が当然と言うデータを扱う人の発想だな
方眼紙使いはデータとして使う事を考慮してないから、例えば発注書でも形に合わせたテンプレートもどきをその数だけ作るんだよ
0653デフォルトの名無しさん
2016/06/17(金) 13:12:01.79ID:Yteqqpsz0654デフォルトの名無しさん
2016/06/17(金) 13:33:39.44ID:U+AOa7Cs・・・と思ってたけど俺が甘いのか?
本当に正方形にするの?なんだったら1mm間隔にしてから痕で結合して使ったりするの?
0655デフォルトの名無しさん
2016/06/17(金) 14:15:41.36ID:egnJxC/Wなんか別の作業で労力使い果たしているようなドキュメが多い。
0656デフォルトの名無しさん
2016/06/17(金) 14:22:36.95ID:eCqNB94c入力にするやつは死刑だ
0657デフォルトの名無しさん
2016/06/17(金) 14:29:39.84ID:U+AOa7Cs0658デフォルトの名無しさん
2016/06/17(金) 17:04:04.89ID:7FeJ02cw0659デフォルトの名無しさん
2016/06/17(金) 17:13:00.47ID:qv7ayA9h日本だけじゃない
地球の人類が半分になる
0660デフォルトの名無しさん
2016/06/17(金) 19:13:16.65ID:Sh+IdTolコンピュータを持ってるのは一人か二人らしいぞ
0661デフォルトの名無しさん
2016/06/17(金) 19:23:39.59ID:TQ7oR46sそう思うならMSに働きかけてもっとワードをまともにしろよ
せめて図の使い勝手を Excel と同等にしろ
0662デフォルトの名無しさん
2016/06/17(金) 19:38:16.87ID:Yteqqpsz0663デフォルトの名無しさん
2016/06/17(金) 19:42:20.45ID:pIK+r2cN表計算はドキュメントだと何度言えば(ry
バカ丸出しやねw
0664デフォルトの名無しさん
2016/06/17(金) 19:44:17.13ID:Yteqqpsz0665デフォルトの名無しさん
2016/06/17(金) 19:52:44.81ID:l8TNEkGu文書 documents
表 table
計算 calculation
0666デフォルトの名無しさん
2016/06/17(金) 19:57:21.67ID:U+AOa7Csヒントって説明能力がない人が使う言葉や
0667デフォルトの名無しさん
2016/06/17(金) 20:05:30.88ID:D8ioveLAデータ管理できるし、
計算できるし最強じゃね。
0668デフォルトの名無しさん
2016/06/17(金) 20:05:45.47ID:1KfIG+A80669デフォルトの名無しさん
2016/06/17(金) 20:10:04.74ID:HclZ/bT10670デフォルトの名無しさん
2016/06/17(金) 20:23:21.62ID:Yteqqpszあれ、だれにとってカレントなんだよといつも悩む。
コンピュータが思ってるカレントと意見の食い違いで
何度シートをまっさらにしちまった事か。
0671デフォルトの名無しさん
2016/06/17(金) 20:26:59.31ID:xj9JzTt2ExcelやAccessのVBAコードを解析して勝手にマニュアル作ってくれるパワーポイント用マクロとかねぇかな。
ところで「こういうファイルを」「こういう形式にまとめたい」みたいな要望だけ聞いて、
UIから処理から全部作った上に「新たにこういう機能も欲しい」と言われて拡張も行う上、
マニュアルまで作らされる仕事ってシステムエンジニアって言ってもいいよね?
0672デフォルトの名無しさん
2016/06/17(金) 20:30:46.08ID:+XPFuyoA0673デフォルトの名無しさん
2016/06/17(金) 20:35:43.57ID:U+AOa7Csカレントは昔の名残なんだよな。そして、それが解消されることはまずない
諦めてthisworkbook.pathを使おう
>>671
vbaだとちょっとしょぼい気もするけど、一応SEだな。社内SEだ
ただどうせならC#.netで何かアプリケーション作るぐらいはできていたほうが良いと思う(ファイルの一括リネームとかの単純なものでも)
0674デフォルトの名無しさん
2016/06/17(金) 20:36:30.86ID:U+AOa7Cswordだとテキストボックスを多用するけど、エクセルでもテキストボックスって使うもんだろうか?
俺は方眼紙はなのでほとんど使ったことがないけど
0675デフォルトの名無しさん
2016/06/17(金) 20:38:22.90ID:gHlaiRvPセルの幅の単位は標準フォントの1文字文の幅
高さはポイント
これをそれぞれピクセルに換算したときに同じ数値になるように設定すると正方形になる。
以上。
0676デフォルトの名無しさん
2016/06/17(金) 21:03:40.77ID:xVA7CYsRシステムってそういうのでは無いと思う
レジと在庫管理と仕入と売上と企画開発とかのシステムを連携させるとか
ウェブサイトを公開するために負荷分散とかルータとかサーバとかを選定したり設定したりするんじゃね?
0677デフォルトの名無しさん
2016/06/17(金) 21:10:00.57ID:l8TNEkGuカレントなんてshell作ってdosに投げる時ぐらいでしか意識しないなぁ
.pathで分かるし
0678デフォルトの名無しさん
2016/06/17(金) 21:18:59.54ID:7FeJ02cw0679デフォルトの名無しさん
2016/06/17(金) 21:26:14.51ID:xj9JzTt2必要に応じてJScriptも使うし、個人的にAndroidアプリも作ってるし、
元々はC++で馴らしているし、マイクラでLua使って風車型ブランチマイニング(レジューム機能付き)マクロとか作ったし。
今度「今の業務はSEに当たるんで月給50万円にアップしてください」って交渉するわ。
>>676
それはデータベースエンジニアとネットワークエンジニアだな。
「システムを連動」って言っているように、連動させる元になるシステムを作るのがシステムエンジニアやで。
0680デフォルトの名無しさん
2016/06/17(金) 21:29:10.95ID:xVA7CYsR全体はシステムじゃ無い?
プロジェクトを技術的にまとめるSEがいるんじゃね?
プログラマとの違いは?
0681デフォルトの名無しさん
2016/06/17(金) 21:36:33.95ID:l8TNEkGuカレントブックってのはまぁ言いたいことは分かるが
他はアクティブって表現するやろ
0682デフォルトの名無しさん
2016/06/17(金) 21:45:48.60ID:xj9JzTt2システムっていうのは目的単位で数えるものだから、何をシステムと呼ぶかは目的次第。
POSと在庫と入出庫はそれぞれでシステムだし、これを連携させようってシステムも別に存在する事になる。
プロジェクトって言っても大小様々で、プロジェクト単位でシステムエンジニアはいるだろうけど、
どの程度の案件抱えてるかっつったら会社に依るだろう。
プログラマっていうのはスキルに対して言い、システムエンジニアってのは役割に対して言う。
SEはすべからくプログラマ足るべきなんだけど、SEを抱えるって事はシステムに詳しくないって事だから、
(既存の業務と同じように)SIとSEとPGは分業出来る上に、運用次第で属人的にならずに済むと考えてしまって、
結果として詐欺と言うのがふさわしい様なSEが横行してしまっているのも事実。
っていうネットの受け売り。
0683デフォルトの名無しさん
2016/06/17(金) 21:51:07.55ID:qv7ayA9h画面上では最小単位が1ピクセルの整数倍に丸められる
紙は解像度がずっと高いし罫線の太さも違うから表を作って印刷するとどんどんズレていく
0684デフォルトの名無しさん
2016/06/17(金) 22:30:32.58ID:7+eHqEpf小規模担当SEとか大規模担当SEとか
初心者SEとかベテランSEとかヤブSEとか名SEとか
色々形容詞が付くんだな
0685デフォルトの名無しさん
2016/06/17(金) 23:11:28.50ID:Yteqqpsz0686デフォルトの名無しさん
2016/06/17(金) 23:15:55.95ID:deEjLyQb0687デフォルトの名無しさん
2016/06/17(金) 23:32:05.99ID:b4nAYmeIそうなんだ
0688デフォルトの名無しさん
2016/06/17(金) 23:55:03.09ID:Exn4yetNカレントリージョンは?
0689デフォルトの名無しさん
2016/06/18(土) 01:11:16.15ID:kMT9Jw+Y何と!!
俺は、たまたまエクセルの様にも使えるソフトだと思っていたぞ!!
0690デフォルトの名無しさん
2016/06/18(土) 02:31:35.49ID:NWKDWrs30691デフォルトの名無しさん
2016/06/18(土) 05:38:12.11ID:HXkFAbhjそれ確かに地味に不便なことがある
0692デフォルトの名無しさん
2016/06/18(土) 07:11:18.00ID:YZGqi88uカレントディレクトリの考え方は別におかしくないけど Excel はブックの読み書きをカレントディレクトリにやらないからなぁ
...
>>688
> カレントリージョンは?
使ったことないや
必要ない限り Active〜 も使わない
0693デフォルトの名無しさん
2016/06/18(土) 08:19:24.15ID:8hCP+IkXカレントリージョンを使った範囲指定なんて普通しないですし
0694デフォルトの名無しさん
2016/06/18(土) 08:34:52.90ID:8hCP+IkXその中で視覚的に配列やら表やら計算やらを処理出来る
しかもこのvmの大きさは可変
vbaで処理すると重いなら外部のbat,exeをキックすればいい
これで分散APも並列処理も出来る
画面描画の停止や更新も1行で出来るし
毎秒更新とかのリアルタイムシステムでなければ
EXCELでシステム構築するのが利口な気がする
方眼紙マニアにもよく馴染むだろうし
0695デフォルトの名無しさん
2016/06/18(土) 08:53:05.61ID:2u2TtX6Z長時間例えば5時間とか動くVBAを
複数動かせないと思うけど
VMだったらその上で複数プロセス動かざるし
VM自体も複数動かせる
VM事にストレージも別
0696デフォルトの名無しさん
2016/06/18(土) 09:41:36.73ID:AeBaATGOエクセルを介する必要性すらない。
各プロセスの結果をアクセスファイルに落とし込んで、
VBAで指定の形式に加工したエクセルファイルを吐き出すのが利口なんじゃないかな。
0697デフォルトの名無しさん
2016/06/18(土) 10:29:09.85ID:FygEViuu今後exeファイル一つでフォームを開くようにブックやシートが開ける時代が来るかも
0698デフォルトの名無しさん
2016/06/18(土) 10:31:31.43ID:x3DpRQaV0699デフォルトの名無しさん
2016/06/18(土) 11:41:48.99ID:kMT9Jw+Yさすがにないと思うな。
エクセルを開発ツールだと思う人が8割くらいにならないと。
0700デフォルトの名無しさん
2016/06/18(土) 12:48:54.81ID:wpNg6KZu自分で自分の首を締めとんのや
0701デフォルトの名無しさん
2016/06/18(土) 14:02:52.92ID:JKO8CZ1Z勝利したとしか聞こえない。
0702デフォルトの名無しさん
2016/06/18(土) 15:54:29.92ID:AeBaATGO0703デフォルトの名無しさん
2016/06/18(土) 18:18:13.52ID:Ch2sX2B1それがデスクトップアプリに落ちてくるのを希望
0704デフォルトの名無しさん
2016/06/18(土) 19:11:28.28ID:/tHdzm1o標準ライブラリってなにを指してる?
OSSライブラリは使っているが。
0705デフォルトの名無しさん
2016/06/18(土) 19:43:30.37ID:euI6F3wt帳票作成ツールじゃねえからこれ
0706デフォルトの名無しさん
2016/06/18(土) 19:57:21.80ID:jMW6Q+El0707デフォルトの名無しさん
2016/06/18(土) 21:24:02.26ID:1Sy/qR+CExcelのVBAなんて一つ一つの規模はたかが知れてるから
少しずつ手の付けられるところから着手されると思うけど、そうした場合には
すぐにでもってことになると思うけど。
ただ、稀に数百行にわたる関数とか、数千行にわたるモジュールとかキチガイじみた奴を見かけるけど、
更にそういう中で大基の構成から既にイカれているようなのには
絶対改修作業に当たりたくないな。
0708デフォルトの名無しさん
2016/06/18(土) 21:56:20.02ID:AeBaATGOいや、今でさえOffice 2007が入ってる会社があるんだから、
もしOffice 2018とかで.NETになったとしても、Office 2018自体が会社で採用されるのが2028年前後になるだろって話。
0709デフォルトの名無しさん
2016/06/18(土) 21:59:05.34ID:2u2TtX6ZMicrosoftのサポートが切れるタイミングで出来るだけ新しいのになるんじゃね?
0710デフォルトの名無しさん
2016/06/18(土) 23:06:42.88ID:kMT9Jw+Yエクセルなんてものがあるから、
素人が作る変な表が横行するのか。
敷居が低すぎて、何でも作れるから、
何でもありになってしまう。
0711デフォルトの名無しさん
2016/06/18(土) 23:12:56.05ID:HXkFAbhj0712デフォルトの名無しさん
2016/06/18(土) 23:32:10.72ID:RY58SNRu0713デフォルトの名無しさん
2016/06/18(土) 23:36:01.21ID:1Sy/qR+C確かにそういう考え方も有るかも知れんけど、
その敷居の低さによって受けた恩恵も少なくないんじゃなかろうか。
それに「たられば」を語ったらきりがないぞ。
0714デフォルトの名無しさん
2016/06/18(土) 23:46:56.91ID:marn/lv90715デフォルトの名無しさん
2016/06/19(日) 00:34:12.83ID:PhBjLvDR少なくとも俺はプレゼン資料とか作らされてるぞ。
分析用のマクロ組んだら、出来あがった表にも詳しいだろうからって理由で作らされてるぞ。
>>713
働いていて一番思うのは「越えるべきハードルを低くしても何も良いことは起きない」って事だな。
無能が潜在化して重要な場面で露呈する。重要なのはハードルを越える能力であって、ハードルを越える事ではない。
0716デフォルトの名無しさん
2016/06/19(日) 00:41:05.15ID:Z7Y1KPNQハードルの置き場所が適切なのかどうかだ
0717デフォルトの名無しさん
2016/06/19(日) 01:08:12.15ID:vKpzel9E0718デフォルトの名無しさん
2016/06/19(日) 03:49:01.26ID:Jey56dpp完全にシステムと呼ぶにふさわしいレベルのやつ
こういうのがひとつのエクセルで動いてるの見ると感動する反面さっさと抜け出したい気持ちが湧く
0719デフォルトの名無しさん
2016/06/19(日) 04:09:43.10ID:qVPAyFPIロックかかっててソースは見れなかったけど、複雑な条件設定から印刷までカバーしてて
処理内容から見て軽く1万行は超えてるはず
0720デフォルトの名無しさん
2016/06/19(日) 09:26:50.25ID:NZMKMoV3ツール、参照設定で開くとチェックが入ってるものです
多分4つ
0721デフォルトの名無しさん
2016/06/19(日) 09:49:52.82ID:FZwnNmARハードルが低ければ質が悪くなるし
ハードルが高ければ超えられない者が増える。何だってそう。
VBAやってる人がC#とかやろうとするとかなりの人がついて来れなくなるのと一緒。
ではそんな連中は必要無いのかと言われればどうなんだろうな。
0722デフォルトの名無しさん
2016/06/19(日) 10:21:50.36ID:PhBjLvDR何か一つ言語やってて、他の言語やろうとするとついてこれなくなるって、それは無能が露呈してるだけだろ。
その手のは大抵、ネット上からコードをコピーしてくるのが当然の行為と思っていて自分では一から組めないんじゃないか。
高級言語は性質的に環境に強く依存する上、時代の流れによって流行り廃りが出るし、
オブジェクト指向に至ってはハッキリと断層が発生するから、誰かの作ったルールを学び続けなきゃならん。
短い訓練期間で高い生産性を確保できるけど、それだけだと基礎がない分、不安定である事を自覚してないと危険だろうな。
0723デフォルトの名無しさん
2016/06/19(日) 11:22:07.22ID:gfPWR5HkCOBOLにせよvbにせよ
短期的なメリットばかり追い求めて今地獄を見てるわけだろ
腐った言語は現場も会社も腐らせる
日本全体でそういう事があって国際的な競争力もかなり落ちてる
0724デフォルトの名無しさん
2016/06/19(日) 11:31:55.98ID:Pvc+naRUExcel って日本製じゃないぞ w
0725デフォルトの名無しさん
2016/06/19(日) 11:32:44.02ID:Z7Y1KPNQ0726デフォルトの名無しさん
2016/06/19(日) 11:43:23.39ID:PhBjLvDR0727デフォルトの名無しさん
2016/06/19(日) 11:56:20.24ID:CQK/Xnluバカ発見
0728デフォルトの名無しさん
2016/06/19(日) 12:24:46.90ID:gfPWR5Hk全部がそうではないが言語の影響は大きいよ
腐ったやり方にうまくマッチする言語は腐った現場を育てる
腐った現場は腐った人材を育てる
腐った人材は腐った会社を育てる
腐った会社が集まれば腐った業界が出来る
腐った業界に最重要インフラを任せる国家もまた腐っていく
0729デフォルトの名無しさん
2016/06/19(日) 12:30:20.82ID:NZMKMoV3vb.netとか全然違う書き方になってるのになんでvbaは進化しないんだ
0730デフォルトの名無しさん
2016/06/19(日) 12:32:12.78ID:Z7Y1KPNQ> オブジェクト指向に至ってはハッキリと断層が発生するから、
これは、どういう意味だろう?
0731デフォルトの名無しさん
2016/06/19(日) 12:36:40.42ID:uv8G3TjlいやCOBOLは今でも現役だよ。
最近は意識高い系がおおくて覚えたがらないけど、
言語仕様がシンプルで誰が作ってもほぼ均一のステップ数と性能になるから見積もりやすかった。
この「誰が作っても」ってのが結構重要で、JavaとかSQLとかコーダーの能力で処理能力が100倍違うとかざらだからね。
不良プロジェクトが多発している要因の一つでもある。
0732デフォルトの名無しさん
2016/06/19(日) 13:08:05.62ID:oY7TlxuV0733デフォルトの名無しさん
2016/06/19(日) 16:07:23.57ID:FZwnNmAR無能が露呈しているというのはそうなのかも知れない。
俺もそんなに頭が良い方ではないので、
昔のBASICやアセンブラからCやVBAみたいな構造化言語に移行した時はそこそこ苦労したし、
VB.NetやC#のようなObject指向言語に移った時は凄く苦労した。
未だ関数型言語やリアクティブプログラミングに関しては理解しきれていないし、苦労は続く。
ただ、VBAはその敷居の低さも売りとして見ることも出来るし、
そういうものとして既に作られてしまっているのだから、
その形を否定してしまうのであればVBAスレから立ち去って
もっと効率化を図るために洗練された言語のスレに行くしかないな。
俺も前に何度か多態性についてここで議論に加わったこともあったけど結局のところ、
そんな考え方しなくてもお手軽に組めるのもVBAの魅力の一つとして捉えている人もこのスレにも多いこと、
別の言語では継承や多重継承など簡単に使えるものもあるけどVBAには無いからではどうやって
それをやって行くかという工程で本来のその意味を理解するのに凄く役だったこと
本当に初心者の人が始めるのに教えるとき、Excel一つあれば代入や演算、分岐などの基本的なことが
凄く理解して貰えるのに手っ取り早いことを考えると、
この敷居の低さも有りと言えば有りかなと思ってる。
0734デフォルトの名無しさん
2016/06/19(日) 16:20:20.95ID:bmdpRLuqその敷居の低さの恩恵を受けてるのは他の誰でもないお前ら自身やで
敷居が低いからこそお前らでもvba出来るんやないかw
0735デフォルトの名無しさん
2016/06/19(日) 16:26:18.09ID:FZwnNmAR恩恵は受けてるね。
VBAやってなかったら今xamarinで遊んだり
MVVMモデルとかも全く手を触れなかったかも知れない。
0736デフォルトの名無しさん
2016/06/19(日) 16:39:34.30ID:bmdpRLuqはいはい聞きかじりの単語を振りかざしてプログラミング論を語りたいんやったらマ板行ったらええでw
ただ質問したいだけの事務のねえちゃんにとっては
お前らみたいな意識高い系の脱初心者層が一番うざいねんw
0737デフォルトの名無しさん
2016/06/19(日) 16:48:02.13ID:PhBjLvDRトンチンカンな事を主張しちゃうタイプの知ったかぶりの奴だろ。
0738デフォルトの名無しさん
2016/06/19(日) 16:50:05.64ID:Z7Y1KPNQ0739デフォルトの名無しさん
2016/06/19(日) 16:50:52.25ID:Z7Y1KPNQ0740デフォルトの名無しさん
2016/06/19(日) 16:52:22.45ID:IFm5zb47で、結局VBAディスって何がしたいの?
0741デフォルトの名無しさん
2016/06/19(日) 16:58:12.70ID:Z7Y1KPNQだから便利にするためのライブラリが広まっていかない。
>737
> 自由に多次元配列が伸ばせる
「多次元」で伸ばせんだっけ?
0742デフォルトの名無しさん
2016/06/19(日) 17:08:24.66ID:FZwnNmARいや、ウザいのは大阪弁で上から目線で結局何が言いたいかよくわからないような奴だと思うよ
ハードルの話をしているんだろ?
まず高い方が良いのか低い方が良いのかの主張も見えないし
煽りたいだけなの?
0743デフォルトの名無しさん
2016/06/19(日) 17:13:22.68ID:iaREzNIpc#でもtype Scriptでも、VB.NETでもいいからVBA並みに敷居が低いやつ
0744デフォルトの名無しさん
2016/06/19(日) 18:45:09.32ID:OFyR5xSG0745デフォルトの名無しさん
2016/06/19(日) 18:46:13.01ID:qVPAyFPI姉ちゃん相手に何を生産してんだか
0746デフォルトの名無しさん
2016/06/19(日) 18:56:24.56ID:Oqh5oWwuこういうのがクソみたいなjavaプログラム作るんだろうな
0747デフォルトの名無しさん
2016/06/19(日) 19:24:01.73ID:bmdpRLuqうざいからマ板行けってそりゃもうハッキリクッキリ書いとるんやがなw
頭悪いんやねお前w
0748デフォルトの名無しさん
2016/06/19(日) 19:27:27.02ID:DvGzGUcFもう何年も覗いてないけど。
0749デフォルトの名無しさん
2016/06/19(日) 19:27:27.45ID:pdXnP4Tm碌なライブラリやフレームワークがない
モジュールやクラスが書きにくく管理しにくい
dllとか作れないから再利用の単位がわかりにくい
開発環境もドキュメントも貧弱でやる気を失う
環境依存が多くて作った端末以外だと割と動かない
スプレッドシートとかいう特殊なUIを強いられる
個性あふれる資産のせいで身動きが取れない
C#の方が万倍快適で簡単だよ
0750デフォルトの名無しさん
2016/06/19(日) 19:45:57.97ID:OFyR5xSG1000ステップ超えそうならその時点で別言語での開発を考慮に入れるのが正解かと
0751デフォルトの名無しさん
2016/06/19(日) 19:51:52.27ID:mElRTh8d近場の事務のパートをやってる。
超絶非効率なことをやってるのでマクロ組んで自動化。
ま、当たり前に簡単なんだけど、
頭後退させるのに苦労したw
関数でやれるのについ小難しくプログラミングしてしまったり、
変数定数をきちんとしすぎて誰も理解出なかったり…
ExcelVBAを扱うなら、その扱う、保守する人のレベルを考えながら組まなくちゃいかんね。
例えば変数名は漢字にするとかw
定数は使わない、もしくは定数も漢字とか。
privateもpiblicも御構い無しにするとかw
後は関数や書式設定でできる部分は外だし
定数もシートに外だし
などなど。
いかに初心者にメンテさせやすいかを考えなきゃいかんね。
頭後退させるのが辛いよー
0752デフォルトの名無しさん
2016/06/19(日) 20:00:49.28ID:PhBjLvDR単体アプリを作成する為の言語と比べるのは愚の骨頂。
0753デフォルトの名無しさん
2016/06/19(日) 20:01:03.17ID:NZMKMoV3漢字変数はさすがにやめよう
0754デフォルトの名無しさん
2016/06/19(日) 20:03:19.58ID:FZwnNmAR何だやっぱりただの煽りか
大阪民国の部落民はプログラマとしてより
人として敷居が低い大阪でしか生きていけないんだから
大口を叩いてはいけないな
0755デフォルトの名無しさん
2016/06/19(日) 20:14:12.42ID:+reLMBHf前もマ板行けマ板行けって騒いでたやついたけどあの時のゴミだろ
0756デフォルトの名無しさん
2016/06/19(日) 20:32:44.30ID:bmdpRLuqお前はプログラミングを学びたかったらvbaに籠ってお山の大将してないでシステム開発の仕事でもしてみた方がええで
そうすればそう少しは己の無知蒙昧さに気がつくと思うわw
0757デフォルトの名無しさん
2016/06/19(日) 20:38:21.72ID:FZwnNmARはぁ?
何を頓珍漢なことを言ってるんだ?
お前、今俺がどんな仕事しているのか
知ってるようないい加減なことを言ってるが
大阪人ってみんなこんな短絡的なのか?
0758デフォルトの名無しさん
2016/06/19(日) 20:45:56.95ID:bmdpRLuqどんな仕事をしとるんか言うてみい脱初心者くんw
0759デフォルトの名無しさん
2016/06/19(日) 20:46:38.97ID:0HPVxz1ksikakarizaikocount
sikakarizaikoNo
sikakarizaikoAmount
とか、英検5級レベルの馬鹿が、
その場で思い付いた英語混じりの変数付けてたの
引き継ぎで面倒見させられたら
鬱になりそうになるぜ?
0760デフォルトの名無しさん
2016/06/19(日) 20:50:26.53ID:FZwnNmAR人に聞くときは自分からって小学生のとき教わらなかったか?
0761デフォルトの名無しさん
2016/06/19(日) 20:56:11.59ID:bmdpRLuq自分が言いたそうやから聞いてやったんやないかw
こっちはお前の仕事なんぞビタ一文興味ないのやで脱初心者くんw
0762デフォルトの名無しさん
2016/06/19(日) 20:59:17.12ID:Pvc+naRUいや、意外と分かりやすいよ
名前付けをちゃんとすればドキュメントをあまり書かなくてもいいし
入力が面倒なのが難点だけど
0763デフォルトの名無しさん
2016/06/19(日) 21:01:42.08ID:DvGzGUcF0764デフォルトの名無しさん
2016/06/19(日) 21:02:03.59ID:FZwnNmARはぁ?
誰もお前に教えたいなんて一言も言ってないし
お前が勝手にVBAに引き籠ってるとか決め付けるような頓珍漢なことを言ってるから
何言ってんだコイツと思っただけだ。
キチンと日本語を理解しろよ大阪民国人
0765デフォルトの名無しさん
2016/06/19(日) 21:04:06.40ID:DvGzGUcF0766デフォルトの名無しさん
2016/06/19(日) 21:04:59.76ID:OFyR5xSG0767デフォルトの名無しさん
2016/06/19(日) 21:08:02.78ID:bmdpRLuqvbaに籠ってお山の大将してるのは事実やろ
自分のレス読みかえしてみろや恥ずかしい奴やなw
0768デフォルトの名無しさん
2016/06/19(日) 21:08:44.60ID:Z7Y1KPNQ> 1000ステップ超えそうならその時点で別言語での開発を考慮に入れるのが正解かと
10ステップの関数100個で1000ステップになるわけだから確かにそうなのかもしれない
0769デフォルトの名無しさん
2016/06/19(日) 21:10:36.15ID:FZwnNmARまぁC#はMicrosoftが推奨する命名規約とかに仕事場でも右へならえしていることが多いから尚更だよね。
俺もまず変数名や関数名に日本語使うことはないけど、VBAの場合、絶対じゃない。
関数名に関しては、日本語名を使った方がいい特殊な場合があるんだよね。
0770デフォルトの名無しさん
2016/06/19(日) 21:14:10.45ID:FZwnNmAR本当に短絡的な大阪民国の土人だな。
俺がいつもVBAのスレだけに来てるって何で思っちゃうんだろうね。
やっぱりバカだからなのかなぁ。
それとも大阪人だからなのかなぁ。
0771デフォルトの名無しさん
2016/06/19(日) 21:20:35.36ID:Z78VZFeH何かデメリットある?
無けりゃ使ってみようと思う。
よく考えたら、Worksheet("予定表")とか普通に使ってるから、
変数だけ漢字イヤってのも変だし。
0772デフォルトの名無しさん
2016/06/19(日) 21:21:18.28ID:bmdpRLuqお前の見てるスレなんか知らんわwww
そんなに言いたかったら勝手に発表しいやw
ちょっと前にも言うたけどビタ一文興味はないけどなw
0773デフォルトの名無しさん
2016/06/19(日) 21:30:40.28ID:Oqh5oWwuこれじゃ質問したい初心者もさよならバイバイやろなぁ
0774デフォルトの名無しさん
2016/06/19(日) 21:31:59.31ID:ZNivBSeu良いよ
0775デフォルトの名無しさん
2016/06/19(日) 21:32:06.25ID:FZwnNmARプリフィクス付けるとき英文字と混在になるんじゃない?
まぁそれも許容範囲かってところはあるけど。
0776デフォルトの名無しさん
2016/06/19(日) 21:34:17.46ID:FZwnNmARだから誰が言いたいと言ったよ・・・
大阪民国って日本じゃないって本当なんだな。
全然日本語が通じない。
0777デフォルトの名無しさん
2016/06/19(日) 21:39:53.09ID:AD/xcvrM大阪人は親の葬式でもそれをネタに笑いを取ろうとするヒトモドキだって話は聞いたことがある
0778デフォルトの名無しさん
2016/06/19(日) 21:42:14.11ID:bmdpRLuqなんやそれも言いたくないんかwややこしい奴やなw
脈絡なく「VBAのスレだけに来てる…」とか言いだすから聞いて欲しくてウズウズしとるんかと思ったわw
どの話の流れでこの話の流れになるんやホンマ謎な奴やわw
0779デフォルトの名無しさん
2016/06/19(日) 21:51:02.17ID:tI1YAuB2そもそも「VBAに篭って」と決め付けたのはお前だろ?
ヒトモドキだからそれも理解出来ないか。
0780デフォルトの名無しさん
2016/06/19(日) 21:52:52.38ID:tI1YAuB2大阪人って結構嫌われてるのか?
0781デフォルトの名無しさん
2016/06/19(日) 21:52:56.29ID:NZMKMoV3マジか
見た目があまりに気持ち悪いから避けてたわ
0782デフォルトの名無しさん
2016/06/19(日) 21:53:57.88ID:NZMKMoV3犯罪率や在日率でなぁ
さすがにそろそろスレチ過ぎる
0783デフォルトの名無しさん
2016/06/19(日) 21:59:28.17ID:bmdpRLuqなんやキミも籠っとるんか?
プログラミングの勉強をしたいんやったらぬるま湯から飛び出して
広い世界を見る勇気も必要やでがんばりや
0784デフォルトの名無しさん
2016/06/19(日) 22:06:38.78ID:AD/xcvrM0785デフォルトの名無しさん
2016/06/19(日) 22:14:38.46ID:A8U7Y+uC文字列と変数名は全然意味が違うと思うが???
俺はVBAだけは日本語変数名使ってるな
0786デフォルトの名無しさん
2016/06/19(日) 22:15:29.32ID:ex7WWjXAでんねんまんねんおまんねんって付けるよ
0787デフォルトの名無しさん
2016/06/19(日) 23:00:47.73ID:mElRTh8dだけど漢字変数やっぱ使う方が
VBAは逆にいいよね。
「ここ変えたら、他にも流用できるっていう感じで、教えてください」
と、マクロ組めない人に言われて、
ソース見せたら固まってたw
英字の羅列はいかにもプログラミング!って感じで受け入れられそうにない。
自分はシートとかも、参照作ってそれ使いまわししてるんだけど、
その都度Sheet("担当者一覧")と毎度書くほうが、
初心者には説明つきやすい
インテリセンスの関係上全て変数宣言したいけど、
その変数さえ、何これ?感が増すため、
ないほうがスッキリするのか?これはもしや?とも思う。
メモリや速度なんか考えることないんだもんね。エクセルVBAだと。
0788デフォルトの名無しさん
2016/06/19(日) 23:03:16.45ID:DVBnc7U9コメントあったら良いってもんでは無し。
最初から漢字でやってて欲しいなって発狂しそうになるときあるぞ?!
GenValって原価なのか減価なのか
(正解は材料原価でしたとか)
0789デフォルトの名無しさん
2016/06/19(日) 23:07:45.29ID:mElRTh8dけど、やっぱり気持ち悪いんだよね
漢字変数なんか、カス相手の為のものだからさ。
煽るつもりないけど、漢字変数は、
わかりにくいよ、とか言う人の為のものだよ。
組むほうはひとっつもいいと思ってやってないw
めっちゃめちゃ気持ち悪い。
0790デフォルトの名無しさん
2016/06/19(日) 23:32:02.30ID:Ax0ZGtFUvbaはcp932だっけ?
windows10だとutf-8?
0791デフォルトの名無しさん
2016/06/19(日) 23:46:21.58ID:Z7Y1KPNQそんなん全くの感覚論じゃん
0792デフォルトの名無しさん
2016/06/19(日) 23:47:29.25ID:NZMKMoV30793デフォルトの名無しさん
2016/06/19(日) 23:48:08.55ID:/jrrR31N0794デフォルトの名無しさん
2016/06/19(日) 23:49:00.17ID:NZMKMoV30795デフォルトの名無しさん
2016/06/20(月) 00:15:37.00ID:ytJnTDmV世界標準にあわすために3バイト捨てないといけない
0796デフォルトの名無しさん
2016/06/20(月) 00:56:49.56ID:GaIVYz7vえ?
…。
とまぁ、こういう人がいるので、やはり
あまりプログラミングスキルのない人がいる現場では漢字変数でいいと思います。
0797デフォルトの名無しさん
2016/06/20(月) 01:11:03.28ID:RuTd1b0eでもボキャブラリーが貧弱なのでネーミングに困る
予算とか曜日とかyosan、youbiにしてしまう
我ながらださすぎるw
0798デフォルトの名無しさん
2016/06/20(月) 01:40:45.13ID:g4dtXF6Y入力が手間と、日本語が使えない環境で開発/保守できないって意見はみたこととあるけど
いまだこれにまともな回答を見た事が無いわけだ
0799デフォルトの名無しさん
2016/06/20(月) 02:51:36.52ID:SbKX6kLZ0800デフォルトの名無しさん
2016/06/20(月) 03:03:49.22ID:8+wUFNFJ日本語環境じゃないなら話は別だけど。
例えば、A商品購入処理っていう名称が要件仕様に乗っかてっきてんなら、そのまま名前を適用するわけ。
そうすりゃ、追加要員の人からBuyProductAってA商品購入処理のことですか?とか、要求仕様としてない用語に混乱することもない。
0801デフォルトの名無しさん
2016/06/20(月) 03:05:53.20ID:8+wUFNFJ0802デフォルトの名無しさん
2016/06/20(月) 04:13:27.46ID:7CuehomzDim パス As String, パス一覧, 読み込まれたデータ As Dictonary, 店舗単位 As Dictionary
フォルダ指定 パス
ファイル一覧作成 パス一覧, パス
ファイル読み込み 読み込まれたデータ, パス一覧
集計処理 店舗単位, 読み込まれたデータ
表変換 シート1, 店舗単位
装飾処理 シート1
印刷設定 シート1
印刷プレビュー シート1
保存確認
End Sub
わかりやすい(うっとり
0803デフォルトの名無しさん
2016/06/20(月) 04:45:08.49ID:VMcfDu8lプロシージャなのか変数名なのか、パッと見いまいち分かりにくい・・・
0804デフォルトの名無しさん
2016/06/20(月) 05:26:48.51ID:tNPTsfIGBMI = 身長m * 身長m / 体重kg
End Function
わかりやすい
0805デフォルトの名無しさん
2016/06/20(月) 05:32:04.61ID:7Cuehomzそういやこのスレでも度々「コードの見やすさ」について話題が出るけど、
ステップ実行とかウォッチ機能とかのデバッグ機能を使わない事前提なのが不思議。
0806デフォルトの名無しさん
2016/06/20(月) 06:41:42.91ID:ytJnTDmVなぜ使わないと思い込むのか理解できない。
0807デフォルトの名無しさん
2016/06/20(月) 06:43:31.24ID:A8kl/PgBなので俺は
Call フォルダ指定(パス)
Call ファイル一覧作成(パス一覧, パス)
Call ファイル読み込み(読み込まれたデータ, パス一覧)
Call 集計処理(店舗単位, 読み込まれたデータ)
Call 表変換(シート1, 店舗単位)
Call 装飾処理(シート1)
Call 印刷設定(シート1)
Call 印刷プレビュー(シート1)
Call 保存確認
ってやる派
0808デフォルトの名無しさん
2016/06/20(月) 06:45:07.03ID:A8kl/PgBコードの見易さとデバッグ機能がどう関係してるのか意味不明なんだが...
0809デフォルトの名無しさん
2016/06/20(月) 06:57:42.06ID:T6nELGvC「気持ち悪い」とかいう感覚に固執するやつは頭が固すぎるんだろう。
0810デフォルトの名無しさん
2016/06/20(月) 07:10:50.33ID:vG8P03oG型は全部Variant?
0811デフォルトの名無しさん
2016/06/20(月) 07:13:39.44ID:UXcyvThL体重/身長^2
じゃね
0812デフォルトの名無しさん
2016/06/20(月) 07:32:27.23ID:WzYWjmMB初期処理
中核処理
終了処理
ってまずは3つに分けるな
箇条書きは3つの中に割り振って作る
こうしないと処理の目的が分からなくなる
0813デフォルトの名無しさん
2016/06/20(月) 08:10:58.58ID:MOJTeKy8古い習慣(unicodeが未サポートの時代)に囚われているとこれに気が付けないんだよね
顧客や自分がビジネスで使う用語は日本語だからドメインモデルも日本語になる
当然ユビキタス言語も日本語だしそうなるとコードも日本語になるべきだ
0814デフォルトの名無しさん
2016/06/20(月) 08:20:43.59ID:ol+yTAduそれ・・・ひとつのSub/Functionのコードは何行くらいになるんだ?
0815デフォルトの名無しさん
2016/06/20(月) 08:59:52.48ID:4770PqBdアルファベットと漢字が混ざるから気持ち悪いのか
全部漢字だと思ったより見やすいな
0816デフォルトの名無しさん
2016/06/20(月) 09:11:37.21ID:gGOYEOkD多分何かを誤解してそうだが
こういうことだろ
SEならこうするわな
PGはこんなんしないと思う
sub 主処理()
call 初期処理
call 中核処理
call 終了処理
end sub
sub 初期処理()
call 変数初期化
call エラーチェック
call ファイル一覧作成
end sub
sub 中核処理
’ファイル一覧ループ
for i = iST to iED
call ファイルリード
call 〜処理
next i
end sub
0817デフォルトの名無しさん
2016/06/20(月) 09:31:27.46ID:jXyz40Gk本処理
後始末
0818デフォルトの名無しさん
2016/06/20(月) 11:03:38.89ID:GaIVYz7vプログラマですか?
プログラマだとそんな意見は出ないと思います。
事務員さんがマクロを扱っている状態なら、すきにしてくださいとしか。
夏からjavaの現場に戻るから頭切り替えないとバカになりそうw
0819デフォルトの名無しさん
2016/06/20(月) 11:08:11.64ID:ol+yTAdu初期処理、中核処理、終了処理に分けるのはほぼ「sub 主処理」だけってこと?
その下もそんな風に3段階くらいに分けて次々に処理してるのかと聞いてみたんだ。
たしかに行数はあまり関係なかった。
0820デフォルトの名無しさん
2016/06/20(月) 11:15:19.11ID:GaIVYz7vまぁVBA程度じゃ関係ないんだろうけど、
変数名が長いとリソースを食う。
全角の数字は勝手に半角と判断されバグの温床
コメントとの差がわかりにくい
コーディングの際漢字がめんどくさい
VBは漢字使えるが他言語は使えないものもあり、拡張が発生した場合のバグの温床
他言語で漢字の変数は使えないものがaaAある以上、アルファベットで記載するのが当たり前の流れ
命名規則に乗っ取ればそもそも混乱はない。
こんな感じ?
けどVBAでは扱う人のスキルを考えると漢字変数もむしろ良いと思う。
ただうっとり、なんて思えないw
ぃゃゃゎぁと思いながら組みますよ
0821デフォルトの名無しさん
2016/06/20(月) 11:46:28.32ID:ol+yTAdu>プログラマですか?
何より恥ずかしいのでこういう発言は止めてもらいたい。
恥ずかしいというか情けない。
0822デフォルトの名無しさん
2016/06/20(月) 12:04:56.49ID:GaIVYz7vえっ?
意味がわからないです。
までも漢字変数を感情論以外で説明してくれって、そんな言い方する人
開発現場で見たことないんで、まぁそう言う事なんでしょうね…
0823デフォルトの名無しさん
2016/06/20(月) 12:05:24.59ID:xPaMOXBK独立性の高いサブプログラムならないこともない
引数も貰って初期処理、中核処理、終了処理って構造を
必ず作るのは建て付けとしてはよくある
vbaに限らずな
0824デフォルトの名無しさん
2016/06/20(月) 12:14:15.88ID:xPaMOXBKなぜかって前レスにあったがリソースを食うから
ここから感情論だが
漢字変数の後に as long とか書く人は何なの?ルー大柴かよ!
といつも思って楽しんでる
0825デフォルトの名無しさん
2016/06/20(月) 12:17:42.88ID:ol+yTAduプロのプログラマが仕事として書くプログラムについて議論する場じゃないってことだよ。
0826デフォルトの名無しさん
2016/06/20(月) 12:19:38.90ID:NqJTjEgY>プロのプログラマ
頭が頭痛
0827デフォルトの名無しさん
2016/06/20(月) 12:22:01.24ID:JaTSFg3p0828デフォルトの名無しさん
2016/06/20(月) 12:22:08.41ID:xPaMOXBKマジかよ
0829デフォルトの名無しさん
2016/06/20(月) 12:23:33.80ID:UXcyvThLプログラムのプロは予めの意味ではないか
0830デフォルトの名無しさん
2016/06/20(月) 12:36:15.18ID:rGzE/Yjo2chのresourceをeatだからyou達はハンカクカタカナ使うべき
海外の4chとか、まとめブログ界の人達がコピペ
しやすいように英語で書け
要するに、こう仰りたいのですよね?
0831デフォルトの名無しさん
2016/06/20(月) 12:37:01.11ID:NsVXy02Rえーとね、きっと漢字を使うなら使うで、
論理的な理由を説明して欲しいと言っているんだと思うよ。
考えて見れば他の人も手を入れるのに
適当に気分で付けられてはたまらないって言ってるんだと思う。
0832デフォルトの名無しさん
2016/06/20(月) 12:38:46.55ID:NsVXy02Rいや、
いやいやいや
0833デフォルトの名無しさん
2016/06/20(月) 12:49:29.42ID:jXyz40Gk本番
後戯
0834デフォルトの名無しさん
2016/06/20(月) 12:56:20.02ID:uXAOqedY大体業務システムなんて形は変われど同業なら要件の幅はポイント掴めば広くないし、Javaやらでがっちり組まれたんで無い限りVBAの変数名なんてどうでも良いよ
0835デフォルトの名無しさん
2016/06/20(月) 18:36:29.67ID:c3CA81WS組み直すのはいいけど
テストがしんどいよ
0836デフォルトの名無しさん
2016/06/20(月) 19:03:51.04ID:NN8WnHEw0837デフォルトの名無しさん
2016/06/20(月) 19:54:22.76ID:CIstkdnHモジュール名やサブプロシージャ名は日本語(出力開始ボタン01とか、CSVデータ取込処理とかにしてます)
スコープ範囲が広い変数はパスカルケース、定数はスネークケース
スコープ範囲が狭く、ローカルで使うものはキャメルケース、定数はスネークケース
で書いてますが、もっとこっちの方がいいというのはありますでしょうか?
0838デフォルトの名無しさん
2016/06/20(月) 20:00:07.45ID:ol+yTAdu狭い広いは変わりゆくものだからなあ
0839デフォルトの名無しさん
2016/06/20(月) 20:29:34.61ID:XQmgrC5wタブインデントは出来ない奴はコンドーム付けない奴と一緒って
加藤鷹が言ってた
0840デフォルトの名無しさん
2016/06/20(月) 20:37:18.28ID:7CuehomzたとえばLBound,UBoundを使う場面だと、
ステップ実行の点から考えると
l = LBound(x)
u = UBound(x)
For i = l to u
とした方がトレースしやすいんだけど、
For i = LBound(x) To UBound(x)
がいいという結論になる。
他にもステップ実行時に確認しづらい方法がとられたり、
ウォッチ式を使ってストップかけられるはずのところを別の方法で実現しようとしていたり、
明らかにデバッグ機能使わない事が前提で話が進んでるんだよ。
0841デフォルトの名無しさん
2016/06/20(月) 21:10:54.89ID:UXcyvThLデバッグは何かしらやり方があるんじゃないの?
0842デフォルトの名無しさん
2016/06/20(月) 23:22:53.17ID:dy8cPgWT何か分かる気がする。
例えば外部の変数を使うのにプロパティにしとけばブレークポイントが設定出来るから
その後どこから呼ばれて使われたか分かりやすいけど、
変数として直接指定すると分かり辛くなるもんな。
10箇所くらいから呼ばれて所々ループで使われると目も当てられなくなる。
0843デフォルトの名無しさん
2016/06/20(月) 23:34:20.29ID:ol+yTAdu0844デフォルトの名無しさん
2016/06/20(月) 23:46:45.59ID:g4dtXF6Yウォッチ式でブレークさせる必要がどれだけある?
デバッグのために本来のコードの書き方変えるなんて本末転倒
どうしても必要ならデバッグ時にデバッグ用のコード入れる方がマシ
0845デフォルトの名無しさん
2016/06/20(月) 23:50:19.99ID:ol+yTAdu0846デフォルトの名無しさん
2016/06/21(火) 00:01:55.83ID:iRmo4DUWステップ実行は全体が対象になり得るが、
するするする必要はないかもな
0847デフォルトの名無しさん
2016/06/21(火) 00:39:09.92ID:hwTTdrUbステップ実行する範囲は極微でもするするは必須だろ
0848デフォルトの名無しさん
2016/06/21(火) 01:15:14.25ID:W9Ui1+tiプロのグラマー?
ちょっとエロい
0849デフォルトの名無しさん
2016/06/21(火) 02:00:22.81ID:TC+K0LSS0850デフォルトの名無しさん
2016/06/21(火) 04:47:58.42ID:0X3G298Rデバッグとリリースでビルトを機能がVBAにもあればいいんだけどな
0851デフォルトの名無しさん
2016/06/21(火) 04:51:01.70ID:0X3G298R0852デフォルトの名無しさん
2016/06/21(火) 05:35:41.16ID:5vWLnQ7J#if debug then
#else
#end if
とか
0853デフォルトの名無しさん
2016/06/21(火) 05:46:09.31ID:0X3G298RしかもそれがVBEについてるデバッグ機能で賄える事ならなおさら。
0854デフォルトの名無しさん
2016/06/21(火) 05:47:17.87ID:ymxChLe5excelが開発ツールとして神に等しき存在になってしまう
0855デフォルトの名無しさん
2016/06/21(火) 05:50:06.40ID:J2yqWD+vVB6は神だったのか
0856デフォルトの名無しさん
2016/06/21(火) 06:12:00.20ID:qHGt9edWログとか出力してないの?
0857デフォルトの名無しさん
2016/06/21(火) 06:18:18.32ID:B7KL8DYA0858デフォルトの名無しさん
2016/06/21(火) 06:28:45.49ID:0X3G298Rデバッグ時はやるけど、あれ処理重いから実際の運用時には外すだろ。
0859デフォルトの名無しさん
2016/06/21(火) 06:33:03.15ID:p8YkQE1Tvb6にはexcelシート、excel関数、excelグラフなどなどが標準装備されてないから
どちらが有能かは明白
0860デフォルトの名無しさん
2016/06/21(火) 07:04:36.43ID:qHGt9edWえ?外してるの?
そこは普通運用時にはログレベルで調節して最低限のログは出さない?
プログラム的に運用時にどんなバグが出たか何を手掛かりに調べてるの?
運用で使ってる人の起きた事象説明を受けるだけ?
何か凄く効率悪そう
0861デフォルトの名無しさん
2016/06/21(火) 07:38:00.69ID:vJE7qstOExcelオブジェクトでもWordオブジェクトでも必要なら組み込んで利用できるんで標準で入ってなくても別に困らない
0862デフォルトの名無しさん
2016/06/21(火) 07:45:42.03ID:qHGt9edW困らないけどcom扱いだからObjectの解放が面倒臭い
0863デフォルトの名無しさん
2016/06/21(火) 07:47:23.53ID:qY/g41BX0864デフォルトの名無しさん
2016/06/21(火) 12:16:39.90ID:ZKKpyXo+結構色んなところで普通に吐いてたりするからね
きっとよほど複雑なシステムなんだよ
君から見ればね
0865デフォルトの名無しさん
2016/06/21(火) 12:19:12.87ID:RUL+uH0x0866デフォルトの名無しさん
2016/06/21(火) 12:22:43.16ID:VdnNwK8D0867デフォルトの名無しさん
2016/06/21(火) 12:36:17.00ID:qHGt9edW0868デフォルトの名無しさん
2016/06/21(火) 12:41:25.71ID:qHGt9edW大規模とは限らないよ
その仕事場の方式と言うかお作法の問題
0869デフォルトの名無しさん
2016/06/21(火) 12:45:41.09ID:JNjOOJn10870デフォルトの名無しさん
2016/06/21(火) 18:09:08.57ID:Sh/p3PtF=INDIRECT(ADDRESS(2,2)) と =INDIRECT($B$2) は同じ意味かと思うのですが返される値が違いました。
ADDRESS(2,2)とは($B$2)ではないのでしょうか。
0871870
2016/06/21(火) 18:23:07.18ID:Sh/p3PtF探したのですが、失礼いたしました。
どなたかご誘導をいただければ。
0872デフォルトの名無しさん
2016/06/21(火) 18:29:11.39ID:A2Mkn+tSExcel総合相談所 122 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/bsoft/1461287268/
0873870
2016/06/21(火) 18:36:18.68ID:Sh/p3PtF0874デフォルトの名無しさん
2016/06/21(火) 19:47:26.21ID:0X3G298R俺が作ってるのはインプットファイル指定したら後は自動でアウトプットされる様なタイプのものばかりだから、
どのマクロを使って、どんなファイルを指定したかさえ分かれば、だいたい再現されるよ。
途中でログを吐かないと手がかりがないマクロってどういう性質のもの?
今後、もし似たようなの作る事があったらロガーの実装を検討してみるわ。
0875デフォルトの名無しさん
2016/06/21(火) 20:07:10.60ID:HsDMsaK+ログ出力はビジネスでは必須なんじゃよ
望む望まずに関わらずにの
0876デフォルトの名無しさん
2016/06/21(火) 20:23:50.33ID:ymxChLe5後は小物件
excelでログ出力が必要なレベルの業務アプリ作るとか驚愕だな
所詮は支援ツールだろ
1億超える物件なら考えなくもないが
そんな大規模システムで効率下げるログ出力とか嫌やわぁ
0877デフォルトの名無しさん
2016/06/21(火) 20:27:29.39ID:AH0uRnVJ0878デフォルトの名無しさん
2016/06/21(火) 20:27:47.85ID:0X3G298R話の流れ的に「バグ特定の為にロガーを実装する」って事だからビジネス関係ないよ。
というかVBAでビジネスってなんだろ。外注とかするのか。
マクロの外注とかあるなら異なるフォーマットの五つのファイルを組み合わせて集計と計算を行い、
在庫管理と発注リストをアウトプットするマクロの見積もりとか見てみたい。
0879デフォルトの名無しさん
2016/06/21(火) 20:27:51.98ID:NeZ3bdtfそうだっけ?
もう VB6 の環境ないから試せないけど vbs とたいして変わらなかったような気がするが
とりあえずMSは Microsoft.Office.I nterop.Excel をまともにしろよ
C# から使いたいのにマジで面倒臭すぎる
0880デフォルトの名無しさん
2016/06/21(火) 20:29:57.39ID:8TPIZL80DBでお客さんがアプリ使わずに手で入力して変な値設定したときとか。
こっちが悪くなくてもそれを証明しなければいけないから
そう言う場合は必須だよ。
0881デフォルトの名無しさん
2016/06/21(火) 20:39:34.23ID:JNjOOJn10882デフォルトの名無しさん
2016/06/21(火) 20:50:20.38ID:ymxChLe5前あった例だと
dbから200個ぐらいあるテーブルをcsv出力して
リレーション組んでエラーデータ探したり
帳票出したりした
データ数はマチマチだけど
1テーブル当たり多くて300万件ぐらい
なぜこんなことしたかって言うと
導入したシステムがゴミクズで
お客さんがあそこは信用ならないって
損害賠償になったが
システムがないと処理しきれないから
なんか簡単に作れないかって言われて
excelで作った
0883デフォルトの名無しさん
2016/06/21(火) 20:58:03.49ID:Y+YRWDXHこの度、計測を自動化するという内容で取り掛かったのですがご教授いただきたく。
・マクロ開始→マイク端子からの入力待ち
・マイク端子から電圧の入力有り(サージ)
・上記の電圧をトリガーとして検知し、1秒後に別の計測ソフトをマクロで操作
・計測ソフトの保存まで終わったら再度トリガー待機状態
というフローを考えているのですが、マイク端子からの入力を検知するコードがググっても出てきませんでした。
可能であればそれらのコードか参考になるHP等が知りたいです。
0884デフォルトの名無しさん
2016/06/21(火) 21:03:35.12ID:JKCS+g1Bほう、それをExcelで?
0885デフォルトの名無しさん
2016/06/21(火) 21:04:04.51ID:WT0LkGFc0886デフォルトの名無しさん
2016/06/21(火) 21:07:56.18ID:BjtZA0F4趣味でやってるんなら面白そう。頑張って。
0887デフォルトの名無しさん
2016/06/21(火) 21:13:25.74ID:ymxChLe5やったことないからなんとも
マイク関連のapiを利用するか
マイク監視関連の別アプリと連動させるか
どちらにせよ
excelの領域を超えてosの機能を使う感じかな?
0888デフォルトの名無しさん
2016/06/21(火) 21:35:37.09ID:AH0uRnVJhttp://park22.wakwak.com/~sakura/cgi-bin/index.cgi?mode=view&page=25&back=mode%3Dlist%26nextpage%3D3
ライブラリはwin32apiかな
0889デフォルトの名無しさん
2016/06/21(火) 21:36:59.24ID:TC+K0LSS0890デフォルトの名無しさん
2016/06/21(火) 23:25:52.02ID:MK9xCASBタブインデントできないとか、そんなレベルの人見たことないけど
Excelのマクロ使う程度の人ならいるか…
0891デフォルトの名無しさん
2016/06/21(火) 23:37:03.14ID:JKCS+g1Bタブインデントって何?
まさかタブでインデントすることじゃないよね?
0892デフォルトの名無しさん
2016/06/21(火) 23:43:39.47ID:Y+YRWDXHですね、今のとこ自分の手立てとしては、というとこですが
>>885>>886
不可能だということも選択肢に入れてますが、最終手段で考えてます。現状はマンパワーなので労力使えばいいだけなので。本件とは矛盾してしまいますが
>>887
オーディオコントロールとやらに近いと思うのでos制御領域に入ってくるかと予想はしています
>>888
apiを使える程のC言語の造形が深くありません。なるべくvbaで済ませたいとは思いますが…参考urlありがとうございます。
>>889
人件費以外掛けるな、との内容だったのですが一番削る部分で何を言ってるんだ?というのは当方の団塊上司なのでお察し下さいw
0893デフォルトの名無しさん
2016/06/22(水) 00:16:14.41ID:Q6ImdGoP0894デフォルトの名無しさん
2016/06/22(水) 00:47:00.98ID:m4nZpr6f出来ると思ったのが凄い。
日本語変だけど、とにかくそんな感じ。
0895デフォルトの名無しさん
2016/06/22(水) 01:57:59.10ID:o7367I2f>なるべくvbaで済ませたいとは思いますが…
無理、Win32APIを使うか、それ専用のライブラリがあればそれを使うしかない
0896デフォルトの名無しさん
2016/06/22(水) 02:06:10.04ID:wvGXF4sCその無能そうな男根上司の人件費を削れと
更に上の方に進言してみては如何でしょうか
0897デフォルトの名無しさん
2016/06/22(水) 06:10:12.36ID:xpmo0JmUなぜそんな予測変換されたんですかねぇ
そういやexcelって音声入力出来たような
中身はapi使ってるだろうけど
その辺をマクロで動かせればマイク入力検知出来るかもな
多分マイク入力した内容がセルに入力されるから
セルの中身を監視すればマイク監視になるかも?
0898デフォルトの名無しさん
2016/06/22(水) 11:04:13.30ID:pdf2AYpoここはなんなんだ?
0899デフォルトの名無しさん
2016/06/22(水) 12:41:22.71ID:d8X+Mz2Y0900デフォルトの名無しさん
2016/06/22(水) 16:10:26.61ID:RYmYe0U+こうしたいのですが
Sub test()
For x1 = 1 To 21
z1 = Columns("B").Find(What:="1", LookIn:=xlValues).Row
z2 = Columns("B").Find(What:="4", LookIn:=xlValues).Row
Cells(x1, 3) = z1
Cells(x1, 4) = z2
??????? <- この部分がわかりません
Next
End Sub
簡単そうなのに書けない
どなたか教えてくれませんか
よろしくお願いします
0901デフォルトの名無しさん
2016/06/22(水) 16:30:58.68ID:k28/2S7E検索範囲を変える必要がある
For x1 = 2 To 21
Set cell = Cells(Int((x1 - 2) / 4) * 4 + 2, 2)
z1 = Range(cell, cell.Offset(3, 0)).Find(What:="1", LookIn:=xlValues).Row
z2 = Range(cell, cell.Offset(3, 0)).Find(What:="4", LookIn:=xlValues).Row
Cells(x1, 3) = z1
Cells(x1, 4) = z2
Next
0902デフォルトの名無しさん
2016/06/22(水) 16:37:52.57ID:fp5ZaXifoffset(3, 0)て必要だっけ?
0903デフォルトの名無しさん
2016/06/22(水) 16:40:09.59ID:fp5ZaXif元の仕様がはっきりしてないからそれも有りか
行こうで最初に見つかった1と4の行を書くのかと思った
レンジ内で見つからなければ空白にしておくのかな
0904デフォルトの名無しさん
2016/06/22(水) 16:45:48.18ID:onGVTzQVwin32apiについて調べました。osの制御領域にアクセスする関数と理解しましたが…恐らく違うと思いますが。
ただ、wavein で入力出来るのは把握しましたが録音は不要なので録音したデータの消去?メモリの開放?が必要と感じました。
apiを使った場合の手段をお持ちでしたらご教授いただけませんか?
>>896
お前が消えれば有能な新人3人雇えるぞ!と伝えたんですが笑ってごまかされましたw
0906デフォルトの名無しさん
2016/06/22(水) 17:50:50.12ID:k28/2S7Ecellは検索範囲の一番上の一つのセル
なので、検索範囲はcellからcell.offset(3, 0)まで
0907デフォルトの名無しさん
2016/06/22(水) 19:21:27.54ID:GzMeTh220908デフォルトの名無しさん
2016/06/22(水) 20:09:00.86ID:ODql0kXP0909デフォルトの名無しさん
2016/06/22(水) 20:17:12.73ID:Otf7UlaS社畜はボランティアだけどな
0910デフォルトの名無しさん
2016/06/22(水) 21:31:32.97ID:e7QNeyZNDeclare文をいちいち #If で分岐して2つ書くのめんどくせえ
0911デフォルトの名無しさん
2016/06/22(水) 21:56:02.90ID:Q6ImdGoP0912デフォルトの名無しさん
2016/06/22(水) 22:00:57.10ID:xMnnl7vvMS公式サイトのどっかに書かれていなかったっけ?
0913デフォルトの名無しさん
2016/06/22(水) 22:10:05.14ID:Q6ImdGoPさっきの話じゃないけどLongとLongPtrの使い分けがまれに必要になるくらいだし。
アドインなんてそんなに使うもんでもないし。
0914デフォルトの名無しさん
2016/06/22(水) 23:55:01.23ID:Q6ImdGoPLongとLongPtrの使い分けが必要なのは
2010以前のOfficeとそれ以降の区別のためだった
0915デフォルトの名無しさん
2016/06/23(木) 00:33:26.94ID:5Le54zsVグラディウスのパワーアップゲージみたいなのを表示したいんですけど、
やっぱApiじゃないとだめっすね。
0916デフォルトの名無しさん
2016/06/23(木) 01:26:28.46ID:AeympkFYたしかに団塊は70超えているよな。
だから団塊ジュニアだろうね。
団塊ジュニアの年長組はバブル世代でアクティブ馬鹿が多いから超やっかいだよ。
年少組は氷河期世代だから、中小企業にも普通ではあり得ないぐらいの高学歴優秀人材が入っていて、
最近の緩い世代に指示を出したときに、部下が指示を理解できないほど無能だと理解できない人もいる。
0917デフォルトの名無しさん
2016/06/23(木) 07:42:55.00ID:P65xBEPlさあ。作り方によりけりだから何とも。
0918デフォルトの名無しさん
2016/06/23(木) 08:17:04.29ID:6ajXjAAOスルーするわ
0919デフォルトの名無しさん
2016/06/23(木) 19:13:38.85ID:ORCEW442エクセルで7つ連続データがある場合色を変える条件書式を入れたいんだけど、
どうすればよい?
要は横長カレンダーで、
7連続勤務してたら赤いセルにしたいわけです。
条件書式苦手で簡単なものしかできないのでついマクロで組みたくなるんですが、
条件書式でするのがスマートかなと。
わかる達人さんいますか?
0920デフォルトの名無しさん
2016/06/23(木) 19:24:46.89ID:tLPsEa5bうん、条件付き書式でやるのがスマートだね。
そしてそうなるとVBAスレではスレ違いになるんだ。
例えば着色対象データが変動するなら、
それに条件付き書式を設定して行くというならVBAの対象になるけどね。
それも自動記録見ればどうやるか大体分かるんじゃないかな。
0921デフォルトの名無しさん
2016/06/23(木) 19:40:37.78ID:ORCEW442スレ違いなのはすいません
自動記録?
VB.netはよくやりましたが、
エクセルVBAは今まではじめてでエクセル独自の機能に詳しくないのですが、
7つ連続したら、の部分と$の部分が難しいと思ってて、
数式を書いてもどう全てのセルに適応させていいかが難しいです。
自動記録だと単にセルに色をつけます。
だけしかマクロに記述されないと思うんですが、違うの?
0922デフォルトの名無しさん
2016/06/23(木) 19:43:02.54ID:ORCEW442http://m.chiebukuro.yahoo.co.jp/detail/q14104677054
これでいいのかな?
もっとスマートな方法あります?
0923デフォルトの名無しさん
2016/06/23(木) 21:22:21.54ID:cLKZIR8E「連続データ」の内容をもうちょっと具体的に書いて
「出勤」という文字列が連続、とか
0924デフォルトの名無しさん
2016/06/23(木) 21:39:49.58ID:4odcvt180925デフォルトの名無しさん
2016/06/23(木) 21:41:46.90ID:4odcvt180926デフォルトの名無しさん
2016/06/23(木) 21:44:09.24ID:ORCEW442本当は色々あるけど、とりあえずは
出勤なら1
休みなら空白です。
A列が1日として、そこから右に
1が7つ連続で入っていたらその部分のみ赤に。
要は7連勤はダメですよ、の印を自動化したい。
0927デフォルトの名無しさん
2016/06/23(木) 21:45:41.71ID:ORCEW442前7セルはどう取ります?
offset?
0928デフォルトの名無しさん
2016/06/23(木) 22:05:04.93ID:cLKZIR8EそれならSUMで合計して7になればいいわけだから、もっと簡単に書けると思うよ
ていうか、前月と来月も連続して調べないと連勤かどうか判定できないじゃん
0929デフォルトの名無しさん
2016/06/23(木) 22:23:06.74ID:ORCEW442その辺りのことは関係ないからハショってるけどご心配なく
あとSUMで7になればというのはわかるんだけど、
そこからどう条件書式にあてはめるかがわからなくて。
例えばF1に対してA1:F1のサマリーが7ならそこまで赤。という条件書式を入れるとする。
それをどう31日分までコピればいいのかわからなくて、
0930デフォルトの名無しさん
2016/06/23(木) 22:25:21.53ID:ORCEW442半月シフトなんで常に前15日の分と足してあるんだよ。
提出シフトチェックなので来月分はいらない、というかない。
0931デフォルトの名無しさん
2016/06/23(木) 22:35:04.87ID:5hMmurD9この場合の最低限の対応でいいんなや、そのままF1セルをG1以降に貼り付ければできあがりじゃないか?
0932デフォルトの名無しさん
2016/06/23(木) 22:43:58.10ID:mfKhDDiMえっとこのすれ EXCEL VBA質問スレだけど
条件付き書式に適用する VBAプロシージャを作ればいいの?
EXCELのビルトイン関数じゃなくて
0933デフォルトの名無しさん
2016/06/23(木) 23:20:24.52ID:ORCEW442それでいけますか?
いちどやってみますが、そういうのやってみてうまくいきませんでした
0934デフォルトの名無しさん
2016/06/24(金) 00:04:12.12ID:AlMzuoNq懐かしいなオイ!
上上下下左右左右BAだったっけ?w
オレはその裏技使わなくても表裏クリア出来たけどな(自慢)
0935デフォルトの名無しさん
2016/06/24(金) 00:10:57.49ID:2UsOiKaq爺さんそれは良かったな
0936デフォルトの名無しさん
2016/06/24(金) 00:48:57.17ID:+Rdmt4kb2周目=裏面という表現の方が懐かしいわ。
0937デフォルトの名無しさん
2016/06/24(金) 00:52:02.07ID:AlMzuoNqそれを知ってるあんたモナー
>>936
え?
そうだっけw
0938デフォルトの名無しさん
2016/06/24(金) 00:52:29.28ID:+Rdmt4kb古いパソコンのF1とかF2とか、
そんなイメージ。
0939デフォルトの名無しさん
2016/06/24(金) 01:07:27.00ID:KnUE2FZK書式は25日まで設定すればいいんだから(25〜31日が最後の7日間)
A1〜Y1を選択した状態で条件付き書式を1つ入れれば自動的に全セルに適用される
0940デフォルトの名無しさん
2016/06/24(金) 08:57:55.46ID:iyC6NAOvありがとう。
まずは選択→条件書式→サマリー(この時A:Fのサマリーだけでいけますか?どこをサマリーしますか?$の固定を抜けば勝手に列はスライドしてエクセル側が判定してくれるのかな?
このやり方だと、A:Fの合計が7の時、A:Yの全てが赤になりませんか?)
A:Fのサマリーの条件書式をA〜Fを指定して作成→ラストまでコピー
↑自分的にはこういうやり方かと思ってました。
0941デフォルトの名無しさん
2016/06/24(金) 09:02:27.83ID:KnUE2FZKいいから聞く前にいっぺんやってみ
0942デフォルトの名無しさん
2016/06/24(金) 09:03:14.54ID:KnUE2FZK0943デフォルトの名無しさん
2016/06/24(金) 09:57:37.31ID:I5J50lMnコピペとかしないで、条件付き書式の適用先を1から31日までの範囲にして(選択して)数式を入力すればいい
=SUM(RC:R[-6]C)=7
条件付き書式の数式を考えるときはA1形式だとややこしいからR1C1にするのおすすめ
0944デフォルトの名無しさん
2016/06/24(金) 14:38:11.29ID:iyC6NAOv他のシートはいろんな人が使用してるため、その形式はブック全体だと思うので厳しいですね…
やっぱりとりあえずやりましたがうまくいきません。
使用変更で、×と空白以外を出勤とする。
連勤の数は外出し
となりました。
数の外出しも×と空白以外もいいんですが、
条件書式の基本的なところがわかってないみたいで、厳しいです。
$は抜くんですか?
固定ですか?
0945デフォルトの名無しさん
2016/06/24(金) 15:00:42.59ID:I5J50lMnR1C1にして条件付き書式設定した後にA1に戻せばいいだけの話だろ
連勤日数が入力されてるセルに色つけるなら数式を入力せずともリボンメニューのセルの強調表示ルールに"指定した値より大きい"があるでしょ
0946デフォルトの名無しさん
2016/06/24(金) 18:00:51.09ID:iyC6NAOvそうですね。そうしたらいいんですね。
あと、連勤日数がセルに記入されてるわけではないです。
セルには、9-18とか、会議、とか、
その日の勤務時間が入力されてるのでそれは使えないですね。
せるが連続して×ないしは空白のない7日連続になった場合に、セルの色を変えたいのです。
0947デフォルトの名無しさん
2016/06/24(金) 22:13:06.84ID:AYTMSqmcwindows7
excel2010
100行ほどのリストがexcelで渡されます。
1行目はフィールド名が20項目ほど並んでいます。
1列1項目。
2行目からはダーッとデータが入っていて、100行目まで。
各セルのデータは入っていたり、空だったり。
「G列からT列まで、セルに何も値が入っていなければ行全体を削除」というプログラムを組んでいます。
データが存在する最終行を取得して、最終行から上に向かって繰り返し処理を行います。
繰り返し処理の内容は
・G〜T列に値が入っているかチェック。チェックして値が入っていなければフラグを立てます。
・フラグが立っていればその行は削除。立っていなければフラグを初期化して次の行へ。
成功したかと思ったのですが、どうしても最後(下から上への処理なのでつまりは2行目)の行が判定されません。
この解決方法を教えていただけたらと思います。
0948947
2016/06/24(金) 22:14:45.53ID:AYTMSqmcDim i As Long
Sub DelRow()
Dim c As Range
Dim blnFlag As Boolean
blnFlag = False
'最終行iから上に進む
For i = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row To 1 Step -1
'G〜Tを判定。ワイルドカードで検索し何らかの文字があればblnFlagをTrueにする。
For Each c In Range(Cells(i, "G"), Cells(i, "T"))
'値が入っていたらTrue
If c.Value <> Empty Then
blnFlag = True
End If
Next c
If blnFlag = False Then
Range(i & ":" & i).Delete
Else
blnFlag = False
End If
Next i
End Sub
0949947
2016/06/24(金) 22:16:08.97ID:AYTMSqmc繰り返し処理は「何かしらの文字があれば」フラグを立てる、でした。
よろしくお願いいたします!
0950デフォルトの名無しさん
2016/06/24(金) 22:50:56.37ID:sry2i9xY何も入ってないのに削除されないって事?
空セルに見えて 実は 半角/全角のスペースが入ってるとかない?
0951デフォルトの名無しさん
2016/06/24(金) 23:11:09.46ID:PB/SKySKIf blnFlag = False Then
Range(i & ":" & i).Delete
Else
blnFlag = False
End If
を
If blnFlag = False Then
Range(i & ":" & i).Delete
End If
blnFlag = False
にすべき
0952デフォルトの名無しさん
2016/06/24(金) 23:32:31.95ID:JUbaOn5Z0953デフォルトの名無しさん
2016/06/24(金) 23:36:42.13ID:+Rdmt4kbG & H & I & …って全部繋げて、
そいつが = "" なら削除でよくね?
0954デフォルトの名無しさん
2016/06/24(金) 23:58:44.99ID:jYe71Mmyそれが圧倒的に判り易いやw
0955デフォルトの名無しさん
2016/06/25(土) 00:12:12.78ID:zTTmLUZY> blnFlag = True
> End If
どうでもいいけど、ここをEmpty で判定すると
数値型で 0 が入力されてても空と見なされるね
0も空と見なすなら別にいいけど・・・
0956デフォルトの名無しさん
2016/06/25(土) 00:57:11.91ID:zTTmLUZYちなみに値がEmpty値かどうか正確に判定したいなら
以下のようにすべき、これならEmptyの暗黙の型変換は無くなる
> If c.Value <> Empty Then
↓
If Not IsEmpty(c.Value) Then
0957デフォルトの名無しさん
2016/06/25(土) 11:05:53.81ID:zMiNU6un拾い物なんですが下記のコードをセルA1だけでなく、シート内全セルに変更したいのですがうまく出来ません。助けて下さい。
Sub 文字の修正()
If Range("A1").Find(What:="株式会社") Is Nothing Then
Moji = Range("A1").Value
Range("A1") = "株式会社" & Moji & "御中"
End If
End Sub
0958デフォルトの名無しさん
2016/06/25(土) 11:12:29.15ID:LSp3Y+eCSub 文字の修正()
Dim Unko as Range
If Range("A1").Find(What:="株式会社") Is Nothing Then
Moji = Range("A1").Value
Range("A1") = "株式会社" & Moji & "御中"
End If
End Sub
0959デフォルトの名無しさん
2016/06/25(土) 11:16:30.79ID:LSp3Y+eCSub 文字の修正()
Dim Unko As Range
For Each Unko In ActiveSheet.UsedRange
If Unko <> "" And InStr(Unko, "株式会社") = 0 Then
Unko = "株式会社" & Unko & "御中"
End If
Next Unko
End Sub
0960デフォルトの名無しさん
2016/06/25(土) 11:19:09.76ID:DPbC+aT1次スレぼちぼち立ててくれよ
0961デフォルトの名無しさん
2016/06/25(土) 11:21:30.82ID:LSp3Y+eCSub 抹殺()
Dim Aho as Respond
Set Respond = ActiveThread.Respond(960)
Respond.Delete
End Sub
0962デフォルトの名無しさん
2016/06/25(土) 11:22:07.48ID:LSp3Y+eCo Aho.Delete
0963デフォルトの名無しさん
2016/06/25(土) 11:22:33.41ID:LSp3Y+eCo Set Aho
0964デフォルトの名無しさん
2016/06/25(土) 11:32:10.33ID:zMiNU6un出来ましたありがとうございます!
最初うんことか書いてあるから動かないかと思いました。
0965デフォルトの名無しさん
2016/06/25(土) 14:39:50.13ID:GSPW6H1wそもそも株式会社ではないことも多い。
どうするの?
0966デフォルトの名無しさん
2016/06/25(土) 21:44:50.71ID:zNM5hCECオレはあくまでも例題と思ったがな・・
0967デフォルトの名無しさん
2016/06/25(土) 21:55:37.21ID:6Lp5FHz70968デフォルトの名無しさん
2016/06/25(土) 22:10:13.22ID:OxRz95e1よい観点
0969デフォルトの名無しさん
2016/06/26(日) 00:11:16.94ID:bWC1XfD2わけでもなし
0970デフォルトの名無しさん
2016/06/26(日) 01:52:39.72ID:wrV5aHGV相手の希望の裏にある本当に解決したいことを見つけるのが2流
相手自身が気がついてさえいない相手にとって有効なソリューションを示すのが1流
0971デフォルトの名無しさん
2016/06/26(日) 02:39:37.45ID:bX5XM7mIExcel VBA 質問スレ Part42©2ch.net [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1466876143/
0972デフォルトの名無しさん
2016/06/26(日) 02:47:40.29ID:DVGuk9ay当初の予定よりもカネも時間も桁違い
と陰口叩かれるんですね。わかります。
0973デフォルトの名無しさん
2016/06/26(日) 02:52:28.77ID:TQjwgA3Hconst char***
char ***
char const***
char *const**
char const*const**
char **const*
char const**const*
char *const*const*
char const*const*const*
0974デフォルトの名無しさん
2016/06/26(日) 02:52:46.64ID:TQjwgA3H0975デフォルトの名無しさん
2016/06/26(日) 08:25:22.50ID:nJ28NdtKtypedefすりゃだいたいわかる
0976デフォルトの名無しさん
2016/06/26(日) 09:01:04.18ID:0rtfUKXl運用者目線に立って
あらゆることを考慮して
使い易さを考えた結果として
高額見積りした方が現場の人間には信用されるよな
経理は金額で人を選んで
その値段で受注した奴に全責任を負わせるだけのクズが多い
何も考えずに出された仕様から
簡単な低額見積りした場合
そんな例外は考慮してません
そんな運用は考慮してません
そんな既存バグは考慮してません
契約範囲外です
ってなるんだけど
やって貰わないと困るとか
この契約書には例外、運用、既存バグについての想定は書かれていないとかさ
結局やることになって
仕組自体を一からやり直さないといけなかったり
既存バグが無限に湧いてきたりはよくある
そして揉めに揉めて全員損する
無駄が多過ぎる
0977デフォルトの名無しさん
2016/06/26(日) 10:20:33.30ID:0Y1q2sekその辺考慮するのは分かるけど
普通何でもかんでも対応するんじゃなくて
先にお客さんと話しあって固めない?
一流とか二流とか言う前に常識として
0978デフォルトの名無しさん
2016/06/26(日) 10:58:29.69ID:Y4p6Hgz2「こんなのは簡単でしょ」、というのと「ここの作り直しはどえらいことだ」というのが逆だったりする。
話し合わずに感覚で勝手に判断するんだよね。
0979デフォルトの名無しさん
2016/06/26(日) 11:00:17.21ID:I8EsIBnkバカのシステム屋ごっこもここに極まれり!やなwww
0980デフォルトの名無しさん
2016/06/26(日) 11:06:20.83ID:abwRoDQE0981デフォルトの名無しさん
2016/06/26(日) 11:11:09.05ID:I8EsIBnk大抵の仕事にはソリューション()が元からあるわwww
ソリューション()もないのに何の仕事した気になっとんねんバカ丸出しやんお前wwww
0982デフォルトの名無しさん
2016/06/26(日) 11:18:00.25ID:abwRoDQE流れ的に下流工程の話じゃないだろ
0983デフォルトの名無しさん
2016/06/26(日) 11:21:16.46ID:I8EsIBnkなんで突然下流工程とかwwww
バカなんやからもうやめろ恥ずかしいでw
0984デフォルトの名無しさん
2016/06/26(日) 11:31:07.00ID:qLHqrl/u0985デフォルトの名無しさん
2016/06/26(日) 11:50:58.57ID:Y4p6Hgz20986デフォルトの名無しさん
2016/06/26(日) 13:20:12.03ID:QNHd0b5c0987デフォルトの名無しさん
2016/06/26(日) 13:24:14.15ID:I8EsIBnk思い込みなんぞ人間誰にでもあるもんや
無駄に終わるんはお前自身が思い込みを抱えこんどるのに気がついてないからやでw
0988デフォルトの名無しさん
2016/06/26(日) 13:52:14.42ID:0+Or/a+e患者「ほっといてもすぐ治ると思ったのに…グスッ」
0989デフォルトの名無しさん
2016/06/26(日) 15:31:13.87ID:bWC1XfD20990デフォルトの名無しさん
2016/06/26(日) 15:50:18.08ID:nJ28NdtK0991デフォルトの名無しさん
2016/06/26(日) 17:30:44.05ID:SfsrMLBW”マクロを実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。”
というエラーメッセージが出てきます。
エクセルのオプション画面で、セキュリティセンターでマクロの設定を見ると、マクロ有効の設定になっています。
原因がさっぱりわかりません。詳しい人いましたら、教えてください。
Excel2010です。
0992デフォルトの名無しさん
2016/06/26(日) 17:51:27.04ID:MWzvQhZg拡張子
0993デフォルトの名無しさん
2016/06/26(日) 17:58:09.36ID:GKe9+Aa30994デフォルトの名無しさん
2016/06/26(日) 20:03:53.79ID:SXF7JZZI0995デフォルトの名無しさん
2016/06/26(日) 20:50:40.78ID:Qa1v+81y大阪の犯罪率が高いのも
在日率が高いのも
ナニワ金融道なのも
気持ち悪いのも
みんなの思い込みだから気にすんな
0996デフォルトの名無しさん
2016/06/26(日) 22:11:05.76ID:GUa3g0fP拡張子は大丈夫です。
さっぱりわかりません。
0997デフォルトの名無しさん
2016/06/26(日) 22:34:16.84ID:MWzvQhZgShift押しながらファイル開いてみて
0998デフォルトの名無しさん
2016/06/26(日) 22:43:19.24ID:GUa3g0fPShift押しながらやってみましたが駄目でした。
0999デフォルトの名無しさん
2016/06/26(日) 22:46:37.88ID:uc+/xKjuそのマクロはどこに入っていて、何から実行しようとしているのか
1000デフォルトの名無しさん
2016/06/26(日) 22:51:36.47ID:OlUQYls6Excel VBA 質問スレ Part42©2ch.net [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1466876143/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 60日 18時間 39分 50秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。