[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:48 / Filesize : 310 KB / Number-of Response : 1035
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part48



1 名前:デフォルトの名無しさん [2017/05/16(火) 08:24:45.78 ID:iIGA/64l0.net]
!extend:checked:vvvvv:1000:512

スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part47 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1489557874/

※関連スレ
VBAなんでも質問スレ Part2
echo.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
echo.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 125
echo.2ch.net/test/read.cgi/bsoft/1481369538/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

2 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 10:48:12.64 ID:Gxqu5M/Va.net]
前スレでScreenUpdating=Falseしない派いる?ってのがあったけど、コード書いてる時は基本しない。
あれで速くなったっていうのは基本コードが悪いだろ。

3 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 11:05:20.21 ID:J7MMoyEGd.net]
>>2
ScreebUpdating =False : 警告Off
ScreebUpdating =True : 警告On

4 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 11:06:03.77 ID:J7MMoyEGd.net]
連続typo失礼

5 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 11:08:01.35 ID:l+zZTb7Y0.net]
ScreenUpdatingの有無で速度が左右されるのは、セルに値を入れる等して描画に影響する操作をする場合だけだから、
結果を吐き出す際に一度だけしかセルにアクセスしないとかなら要らないね。

6 名前:デフォルトの名無しさん [2017/05/16(火) 12:41:08.19 ID:6Q26Nvh7r.net]
>>5


7 名前:\示の更新してんなら要るわ

あとエクセルでセルに値を書き込むことを「吐き出す」と言うのは
素人が玄人の真似して訳もわからずそれっぽい言葉使ってみました感が強すぎる
分かる人が見ればコイツ馬鹿だなってバレバレだからやめた方がいいぞ
[]
[ここ壊れてます]

8 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 12:57:55.01 ID:fevd2QwgM.net]
自称玄人 w

9 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:01:13.42 ID:J7MMoyEGd.net]
つまり量によるわけだな。

10 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:03:31.49 ID:J7MMoyEGd.net]
つまり量によるわけだな。
ScreenUpdating = False しないと辛くなってきたら、それは
ワークシートで管理するデータや式が多くなりすぎたという警告とみなすスタイルが成り立つ。



11 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:23:33.68 ID:Gxqu5M/Va.net]
>>6
えっ?
素人玄人関係なく使うでしょ。
そんなの意識したこと無いぞ。

>>9
量なのかなあ。
そりゃいい加減にコード書くことも有るけど、そういう場合で遅く感じたらちゃんとしたコードに変更するだけだろ。
どうしても描画が何回か走ってチラつきを防止するために最後に追加するぐらいだな。

12 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:27:59.56 ID:J7MMoyEGd.net]
>>10
ちゃんとしたコードとは?

コードの問題ではなくてデータの問題だ、というのが俺の主張

13 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:53:18.62 ID:Ilchk1CoH.net]
不毛

14 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:57:07.86 ID:l+zZTb7Y0.net]
>>9
ワークシートから値を取り込んだり、値をワークシートに書き出したりっていう処理は、
Rangeを使えば一括して行うことが出来るので、データ量はそこまで問題にならない。

どちらかというと罫線、色、数式みたいな一括処理しづらいものが問題で、
ScreenUpdating次第で処理に大きく差が出る。
こういったものは保守も面倒なので手作業で代替出来ないかとか考えるといいかもね。

15 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 15:11:19.05 ID:tw+4NZDm0.net]
オートフィルタかけた後のデータの、特定の1列だけを配列に格納したいのですが、何かいい方法はないでしょうか

16 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 16:37:32.48 ID:l+zZTb7Y0.net]
>>14
SpecialCells(xlCellTypeVisible)で可視状態にあるセルだけを取り出せる。

17 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 19:14:29.63 ID:iIGA/64l0.net]
クラスモジュールって使いますか?
大抵のことはfornext、foreachで済んでしまうのですが、vbaでクラスを使ったほうが便利なのでしょうか

18 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 19:31:35.09 ID:qhacRso4p.net]
>>16
必要かどうかってことなら必要ない
でも大がかりなの作るなら使って整理したほうがやりやすいんじゃないのかな

for文と比較する感覚がいまいち伝わってないから的はずれならごめんなさい
関数とか配列とかと比較するならわからなくもないんだけれど

19 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 19:45:30.76 ID:iIGA/64l0.net]
>>17
私が使うのは事務処理で、表を作ったり、リネームする時にマクロを使う程度なのです
クラスはあんまり必要無さそうですね、ありがとうございました

20 名前:デフォルトの名無しさん [2017/05/16(火) 19:48:36.06 ID:YL1OfOAE0.net]
>>10
悪いけど素人しか使わんわそんな恥ずかしい言い方w



21 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 19:53:23.03 ID:Y/+V2TLHM.net]
言い方はどーだっていいんだよ
伝われば

22 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 20:28:49.31 ID:rEbfD8DUa.net]
>>13
うん、罫線とかはしようが無いね。
でも罫線もマクロ記録のままの酷いコード書く人もいる。

データについては1つ1つのセルに値を入れるなんてことはすべきじゃない。
普通は1つの表で一括入力でしょ。
どうしても速度を出したい時は汚くなるけどシート内データ全部を一括入力にする。
あとは、使える場面が限定されるけどマルチプロセスにするとか。

>>18
クラスを使う場面ってのは慣れてれば感覚的にぴったりくる。
オブジェクト指向的にぴったりくる場合。
でも、他のメンバーが慣れて無いと却って良くない場合もあるね。

23 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:04:28.77 ID:ORpNRMoi0.net]
Dim スコーン As New Class

↑このスコーン自体を引数に使うことは出来ますか?
スコーン.Name =

24 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:05:07.95 ID:ORpNRMoi0.net]
スコーン.Name = "スコーン" とか書きたんくないですんけど。

25 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:12:00.81 ID:qp8pXuJpx.net]
>>22
出来るよ。
そうしたい目的はなに?

26 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:38:51.33 ID:ORpNRMoi0.net]
>>24
>>23だと、スコーンの名前はスコーンとか言ってるようなものじゃないですか。
何か変なので、どうにかしたほうがいいなと。

27 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:44:47.11 ID:FLRqiZ6lx.net]
>>25
引数にしたいことと
nameに代入することの関係性が分からない。
まぁ宣言をお菓子にしとけばいいんでない。

28 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:48:13.03 ID:iIGA/64l0.net]
PHPならget_class()なんてそのまんまなものがあるんだけどね
vbaには無いっぽいな

29 名前:デフォルトの名無しさん [2017/05/16(火) 21:54:30.99 ID:YL1OfOAE0.net]
>>25
あーあ、やっちゃったね
質問するにもマナーってものがあるんだよ
スレを荒ららない為にもこの際覚えておけ

「目的を聞くやつにレスを返してはいけない」

30 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:59:56.08 ID:wnIq1TKW0.net]
そんな法則は聞かないな



31 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 22:19:15.46 ID:FLRqiZ6lx.net]
>>28
いつかそのマナー広まるといいね!
影でこっそり応援してぬわ。

32 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 22:30:24.74 ID:H5+sVhHM0.net]
なんで目的を聞くやつにレスを返してはいけないの?
質問の意図を汲もうとしているかもよ?

33 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 22:33:38.25 ID:FLRqiZ6lx.net]
>>31
その聞き方だと件の>>28は返事出来ないよ。
理由は察してあげて

34 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 22:35:06.66 ID:iIGA/64l0.net]
>>26
クラス名で分岐させたいパターンがある
ゲームプログラムだとclass名で敵か味方か判別する、というのは見たことがあるな
せめて継承でもできればその辺共通化できるんだけど、そこはvba。めんどくさい

しかしエクセルだとどういう状況か思い浮かばない

>>30
してなくて草

35 名前:デフォルトの名無しさん [2017/05/16(火) 22:44:02.80 ID:YL1OfOAE0.net]
>>31
質問の意図が分からん奴は質問に答えられない
目的を聞いても質問者の意図を引きだす事はできない
簡単な事だ

36 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 22:49:11.64 ID:FLRqiZ6lx.net]
>>34
なるほど。
素晴らしいね。
がんばれー

37 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:01:38.90 ID:qRwApybV0.net]
>>33
制御の向きが逆だよなあ

38 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:23:20.25 ID:sfPoWe8nx.net]
TypeName関数で自作クラス名って取り出せないんだっけ?

39 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:32:2 ]
[ここ壊れてます]

40 名前:2.34 ID:9uxtifvV0.net mailto: >>37
それはできるけど、Meがない
Meがあればなんとでもできる

標準モジュール
Sub foo()
Set c = New Class1
'これはできる
Debug.Print TypeName(c)
End Sub

'クラスモジュール
Private Sub Class_Initialize()
'これができない
Debug.Print Me.TypeName
End Sub
[]
[ここ壊れてます]



41 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:39:06.93 ID:dws00LGS0.net]
クラス内部で つかうんなら
これじゃいかんのか?
Debug.Print TypeName(Me)

42 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:45:43.01 ID:9uxtifvV0.net]
>>39
すまん、いけた

解決!

標準モジュール
Sub foo()
Set bar = New Class1
Debug.Print bar.get_name()
End Sub

'クラスモジュール
Public name
Private Sub Class_Initialize()
name = TypeName(Me)
End Sub
Function get_name()
Debug.Print Me.name
End Function

43 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 00:51:22.92 ID:sfPoWe8nx.net]
解決やな

44 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 17:27:48.02 ID:mwqvXh9q0.net]
>>39
>>40
ありがとうございます。
それで名前があるものに名前を付けなくて済みます。

45 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 17:53:56.84 ID:GJ9WSlKVH.net]
>>40
そのコード、
Sub foo()
  Set bar = New Class1
  Debug.Print TypeName(bar)
End Sub
と同じじゃないの?

>>33
> せめて継承でもできればその辺共通化できるんだけど、そこはvba。めんどくさい
VBEのオブジェクトコンボボックスとプロシージャコンボボックスを選択すれば、
コードを自動生成してくれるから、全然めんどくさくないよ。

46 名前:デフォルトの名無しさん [2017/05/17(水) 20:29:29.04 ID:G7cUCqPy0.net]
俺は今重要な判断を下した
お前らは事務のねーちゃんよりスキルが低い
少なくともうちの事務のねーちゃんより低い事は確実だ

47 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 21:05:07.82 ID:9uxtifvV0.net]
>>44
お前、レスもらうのめっちゃうまいなw
思わず反論しそうになった
2chでレスをもらう能力、俺は敬意を表するよ

もしよければ、年齢と性別、職業を教えてほしい。どんな人か本気で気になる

48 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 06:43:55.44 ID:PgOUGGac0.net]
24歳

マイクロソフトジャパン勤務

49 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 08:36:51.83 ID:7Fv0UmYNx.net]
>>46
悪くないよ。
なんつーかコウウン

50 名前:デフォルトの名無しさん [2017/05/18(木) 14:52:51.70 ID:5nCvEgDF0.net]
Private Sub Worksheet_Change(ByVal Target As Range)

Select Case Target.Address

Case "$A$1"

If Not IsNumeric(Target.Value) Or Target.Value = "" Then

Exit Sub

Range("B1:B9").Copy Range("B2")

Range("B1").Value = Range("A1").Value

Target.Select

End Select

End Sub

このコードの意味教えてくださいー



51 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 15:34:33.70 ID:ZtOQ2Qac0.net]
まずは実行してみたらどうだ

52 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 17:11:10.34 ID:d+oDyp660.net]
Private Sub Worksheet_Change(ByVal Target As Range)
ここに、Subの処理を定義する
End Sub

Select Case Target.Address
ここに、Caseの処理を定義する
End Select

Select Case Target.Address
// Target.Address が、"$A$1"なら
Case "$A$1"

// Target.Value が数値ではない、または、空文字列なら、Subを抜ける
If Not IsNumeric(Target.Value) Or Target.Value = "" Then

Exit Sub

// copy
Range("B1:B9").Copy Range("B2")

// 代入
Range("B1").Value = Range("A1").Value

// 選択?
Target.Select

End Select

53 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 19:06:48.56 ID:hKe3x/Mw0.net]
>>48
ugokanai kedo

A1セルの中身が数字に変わった場合、
B1:B9をB2:B10にコピーペースト
B1をA1の内容にする

54 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 19:21:07.71 ID:f5T5khCgr.net]
>>51
A1を選択
が抜けてる

55 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 22:27:14.87 ID:EwzTzSyyM.net]
マウスポインターの移動量かマウスのスクロール量を検知って出来ますか?

56 名前:デフォルトの名無しさん mailto:sage [2017/05/1 ]
[ここ壊れてます]

57 名前:8(木) 23:31:41.56 ID:fbyfCIXE0.net mailto: form上の話ならMouseMoveイベント使えばなんとかなるんじゃね?
form以外でならwin32api(GetCursorPosとか)を駆使すれば
[]
[ここ壊れてます]

58 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 12:10:12.11 ID:Hh88K1uA0.net]
最新版のExcelで、ファイルを開いた直後にだけコンパイルエラーが出るようになったから絶対更新しないほうがいいぞ

エラーが出るのは
Function ProcName(cel As Range) As Double
とか、パラメータにAs Rangeを持つところみたいで
一応As Objectに変えてしまえば通るけど、治すの大変だ・・・

59 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 12:26:18.38 ID:Hh88K1uA0.net]
関連してそうな情報を発見
https://blogs.msdn.microsoft.com/office_client_development_support_blog/2017/05/17/
とうとう本気で.xls形式を殺しに来たか

60 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 12:27:06.53 ID:OupscBB+0.net]
>>55
なんていうか、まあ頑張れ



61 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 12:49:41.54 ID:P+QgsC3b0.net]
俺のInsider slow バージョン 1704(ビルド8067.2115)では
>>55の情報だけを たよりにやって みたけど 問題ない (xls,xlsm 両方)
とだけ言っておく

62 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 13:13:31.21 ID:Hh88K1uA0.net]
>>58
すまない。新規ブックでは検証していなかった。

問題無いことを確認
14.0.718.5000
16.0.7927.1024
コンパイルエラーを確認
15.0.4927.1002
16.0.8067.2115
なので、>>58の環境でも発生すると思う。

新規ブックで、
Module1に
Function ProcName(cel As Range) As Double
ProcName = cel.Value
End Function

Sub btn_Click()
MsgBox "click"
End Sub
を書いて、ブック上のシェイプのマクロにbtn_Click()を割り当てるとファイルを開いた瞬間にだけコンパイルエラーが起こるよ

上記URLによれば、モジュール範囲の定義なら起こるらしいので
Private 変数 As Workbook
Sub btn_Click()
MsgBox "click"
End Sub
でもダメぽ

解決策はAs Objectとするか、モジュールを切り分けるしかない。

63 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 13:33:37.37 ID:P+QgsC3b0.net]
>>59
なるほどね
少なくとも 俺の環境下では >>59の条件で xls のみだな その現象が発生するのは
xlsmは 問題ない

つかもう excel2003までのexcel形式(xls)使うのやめたら? と思うのだけど?

64 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 13:52:53.66 ID:Hh88K1uA0.net]
>>60
全くもって仰る通り。

以前から.xlsmへの切り替えを勧めているが、なかなか全てを切り替えられなくてね。
各個人に持たせているファイルを差し替えろって言ってもメール無視されるし。

あと単純に.xlsmに変えてしまうと
・他のシステムが対応していないせいでxlsしか使えない。
・表の最大値が大きくなったお陰で、既存のマクロだと末端の列列まで処理するループが混ざっていて永久に処理が終わらない。
  (そのくらいマクロ直せよ・・)
・ブックのリンクが貼ってあるせいで過去のエクセルファイル全てのリンクを修復しないといけない。
  (作ったやつ誰だよ・・)
・データサイズの大きい「共有ブック」をxlsmに変えるととてつもなく重くなる。
  (データとマクロ分離しろよ・・)
とか様々な理由があって切り替えが終わってない。

ツッコミどころ満載やで。

65 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 13:56:26.64 ID:P+QgsC3b0.net]
いい 切り替えの機会じゃん
xlsは もうまともに 使えません(キリッ


・・・・と言えたらいいねw

66 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:44:50.72 ID:ELP3hVnQ0.net]
変数宣言を一番上に書くと、
確認する時、スクロールで戻るのが面倒なんですが、
Excelなのに、上の方の画面を固定出来るという発想は無かったのでしょうか。
Excelなのに。

67 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:07:15.86 ID:HsQ+il8a0.net]
そんなことより行番号表示かと。

68 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:10:43.79 ID:1s7BLiGf0.net]
グローバルで別のモジュールに書いてウィンドウを並べるとか

69 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:27:00.50 ID:vYjNISl1x.net]
Excel VBAしかやったことない人が何だか勘違いしてるようだがそもそもVBEはExcelの機能ではないぞ

70 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:34:30.47 ID:vnM/uOfn0.net]
>>63
> 変数宣言を一番上に書くと、
必要な所に書けばいいやん
って言うかスクロールが面倒なほどでかい関数とか書くなよ



71 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:42:30.09 ID:FnbaGtrQ0.net]
>>63
確認する時って
変数の何を確認するの?

72 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:49:13.07 ID:ELP3hVnQ0.net]
>>68
poって何の変数だっけ?
みたいな。

73 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:52:43.48 ID:FnbaGtrQ0.net]
>>69
何の変数ってのがよく分からんのだけど、
Dim Example As Long: Example = 1
みたいに宣言と代入を上の方でしてるって話?
ローカルウインドウとかその他機能でなんとかならんの?

74 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:54:11.19 ID:1s7BLiGf0.net]
中身のわからない変数名を付けるからそんなアホな事をせにゃならんようになるんだ
似たような変数名が多すぎてややこしいならfunctionに分ける等、予め余計な手間が発生しないようにするんだ

75 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:59:18.39 ID:dZkjjWfrx.net]
>>63
書かなきゃよい

76 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 00:21:30.52 ID:foz/Iffu0.net]
ネタだよな
コードウィンドウ分割するだけじゃねえのって思っちゃったけど
i.imgur.com/jnQLIFk.png

77 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 08:57:37.77 ID:k9L+DwNA0.net]
>>63は赤の他人が書いたクソ長いコードを解析させられている気の毒な人だ
と好意的に解釈しておこう

78 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 09:20:18.91 ID:5sPtJFYn0.net]
hoge param1:=xxx, param2:=yyy みたいな書き方に慣れないんですが
dummy = hoge(xxx, yyy) とかではダメな理由ってあるんでしょうか?

79 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 09:33:47.65 ID:TX7Bd0Me0.net]
>>75
別にどっちでもいい。好み

ファイルの保存なんかもこの方が見やすいと思う
例えば保存時で比べる
ファイル形式を定数で打つと分かり辛い
Thisworkbook.SaveAs("C:\foo",43)
こう書けばフォーマットなんだな、ということが見てすぐにわかると思う
Thisworkbook.SaveAs Filename:="C:\foo",FileFormat:="43"
本当はこの方が良いけどね
Thisworkbook.SaveAs Filename:="C:\foo",FileFormat:="xlExcel9795"

他にも引数が大量にあるときやパラメータが複雑な時にわかりやすい。以下は見辛い
dummy = hoge(xxx, , , yyy, , ,zzz)

逆にsum()を
sum arg1:=xxx, arg2:=yyy
なんてすると読みづらいだけになる

と言ってる俺も保存の時ぐらいにしか使わないけどね

80 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 09:53:58.83 ID:5sPtJFYn0.net]
ありがとうございます
事務仕事でExcelVBAをいじる必要があったんだけど
大昔の非構造化BASICやFORTRAN、Cなどの印象しかないので最近の言語は抽象的すぎて分かりにくい



81 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:13:55.47 ID:I6OViHCS0.net]
>>75
その名前じゃあまりメリットないけど引数の名前をちゃんとつけてたら分かりやすい
あと引数がたくさんある場合に後ろの方の引数を指定したい時とか
Workbook.Open FileName:="test.xlsx", AddToMru:=True

82 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:29:20.36 ID:0mLljkpvd.net]
>>77
大昔のCって関数と最初の { の間に変数宣言するようなやつ?

83 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:44:25.75 ID:5sPtJFYn0.net]
>>79
そんなやつ、カーニハンとリッチーの第1版、白いカバーの表紙のやつ

84 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:50:27.63 ID:5sPtJFYn0.net]
変数を宣言しただけでは領域が確保されず
値を代入しただけでプログラムが暴走するんだけど原因に思い当たらず3日間悩んだ挙句に挫折した

85 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:54:07.27 ID:TX7Bd0Me0.net]
>>81
上で見たけど、vbaは内部的にかなり変な挙動をしている
newの時点ではメモリ領域は確保されず、初めてプロパティやメソッドにアクセスした段階でメモリ領域が確保される

また、
set foo = thisworkbook
set bar = thisworkbook
は、foo == barに「ならない」
fooとbarは常に違う参照が生成されるので、別扱いとなる

そのコードを教えてくれれば問題解決できると思う
というか後学のためにも見てみたい

86 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:54:21.25 ID:TX7Bd0Me0.net]
newじゃないや、setか

87 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:19:48.33 ID:nyexelOB0.net]
日本語も変数として使えるからわかりやすい名前つければいい

88 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:57:41.20 ID:w41RCx9Yp.net]
日本語は好き嫌い分かれるからなあ
俺は日本語が見易いけどさ

89 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:59:34.10 ID:TX7Bd0Me0.net]
google翻訳しながら英語変数使うぐらいなら、日本語使ったほうが絶対に良い

90 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 13:11:22.41 ID:DWQm6waj0.net]
Visual Basic Edtor って、単体じゃ入手できないよな?
しかもExcelのバージョン違えば使い物にならんヶ所出てくるし
ThisWorkbook だって、どの?に成るだろうし
Microsoft Script Editer じゃあるまいし、どう考えてもExcelの付属品っつー立ち位置だろ
Excelの「おまけ」機能に決定

Word とか Outlook とかバリエーションは在るにしても



91 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 13:21:20.46 ID:9VI8goCbM.net]
根本的に勘違いしててワロタw

92 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 15:37:38.60 ID:VKPh1Lah0.net]
>>73
>>63じゃないけど、これ知らんかったわ

93 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 18:04:39.38 ID:yKxdvQKVr.net]
無知って凄いね
感心した

94 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 18:24:24.01 ID:KHEwJCpd0.net]
>>63
C#とかVB.netでアドイン作ればOK。
VBAでもセキュリティに問題出るけど作ることは可能。

95 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 18:58:10.02 ID:E4Y ]
[ここ壊れてます]

96 名前:2PkRr0.net mailto: Excel VBA で Access と連携する業務システムって、ここの人達的にざっくりどう思いますか。社内システムの改良にアサインされてしまった。 []
[ここ壊れてます]

97 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 19:08:49.87 ID:KHEwJCpd0.net]
>>92
どう思うって、どういう意味?
別に何とも思わんが。

98 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 19:16:24.30 ID:E4Y2PkRr0.net]
>>93
前スレ478さんが、VBAでSQLは鬼門って書き込みしてるのを覚えてたもんで、苦労するシステム構成なのかなぁと

Excel VBAの質問じゃないからスレチでしたかね、すんません

99 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 19:18:51.52 ID:bcgPDffLp.net]
>>92
良いんじゃね

100 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 19:51:15.58 ID:nuBqrdCz0.net]




101 名前:苦労するかどうか、VBA以外にもSQL知っておかないといけないような気もするけど… []
[ここ壊れてます]

102 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 20:11:15.06 ID:SOOWfvsE0.net]
なんでVBAでSQLが鬼門なのか、理由とかあるの?

103 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:48:00.24 ID:ZQ24XbJz0.net]
Accessと連携なら、問題ないんじゃ…。
単体だと、更新処理系が面倒。
参照だけなら大差ないと思う。

104 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:03:15.15 ID:SOOWfvsE0.net]
ExcelVBAとAccessVBAでSQLの構文に違いがあると言いたいの??

105 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:25:58.77 ID:TX7Bd0Me0.net]
>>97
やったらわかる
phpでsqlは黄金パターンでうまくいく。db設計もいつも通り。文字コードはutf8
エラー処理も死ぬほどある

C#やVBはかなりめんどくさい、というよりもそもそも使う必要がかったので、前任者の引き継ぎが非常にだるい
つまずく場面としては、具体的には文字コード。shift-jisだと最悪。また、db設計が適当
db接続も何かうまくいかない

106 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:25:01.03 ID:SOOWfvsE0.net]
>>100
要するにお前のスキルが低すぎてVBA程度もロクに使いこなせない、としか理解できない内容だな

107 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:32:49.13 ID:RVvLdbs7x.net]
>>100
その差が大きいとは思えないけど。
vbaでもutf8扱えるよ。
接続はodbcで繋がる。

108 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:35:59.38 ID:S4VyllBW0.net]
ODBC=おでぶちゃん

109 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:10:42.76 ID:iEpK3Njn0.net]
>>99
SQLのUpdate、Delete、Replaceが駄目。

Excel側のRows().Deleteとか、Replace使えばいいだろって?
遅くないですか、それ。

110 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:16:44.29 ID:o4hB34de0.net]
それはVBAじゃなくてオラクルの問題なんじゃないのか?



111 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:22:22.71 ID:o4hB34de0.net]
>>105
どこからオラクルが出てきた!?

112 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 03:17:25.81 ID:GlMb9Muz0.net]
>>100
君なあ、能力の問題なのか性格の問題なのか分からんが説明が足らんのだよ。
ExcelからDAOを使うかADOを使うかによって変わるのは当然のことだし、ExcelとAccessでどうとか言われてもどういう観点の話か分からんだろ。

113 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 03:20:01.97 ID:GlMb9Muz0.net]
というか、文字コードの話が出てくるってことはODBCとかドライバの話まで出てくるじゃねーか。
それじゃあ違って当然だ。

114 名前:デフォルトの名無しさん [2017/05/21(日) 07:08:05.80 ID:S79+g3VB0.net]
質問させてください。
excelからoutlook起動させてメールを作成するマクロ作ってます。
数パターン用意したテンプレートに任意の文言を置換・挿入してoutlookに渡す?感じです。
動作自体はうまくいってるんですが、なぜかoutlookに渡した本文の文字サイズが12ptになってしまいます。
outlookのデフォルトの文字サイズは10ptだし、12ptになる理由が全く想像つきません...
漠然とした質問で申し訳ないですが、outlook側で設定したデフォルトの文字サイズでメールを作成するようにできないでしょうか?

初心者なので、的はずれなこと言ってたらごめんなさい。

115 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 07:40:39.09 ID:DM2pkhyK0.net]
>>109
とりあえずぱっと思いつく原因は、エクセル側が12ptなのでそれがoutlook側に渡っている気がする
テキストだけ渡すようにするか、エクセル側を一時的に10ptにしてメール作成後に12ptに戻すとかで対処できるかもしれない
全然違うかもしれない。コードを見せてもらえたら試してみるよ

116 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 08:14:42.08 ID:1Ubd4ETn0.net]
>>97
>>104 とかの話でシートを SQL で操作する話を言ってるんだろ
あと >>100 は単にディスりたいだけ
PHP だといつも通りの DB 設計が

117 名前: VB/C# だと DB の設計が適当とか C# に挫折した底辺 PHPer の煽りだろ []
[ここ壊れてます]

118 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:34:47.94 ID:bvqoufgo0.net]
しかしなんで今どきAccessなんか使うんだろ。
SQL Server簡単だよ。Management Studio使いやすいし。

119 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:46:01.40 ID:76EOq35R0.net]
事務的な作業ならAccessで十分だからだろうな。
というかローカルで使えるDBソフトってAccess以外にあんのかな。

120 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 10:23:28.85 ID:1Ubd4ETn0.net]
>>112
DBMS だけじゃなくてレポート機能とかが欲しいんだろ

>>113
localhost で使えばどんなデータベースもローカルで使えるけど?
サーバーを立てたくないと言うなら sqlite とか
SQL-Server Compact Edition が見捨てられつつあるのが残念



121 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 11:05:17.83 ID:DM2pkhyK0.net]
使える人が多いってのは会社では非常に大きなメリット
桐ってソフトを使ってたけど、使える人が少なすぎてaccessに変えることになった

そしてword、てめーはダメだ

122 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 11:48:21.26 ID:S79+g3VB0.net]
>>110
レスありがとうございます。
excel側の文字サイズは10ptなので、ご指摘の原因ではなさそうです。
恥ずかしいですが、ファイルをアップロードしました。
ダウンロードキーは「excel」です。
https://www.axfc.net/u/3807959
実行ボタンを押すと、outlookが起動されてメールが作成されます。
ご確認お願いします。

123 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 14:13:30.87 ID:/uUqSVmCx.net]
>>113
発想が貧困過ぎて草

124 名前:デフォルトの名無しさん [2017/05/21(日) 14:33:37.38 ID:DM2pkhyK0.net]
>>116
さっぱり分からん。なんか挙動がバグくさい
エクセルvbaからメールを作るとフォルトで12pxになるようだ。これは仕様と捉えていいと思う
で、解決方法としてはこう
<body>タグにインラインcssを設定する

Sub msg2olapp()
'''Outlookでメール作成
Set mail_item = olapp.CreateItem(0)
mail_item.To = toadd 'To
mail_item.Cc = ccadd 'Cc
mail_item.subject = mailsub '件名
mail_item.body = mailbody '本文
mail_item.htmlbody = Replace(mail_item.htmlbody, "<BODY>", "<body style=""font-size:13px"">")
mail_item.Display '表示
End Sub

インラインcssで設定したフォントサイズは何故か3/4になる。理由も意味もわからんが、ゲイツの趣味かなんかだろう
深く考えずに10pxの4/3、つまり13pxでインラインcssを指定する。こうすれば10pxのフォントサイズになる

125 名前:デフォルトの名無しさん [2017/05/21(日) 17:02:34.86 ID:S79+g3VB0.net]
>>118
ありがとうございます。
望み通りの動作しました。

ちなみに、自分の環境では13pxだと6.5ptになってしまいました。(1/2になる?)
あと、>>116で作成したメールのタグを見てみたんですが、「p.MsoNormal...」ってとこのfont-sizeが12ptになっていて、そこを10ptに変更するとうまく表示されるようになるようです。

126 名前:デフォルトの名無しさん [2017/05/21(日) 18:41:32.83 ID:Ox0ZLs5T0.net]
いまだにptとpx違いがわからない人っているんだね勉強になる

127 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 18:46:19.26 ID:DM2pkhyK0.net]
>>120
ありがとう本当に気づかなかった
web触ってるとptって単位は記憶から抹消されるわ

128 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 23:02:22.04 ID:+shsKnP00.net]
データベースとの接続処理で一つ教えてください

Sub test()
Dim wkR As New ADODB.Recordset


S_RecordsetClose (wkR)
End Sub

レコードセットのcloseとnothingの処理を一つにまとめようとしたんですが、
型が一致しません   と S_RecordsetClose (wkR) のところでエラーになります

Debug.Print TypeName(wkR) で見たら当然(だと思うんですが)Recordsetに
なってるんで、なんでこれで型の不一致になるんです?

ちなみに S_RecordsetClose に書いた処理は↓です

Sub S_RecordsetClose(ByVal rec As Recordset)
rec.Close
Set rec = Nothing
End Sub

129 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 23:12:50.81 ID:bvqoufgo0.net]
>>122
テキトーに答えるけどByValで受け取った変数に
Set rec = Nothing
しても意味ないと思う

130 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 23:25:21.22 ID:aKuhNyUq0.net]
>>122
型の不一致の根本原因は (wkR) だと思われ

S_RecordsetClose wkR

Call S_RecordsetClose(wkR)
にしる



131 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 23:26:47.02 ID:+shsKnP00.net]
>>123
あ、、、、言われたらそうだ^^;。

それは確かにその通りで、この処理自体の問題だとは思うのですが、引数を受け取る段階で型が一致しないのはどうして?
ちなみにByRefでも同じなんですが。

132 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 23:34:14.77 ID:+shsKnP00.net]
>>124
リロってなかった
Call S_RecordsetClose(wkR)
でかつByRefにしました。
ありがとです。
動作についていまいちよく判ってないっす^^;

133 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 00:57:19.08 ID:MyMt2epv0.net]
>>122
ADODB.Recordsetと、Recordsetの違いじゃないの?
Recordsetって複数あるから省略しちゃうとどれ指してるか分からなくなるぞ。

134 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 12:17:47.19 ID:0dv64TbrM.net]
質問ですがVBAのプロパティやメソッドの扱い方について詳しい入門書はありませんか?
会社でマクロ使うため超入門(マクロの記録からつかうやつ)と学校で教わったプログラム知識(basicとc++)でなんとかやってるんですがやはりVBAの命令の扱い方が怪しく…
予算は2〜3千円程度でお願いします

135 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 12:26:52.79 ID:csbpN2HFr.net]
>>128
ExcelとAccessのVBAの本なら腐るほどあるからここで聞かなくてもググれば良い
Word、Outlook、PowerPointのVBAとなると日本語ではかなり少なくなるので教えるまでもなくググれば出てくる
ググって出てこないなら英語書籍やネットブログを漁るか、MSDNを直接参照することになるね

136 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 12:56:42.47 ID:AKn80VTzp.net]
>>128
vbeでF2キー

137 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 13:29:08.29 ID:o9BH+SoNH.net]
>>128
メソッドやプロパティの方から網羅的に学習するのはきついので、やりたいことの方から網羅的に
説明してる本の方がいいと思う。

たとえば、
『Excel VBA逆引き辞典パーフェクト』
www.shoeisha.co.jp/book/detail/9784798146584

似たような『○○700』みたいなのがいくつかあるから、どれか選んで流し見するのがいいと思う。

138 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 14:44:41.19 ID:nSxPTPKq0.net]
本なんて必要か?

多少の英語カがあればインテリセンスの中からそれっぽいもの選んで実験+Web検索で十分だろ。
あとは、インタフェースへのセンス(絶対この場合だったらこんなプロパティがある筈という嗅覚)とかね。

初心者だったら以下に気を付けてコード書くと良い。

・マクロ記録したらコードの中で必要無い部分をとことん削るのが常識と考えよう。
・それで動作確認して問題無いことを確めよう。
・削って問題無いと思っても、その場では問題無くても場合により問題出ることあるから削って残った部分をWeb検索で皆はどうしてるのかを確認しておこう。

・英語的にそのコードの意味を考えよう。
'A1を選択
Range("A1").Select

'選択したものの値を1にする
Selection.Value=1

だったら当然
'A1の値を1にする
Range("A1").Value=1
ということになる。

139 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 15:17:01.68 ID:o9BH+SoNH.net]
>>132
そんな無駄な試行錯誤や調査を、たかだか2,3000円の本を読むだけで省略できるんだが。
入門書とか馬鹿にする人いるけど、たいてい>>132みたいな感じだね。

140 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 15:42:03.39 ID:W5+S3ypfM.net]
>>132
デジタルに調べる良さとアナログに調べる良さは別物だよ

アナログだと「調べるつもりもなかったけどたまたま見かけて使ってみたらいい感じになった」ってことはアナログならでは



141 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 15:47:18.44 ID:0dv64TbrM.net]
色々意見ありがとうございます
うちの会社ネット禁止なので本に頼るしかない事情があるのです…
ネット可ならネット検索でやりたいのが本音です

142 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 16:20:04.11 ID:yUPIrMPGd.net]
>>135
開発環境だけでなくどこからもネットに繋がらないというなら会社に文句をいうべき
煽りではなく

143 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 18:00:49.91 ID:AKn80VTzp.net]
>>133
その試行錯誤が無駄かどうか長期的に考えれば分からない

144 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 18:15:29.31 ID:MyMt2epv0.net]
業務なのか自主的なのかで話が変わってくると思うけど、
VBAいじるのにネット無しは辛いなぁ。

145 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 18:29:46.83 ID:o9BH+SoNH.net]
>>137
書籍で基本的な知識を学んだ後でも、試行錯誤はするでしょ。
その試行錯誤には意味がなく、>>132のような試行錯誤には意味があるという主張?
だとしたら、それは自分で勝手にやってくださいと言うしか。

146 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 18:56:05.69 ID:pWkjNq5k0.net]
おおむかしは、FAXでMicrosoftから資料を引き出していたものじゃ
先ず、目次を引っ張れるFAX番号に掛けて、延々何十枚もの目次をげっと
その目次から欲しい機能を探し出し、今度は欲しい機能のFAX番号へ掛けて
これまた延々と資料を文字通り引きずり出しておったわ

よく覚えてないけど、そんなかんじ
その頃のFAXはB4の感光紙で、うっかり陽の当たるところに置きっぱで
外出したりすると、帰社した時には真っ黒くろすけで愕然と膝から頽れたり

147 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 19:18:46.60 ID:g3oHLvAy0.net]
>>135
検索できるPCを用意してもらったほうが良い。もしくは自分で用意するか
ネットでその都度検索できないとあまりに効率が悪い

148 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 19:45:17.11 ID:ewHRkUXfd.net]
>>136
金融じゃ普通だぞ
いちいちググらないとコード書けないやつはお呼びじゃない

149 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 20:10:34.61 ID:3QNKGHFQ0.net]
>>142
金融案件みたいなデスマーチの温床に言われてもww

150 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 20:13:17.75 ID:g3oHLvAy0.net]
>>142
金融業界にvbaでセコセコやってるやつなんでいねーよwww
帳票システムは全部外注、ボタンひとつで出るようになってるんだよwww
しかもエクセルよりアクセスの方が使用頻度が高い

岡三証券とかは知らんけど



151 名前:デフォルトの名無しさん [2017/05/22(月) 20:44:19.38 ID:rXkCxzW60.net]
なんかさあ…もう少しオープンに自分の無知をさらけ出そうぜ
無知ってそんなに悪いもんじゃないぜ?

152 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:21:30.49 ID:yUPIrMPGd.net]
>>142
金融でもいわゆるOA環境は与えられててネットは見れるだろ

153 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:25:21.82 ID:KgZfg/yx0.net]
>>139
どっちの試行錯誤も意味があるんじゃね
試行錯誤が無駄といったのはそっち

154 名前:デフォルトの名無しさん [2017/05/22(月) 23:36:28.18 ID:fGR6ky/u0.net]
空白と重複をなくしたドロップダウンリストを作成したいんだけど、作業列つくらないと厳しいですか?
A列に重複がたくさんあるものから、重複を削除したリストをB2に追加したいですが、VBAでは厳しいですか?

155 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:39:29.41 ID:W5+S3ypfM.net]
>>148
繰り返しとifでいける

156 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:41:44.53 ID:EzxM7okx0.net]
vba使い始めた頃はヘルプに結構お世話になったけどなあ
最近のバージョンだとオフラインのヘルプが入ってないからきついよね
>>128のバージョンもダメなやつなのかな

157 名前:デフォルトの名無しさん [2017/05/22(月) 23:43:11.76 ID:fGR6ky/u0.net]
>>149
ループでリストってできるんですか!!知りませんでした。
例えば1〜"A1に入力された数字"までのリストとかも可能ですか??
A1に20とあった場合、1・2・3・4・5・6・・・・20といった感じで。

158 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:49:46.04 ID:g3oHLvAy0.net]
>>151
Sub Macro1()
arr = ""
For tmp = 1 To Cells(1, 1).Value
arr = arr & "," & tmp
Next
Cells(1, 1).Validation.Delete
Cells(1, 1).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=arr
End Sub

>>148
vbaでもできるけど作業列作ったほうが早いと思う
俺なら作業列を使う

159 名前:デフォルトの名無しさん [2017/05/22(月) 23:57:33.95 ID:fGR6ky/u0.net]
>>152
完璧すぎて鼻水でました
ありがとうございます

160 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:58:56.03 ID:EzxM7okx0.net]
俺も作業列勧めるな
直値で入れると文字数の制限があるだろ



161 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 00:12:52.19 ID:fMtQNmiV0.net]
>>149
If 俺 = "イケメン" Then
  俺 = 俺 & 彼女
End If

162 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 00:30:37.63 ID:bLVWAbWWM.net]
>>155
イケメンだったらおまえが消えて新しい命に書き換えられてしまうな

163 名前:デフォルトの名無しさん [2017/05/23(火) 01:06:28.10 ID:G9caL/WXp.net]
>>155
実行時エラー
型が一致しません。

164 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:16:03.77 ID:aBKdrymv0.net]
>>157
酷過ぎワロタwww

165 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 02:03:21.06 ID:3SYK1IcP0.net]
>>139
省略する人は試行錯誤を大してやらないよ。
答えを求める奴は結局身にならない。

昔、高校受験用に行ってた塾にいた天才共は英語の辞書を丸暗記してたが俺は天才じゃ無いので英語の使い方(しくみ)を勉強した。
プログラミングもしくみが重要で個々の単語は都度調べれば良い。

本は必要無いと思うけど有っても良いとは思うし、自分もかなり買う方だ。
でも自分が本を買うのは興味からだな。
あ、自分は今はVBAの本を買うことはありません。
初心者なら読んでおもしろそうだったら買ってみれば良いんじゃない?

166 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 06:24:30.98 ID:2tE3UxZ+0.net]
多分その天才どもは英語の仕組みは既に把握したうえで、
上積みとして単語を丸暗記してるんじゃないか?
仕組みがエンジン、単語がガソリンと考えたら、
エンジンだけでもガソリンだけでも走れない。
効率の良いエンジンは少しのガソリンでも遠くまで走れるし、
沢山ガソリン積めれば少々お粗末なエンジンでもやっぱり遠くまで走れる。
どっちが大事じゃなくて両方大事。

167 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 06:30:19.51 ID:DZlqaxyP0.net]
試行錯誤する事で答えが判らない事を解決するスキルが身につく
このスキルはVBAにとどまらない
他のことにも応用できる

168 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 06:50:44.94 ID:3FTCY8r/r.net]
本は嘘が書かれてたりするから厄介

想定読者の知識レベルに合わせる理由でいろんな説明を端折ってミスリーディングな表現になってしまってたりするし、著者の知識が根本から間違ってるときもある

169 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 07:27:49.86 ID:pxpR ]
[ここ壊れてます]

170 名前:UDcgM.net mailto: 結局身に付かないから自分で調べろとかw
ここで聞くってことは理解したいんじゃなくて答えが知りたいだけなんだよ
教える気がないなら黙ってろ
[]
[ここ壊れてます]



171 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 07:34:02.08 ID:Y2XmHkKh0.net]
>>163
勉強の仕方の話だよ
回答はする

172 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 10:12:46.48 ID:3SYK1IcP0.net]
>>163
ほら、これが弊害だ。
きちんとアンカー追っていけば初心者がどうやって勉強すれば良いかの話から来てるのがわかる筈。

直近のレスだけ見るような手っ取り早さを求めるような奴には教えても無駄になるだけだ。

173 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 10:34:38.44 ID:BzWPCBXiH.net]
>>159
一生、
> Range("A1").Select
> Selection.Value=1
> Range("A1").Value=1
みたいなレベルを手探りで探し出すようなことやってろよ。誰にも迷惑かからないし。
だが、人には勧めるな。

174 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 11:06:55.30 ID:3CTg7HpXa.net]
>>166
それが分からないようじゃレベルがうかがいしれるねw
というか、あれを書いた俺がそんなレベルに無いことなんて想像も出来ないのか?

多少出来る奴なら誰でもマクロ記録のままのゴミコードを否定するだろうよ。

175 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 11:58:25.09 ID:IihgumLkM.net]
>>167
時間が無駄だってことだと思う
お前の技術レベルの話じゃない

物事には期日があるんだからそんなどうでもいいことに時間使うんなら本買った方がいい

176 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 12:01:49.66 ID:ZBpIQRDpM.net]
>>167
コミュ障技術者にありがちなバランス感覚の無さだな
VBAを理解する事が目的じゃないんだよ

177 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 12:06:29.03 ID:TeKp5Ts0d.net]
Validationて何だ?
と思うくらいExcelのオブジェクトのことを知らない。
VBAばっかりだからなあ

178 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:08:14.56 ID:BzWPCBXiH.net]
>>167
> というか、あれを書いた俺がそんなレベルに無いことなんて想像も出来ないのか?
お前のレベルなんか知ったこっちゃない。

> 多少出来る奴なら誰でもマクロ記録のままのゴミコードを否定するだろうよ。
ケースバイケースだし、議論する価値ない話題だね。

179 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:09:17.49 ID:TeKp5Ts0d.net]
友達じゃあるまいしな

180 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:19:37.53 ID:DZlqaxyP0.net]
>>168
それは答えが判ってる事にしか使えない
仕事では誰にも答えが判らない事を解決する事も多い

答え合わせができる問題で訓練した方が良い



181 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:26:08.31 ID:DZlqaxyP0.net]
答えが判ってることを効率的に片付けるには
答えを聞いたり調べれば良いけど

答えが判っていない新しいことを実現するには
その方法は使えない

自分で考えずに答えを求める事が
日本でイノベーションとかが比較的少ない原因かもな

182 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:29:05.48 ID:BzWPCBXiH.net]
新しい何かを始めるにあたって、入門書を読むとこから始めるのが「答えを求めること」なのか

183 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:36:08.12 ID:S9zv8N7Q0.net]
そして、答えはひとつだけでは無い

184 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:40:08.67 ID:DZlqaxyP0.net]
>>176
答えは一つじゃないから
入門書にこだわる必要はないな

入門書は何のために読むの?
小説か何か?
自分が判らないことの答えを知るためじゃないのか?

185 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:47:15.75 ID:OJ3bnrAra.net]
>>168
>>169
>>171

>一生、...みたいなレベルを手探りで探し出すようなことやってろよ。

に対してのレスだからコミュ障はオマエラだよ。
そもそもの話のはじまりは>>128だから具体的な案件で期日が既にあるという話じゃない。

コミュニケーションの取れない奴はこれだから困る。

186 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:56:20.46 ID:BzWPCBXiH.net]
>>178
この流れのそもそもの始まりは、>>128に対して>>132みたいなレスをしたからだ。

そもそも>>128は、おすすめの入門書を聞いてるんだよ。
それを本なんか不要とするからこうなった。

187 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 14:43:29.82 ID:YXklfP5tx.net]
お勧めの本は知りません
をやたら回りくどくやるのなw

188 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 15:12:36.24 ID:zqdwD1uL0.net]
>>180
マは性格捻くれたクソ野郎が多いからw

189 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 16:36:03.71 ID:ZjKWQBEz0.net]
たしかに>>132はクソレスだな
質問スレなんだから、素直におすす目入門書を挙げれば済む事

190 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:13:36.59 ID:PCM7pP9za.net]
横レスだけど128の質問も少し違和感がある。
"詳しい入門書"というのはなかなかないんじゃないか。

128は少なくとも全然vbaが分からないわけでわなくプロパティやメソッドの使い方が難しいと言ってるわけだから求めてるのはもはや入門レベルとは思えない。
感覚としては優しく丁寧に書いてある、という意味かもしれないが。



191 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:22:11.37 ID:IihgumLkM.net]
>>173
それは設計の話だな
実装からスタートする案件だとしたら話は変わってくるけど、、、

192 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:45:32.25 ID:YXklfP5tx.net]
早く教えて挙げて

193 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:53:06.25 ID:IihgumLkM.net]
>>131

194 名前:デフォルトの名無しさん [2017/05/23(火) 20:04:53.74 ID:vE+85AhN0.net]
逆引き系の本てやりたい事がズバリ書いてある事ってどんだけあるの?
本当に使えるのかいまいち信用できん

195 名前:デフォルトの名無しさん [2017/05/23(火) 20:24:44.89 ID:4WGZqsHw0.net]
星君の業務改善でいいじゃん

196 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 20:25:40.01 ID:Y2XmHkKh0.net]
逆引きは、逆引きがいらない事に気づかせてくれるありがたい本だよ

197 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 20:59:03.89 ID:mDga4JbQ0.net]
そう、誰も、
本を
読んでいないのである・・・

198 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 21:24:06.93 ID:PaLG7AjU0.net]
勤務表を作りたいと考えています
A1からの各セルにA1勤務開始時間、A2勤務終了時間、A3休憩時間と入れたら
A4からの各セルにA4割増無の勤務時間、A58時間以上の勤務時間、A6休日労働時間、A7深夜労働時間
とVBAを使用して入れたいのですがA7に入れる深夜労働時間の求め方が思い浮かびません
深夜勤務は22:00〜5:00の間なのですが21:00〜4:00、18:00〜6:00みたいな勤務の場合どうやって深夜労働時間を求めればいいのでしょうか?

199 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 21:35:35.13 ID:z+zsvOR8p.net]
>>191
就業規則をよめ

200 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 21:41:04.89 ID:Y2XmHkKh0.net]
昔作ったなぁ

まず概念として、
0-5,5-22,22-29,29-46
と4つの区分に分ける。0-5と22-29を分けるのが味噌。一緒にするとややこしくなる
俺は甲時間 乙時間 丙時間 丁時間と名付けていた

入力は3項目じゃなく6項目。
出勤、退勤、甲乙丙丁それぞれいつ休み時間を取ったかわかるようにする

残業代は労働時間の合計-8時間になり、
休日は休日フラグを作り、勤務時間*割増分を別枠で付ける。

で、
21:00〜4:00の場合の考え方は
開始時間が5:00以前なら5:00△開始時間が甲時間(仮)。終了時間が5:00以前なら更に5:00△終了時間を甲時間(仮)から引く。これが甲時間。今回は0
乙時間も似たような感じで、開始時間が5:00~22:00なら22:00△開始時間が乙時間(仮)。終了時間が22:00以前なら更に22:00△終了時間を乙時間(仮)から引く。これが乙時間。今回は1:00
あとは丙時間、丁時間も同じように求める

個人的には関数の方が修正しやすい、見通しも良いで作りやすいと思う

>>192
無能の自己紹介はいらないよぉ



201 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 21:41:20.14 ID:Y2XmHkKh0.net]
>>193>>191へのレスね

202 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:01:45.26 ID:ADqqpGm90.net]
以前、ここでシフト表を作りたいって人がいて、んで別スレまで出来てあれこれ皆が頑張っていたけど、途中で多分本人がやる気なくしてw
アボンだったな

203 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:07:18.85 ID:z+zsvOR8p.net]
>>193
残業代(金額)が、労働時間-8時間(時間)
とかw

好意的に解釈して残業代じゃなくて残業時間だとしても
-8時間かどうかは就業規則を読まないと判らないだろ

204 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:34:24.97 ID:D2f+EUmlM.net]
>>191
timevalue関数はご存知かな?
日時の時間部分だけをDate型に変換してくれるけど、Date型の値は24時間(=1日)を1とした数値として扱える。
以下、日付を跨ぐ値は1(=24時間)を足してます。

深夜開始 = TimeValue("22:00:00")
深夜終了1 = TimeValue("5:00:00")
深夜終了2 = TimeValue("5:00:00") + 1
出勤 = TimeValue(Range("A1").Value)
退勤 = TimeValue(Range("A2").Value)
If 出勤 > 退勤 Then 退勤 = 退勤 + 1
休憩 = TimeValue(Range("A3").Value)

労働時間 = 退勤 - 出勤 - 休憩
深夜労働時間 = IIf(出勤 < 深夜終了1, 深夜終了1 - 出勤, 0)
If 出勤 < 深夜終了2 And 退勤 > 深夜開始 Then
深夜労働時間 = 深夜労働時間 + IIf(退勤 < 深夜終了2, 退勤, 深夜終了2) - IIf(出勤 > 深夜開始, 出勤, 深夜開始)
End If

たぶんこんな感じ。
出勤表なんて作ったことないからテキトーですw
おかしかったら誰か直して〜

205 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:55:16.52 ID:Y2XmHkKh0.net]
?cells(1,1).Address
で絶対参照の$A$1は取得できますが、
行のみ相対参照の$A1を取得する方法はありますか?

206 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:59:09.40 ID:p/2ZNHs9p.net]
それくらいヘルプ見れ
https://msdn.microsoft.com/ja-jp/library/office/ff837625.aspx

207 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:08:02.98 ID:Y2XmHkKh0.net]
>199
ありがとうございます、解決しました

208 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:10:34.50 ID:Y2XmHkKh0.net]
Range.Address プロパティ (Excel)について質問です

AddressはRangeオブジェクト内の関数ですが、vbaだと、値を取得する場合はプロパティと呼ぶのでしょうか?
引数があってもプロパティと呼ぶのですか?

他言語ではオブジェクトのメンバを直接取得したり値を設定するのがプロパティ、式がメソッドと思っていたのですが、
vbaが特別なのでしょうか。それとも他にこういう区分けの言語はあるのでしょうか
piyo-js.com/01/keyword.html

209 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:39:33.41 ID:kSdgf1uK0.net]
プログレスバー使ったら値更新するたびにフォーカス奪うようになって別ウィンドウで文字入力とかスクロールしてると邪魔される
せっかくの長い処理中に別作業できるメリットが損なわれるようになってしまって困ってるんだけど何か解決策ないでしょか…?
プログレスバーないと処理中不安になって長く感じるのでできれば使いたいです
ちなみにWindows7上で使ってるExcel 2010です

210 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:44:33.10 ID:CFQVOeJer.net]
>>201
Addressは要はgetterですよね
Rangeクラス内部から見ればメソッドのように見え、クラス利用側から見るとメンバ変数のように振る舞いますが、
実態はString型の変数を返すメソッドでふ
メソッドがパラメーターを持つのは普通のことじゃないですかね



211 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:47:22.57 ID:CFQVOeJer.net]
でふって何だよ馬鹿かよ俺

212 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:52:40.77 ID:Y2XmHkKh0.net]
>>191
暇だから作った
www.dotup.org/uploda/www.dotup.org1258917.xlsx.html

>>203
そうそう、そうなんです
で、vbaではそれをプロパティと呼ぶの?という質問なんです
このリンク先ではaddressをプロパティと言っています
https://msdn.microsoft.com/ja-jp/library/office/ff837625.aspx

213 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:55:26.87 ID:CFQVOeJer.net]
>>201
引数つきのgetter/setter(プロパティへのアクセサ)を作れるかどうかは言語仕様によります。
VBでは作れる、というだけの話

214 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 00:16:59.54 ID:jVvBcvpG0.net]
今日飲んだビール.TopValue

215 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 01:48:09.41 ID:nPuq94IW0.net]
>>205
自作クラスで言うと、
property get/set/let で定義するのがプロパティ、
sub/function で定義するのがメソッド。

range.addressみたく、getだけ定義されているプロパティとfunctionは外から見たら同じようなものだし、気にする意味がないと思う。

216 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 07:02:03.86 ID:NmLbt9VS0.net]
>>206>>208
なるほど、ありがとうございました
色々な考え方があるのですね

>>207
韓国産でしたっけ?危険ですのでやめたほうが良いと思います
お金のために健康を捨てるのはもったいないです

217 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:47:49.12 ID:ktSIKEk8H.net]
>>202
ステータスバーに進捗状況を表示するようにしたら?

218 名前:デフォルトの名無しさん [2017/05/24(水) 14:14:59.56 ID:9bsixbB10.net]
VBA勉強中の初心者です。
最終的にやりたいのはテキストエディタから一部データを抜き出すのをしたいんですが抜き出し方がわかりません。
メモ帳にログが取り込まれてそこから必要なデータを取り除きたいです。

コンビニのレシートがデータしてるものと考えてください。
それでそのレジの最後の一台当たりの発売金額がわかるんですけど発売金額を抜き出したいのですが何をどうしたらいいのでしょうか?
まだ変数と制御構文くらいしか理解していません。

219 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 14:38:10.49 ID:ktSIKEk8H.net]
>>211
正規表現(RegExp)を使うと、指定したパターンに適合する文字列を抜き出せる。
以下は、"発売金額 \1,000"という文字列から"1,000"を抜き出すコード。

Sub foo()
  Set regex = CreateObject("VBScript.RegExp")
  regex.Pattern = "発売金額 \\([\d,]+)"
  
  Set res = regex.Execute("aaa発売金額 \1,000 bbb")
  If res.Count > 0 Then
    Set res2 = res(0).SubMatches
    Debug.Print res2(0)
  End If
End Sub

220 名前:デフォルトの名無しさん [2017/05/24(水) 14:44:53.85 ID:9bsixbB10.net]
おお!ありがとうございます。
これを元に一つ一つググりながら理解していこうと思います。



221 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 14:53:05.51 ID:9OGm2Cju0.net]
>>211
VBAからADO使ってログファイル読み込みその際にSQL使って絞り込み

>>212
fooを使うんじゃねえhg

222 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:37:48.65 ID:NmLbt9VS0.net]
なんでfoo使うのダメなの?

223 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:45:27.67 ID:BVqzNkwop.net]
>>214
何でテキストファイルを読み込むのにSQLとかADO使うの?

224 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:52:32.09 ID:qKRKK3Glx.net]
>>216
適材適所

225 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:02:38.69 ID:LTICL+DVa.net]
HYPERLINK関数(mailto:)を使って、メールを送信するシートを作成しました。
B2からB30セルまで、ハイパーリンクが設定されている状態です。
この、B列に並んだハイパーリンクを全てクリックして自動で実行したいのですが、どのようなコードを使えばよいのか分かりません。

Hyperlink.Followメソッドでは、関数によるハイパーリンクを開けないことは分かったのですが、何か代替手段はあるでしょうか?

226 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:18:29.39 ID:NmLbt9VS0.net]
>>218
マクロ4.0でいけるっぽい
https://oshiete.goo.ne.jp/qa/7192323.html

227 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:09:08.13 ID:YRGsLxEEr.net]
>>218
なぜハイパーリンクしてるの?
VBAでセルの文字列データを取得して、それを使ってふつうにメールアイテムを作成して送信すれば良さそうだが

228 名前:デフォルトの名無しさん [2017/05/24(水) 20:17:47.99 ID:WW1YGaoR0.net]
>>220
それはあらゆる場面において最低の解法
なぜかは自分で考えてね

229 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:48:39.32 ID:42FTyawn0.net]
だから、ちゃんと教える気がないなら黙ってろと

230 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:49:24.31 ID:NmLbt9VS0.net]
>>221
横からだけどさっぱり分からない
教えてください



231 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:12:42.89 ID:9OGm2Cju0.net]
>>216
>>211見てなんで使わないと思ったの?

232 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:23:52.71 ID:YRGsLxEEr.net]
>>221
あらゆる場面で、というのは随分と強い主張だな
シートのUI上でハイパーリンクを設定すべきかどうか、コード側でメールアイテム作成を制御すべきかどうかは設計次第だろ

233 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:00:58.40 ID:LLuwxDnS0.net]
>>193
>>205
ありがとうございます。入力フォーマットが既に決まっていて変更できず休憩時間を手入力させるのは難しいです
21:00〜6:00の場合、22:00〜5:00の時間が何時間含まれているかわかればいいんですがいいロジックが思い浮かびません
今思い浮かんだのは1ヶ月間を0〜744時と考えて、24(n-1)を足せば求められるんではと考えてしまいます


あと今日VBAでSQLのクエリ文を作っていたのですがString型って文字数制限があるんですか?
それにに引っかかったみたいで途中クエリが消えてしまい原因がわからずかなり苦戦しました

234 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:03:01.52 ID:BVqzNkwop.net]
>>224
何でテキストをsqlで読もうとするの?

235 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:06:50.11 ID:NmLbt9VS0.net]
>>226
数式読みなよ、全部書いてる
www.dotup.org/uploda/www.dotup.org1258917.xlsx.html

あとstringに制限は事実上ない
一旦varchar(255)辺りに入れてない?テーブルの制限に引っかかってる気がする

236 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 00:02:05.58 ID:rwwycwh80.net]
>>227
>>211見てなんで使わないと思ったの?

237 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 00:54:27.96 ID:UDUA6Pg7p.net]
>>229
sqlって何する為のものか知ってる?

238 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 01:14:28.72 ID:+tui60Va0.net]
SQLはOracleに代表されるようなDBMSを制御するための言語 ExcelでもDMMSを相手にして使えるがそれはDBMSあってのこと

239 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 01:15:33.62 ID:+tui60Va0.net]
×DMMSを相手に ○DBMSを相手に

240 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 04:05:21.88 ID:VTDAVdX70.net]
別にADOは便利なツールとしても使えるだろ。
けど、俺もテキストエディタだったらもっと単純にゴリゴリしたの考えるな。
LeftとかMidとかRightとかInstrとかInstrRevとかを使ったようなの。



241 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 04:15:26.23 ID:VTDAVdX70.net]
あっ、テキストエディタ作りたいんじゃ無くて、テキストからデータ取り出したいだけ?

だったら、やっぱりMidとかInstrとか基本的な関数で十分な気がするね。

>>211
発売金額はテキストの中でどんな風に位置してるの?
例えば10行目の20文字目から10桁みたいな感じ?

242 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 04:18:03.03 ID:VTDAVdX70.net]
>>211
あと、何でメモ帳使いたいのかな?
別にメモ帳上でいろいろ操作することも出来るけど、少しだけ高度になるんだよね。

243 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 08:42:10.69 ID:QSuakdFza.net]
>>219
ありがとうございます!
リンク先に記載のコードを試してみたのですが、残念ながら「指定されたファイルを開くことができません」のエラーが出てしまいました。
普通にセルをクリックするとメールが立ち上がるのですが、vbaを使うと、このようになってしまいます…


>>220
大変レベルが低い話なのですが、
滅多に触ることのない超初心者のため、作る労力とメンテナンスのことを考えて、できることは関数ですませ、vbaは最低限にしている次第です。

244 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 08:53:36.25 ID:MawhMErZ0.net]
>>236
「ハイパーリンクをクリック」
逆に難易度が上がってるぞ

245 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:02:32.06 ID:KGZHRfFH0.net]
>>236

>>219の方法でやるなら
HYPERLINK関数の 第二引数を省略した形で Evaluate しないとだめよん
よって
・元々の HYPERLINK関数で 第二引数を省略してしまう
・VBAで HYPERLINK関数の第二引数をカットしてからの Evaluate
のどっちかにするしかない

がんばってね

246 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:10:08.17 ID:slr5zzcza.net]
>>238
第二引数を省略したら、無事にメール作成できました!
今の自分のレベルでは、仕組みが理解できていませんが、本当に助かりました。
ありがとうございます!


>>237
こちらの方がレベルが高かったのですか…
そういったことの判断すらできず、vbaでノーツメールを直接作るコードを調べてみて、複雑そうなので、諦めてしまっていました。
もう少し勉強しようと思います。

247 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:33:52.09 ID:6krMH9aUr.net]
>>239
クリック等のイベントをトラップしようとすると、既定オブジェクトのモジュールやクラスモジュール等にコードを書いてハードコーディングしなきゃならなくやる
イベントの発生タイミングを考えてエラー回避の制御なども追加しなきゃならない
イベントはコードディングと保守の難易度を上げる、と認識すると良いよ

メーラーアプリのオブジェクトインスタンスを作成して操作するやり方は一見複雑そうだけど、やってることはエクセルの既定オブジェクトの操作と一緒
基本的には標準モジュール一個でコードが収まるから楽だよ

248 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:27:17.14 ID:BhGEKkNfa.net]
>>240
別にそんなにハードル上がってるわけじゃないでしょ。

こういう場合、自分はまずメールを作るプロシージャを作る。
それはメールに必要な宛先、タイトル、本文等の引数を元にしたプロシージャとなるだろう。
そして当然汎用的なものだから標準モジュールに書くことになるだろう。

後はそれをどのようによび出すかを考えれば良い。
B2からB30までのアドレスを元にメールを作るのだからメニュー(コマンドバー)から呼び出すとかシートに貼り付けたボタンから呼び出すとかが考えられる。

呼び出す処理ではB2からB30までのループ処理の中で標準モジュールに作ったメール作成プロシージャを呼び出すようにすれば良い。

尚、この場合ハイパーリンクはプログラムと関係が無い。
個別に開くために設定しても良いし、設定しなくても良い。

単純に空のメールを一度に複数開きたいだけならハイパーリンク使う方が簡単な気もするけど、そんな需要で完結するとは思えない。
だから自分だったら両方作って片方をコメントアウトしとくだろうな。

249 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:42:30.82 ID:yXnULsJhH.net]
俺語りうぜぇ

250 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:44:23.96 ID:9Akggys5x.net]
>>242
お前の感想は
もっと要らない



251 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:58:40.94 ID:yXnULsJhH.net]
>>229
> >>211見てなんで使わないと思ったの?
なんでって普通使わないから。

252 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 17:43:48.64 ID:6krMH9aUr.net]
>>241
メールアイテム作成が複雑そうと言ってるのは質問者なので、そこは間違えないでね

253 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 17:58:07.99 ID:yS9f0RVc0.net]
VBAに滅多に触ることのない超初心者になに難しいこと語っちゃってんだよw

254 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:04:11.11 ID:yX9RoGiCa.net]
データの取り出し方とか質問するならせめてデータ構造の例ぐらい出しておかないと返事のしようがないような

255 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:13:41.54 ID:DyEVqbiqd.net]
テキストファイルをSQLで扱うときってどのドライバを使うもんなの?

256 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:18:45.36 ID:yXnULsJhH.net]
>>248
> テキストファイルをSQLで扱うときってどのドライバを使うもんなの?
だから、普通はしないってば。
相手がCSVならかろうじてする場合もあるかもレベル。

257 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:08:00.44 ID:BhGEKkNfa.net]
いや、だから便利にADO使う場合もあるってば。
例えばUTF8の読み書きとか。

他にも

258 名前:色々利用できるものがある。 []
[ここ壊れてます]

259 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:19:07.99 ID:IjFnSfL20.net]
>>250
色々って例えば何?

260 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:35:14.21 ID:eYj1KCTuM.net]
曖昧だなぁ



261 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:12:54.49 ID:MawhMErZ0.net]
テキストファイルにSQL使える事に驚き

262 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:35:50.77 ID:Prbt/S0pa.net]
>>251
例えばネットからファイルをダウンロードする場合、普通はURLDownloadToFileを使うと思うが認証付きの場合はADOが使える場合がある。

263 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:27:40.96 ID:bN5MkpLw0.net]
名前の判別でRかLのはいったやつを分けるマクロが書きたいんですがRとLは,かスペースに挟まれてるか最後一文字です
ただし最後一文字ならその前にスペースが入ってます
こういう場合スマートな判別ってどうしますか?

264 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:47:25.62 ID:o/KEVGaTr.net]
>>255
正規表現で解決じゃね

265 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:08:23.52 ID:rwwycwh80.net]
>>247
まぁそうだけど大体ログと言えば規則的に並んでいると推測できるよね
視野が狭い人多い
そもそも>>211>>216をよく読んで理解せずに発言してる人多過ぎ

266 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:14:32.15 ID:Priyoi2O0.net]
煽ってるわけじゃないが、>>211は全力で意味を理解しようと思って読んでも
どういう状態を説明しているのか、よく分からなかった(特に後半)
みんなスゴイね(まじで)

267 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:23:44.35 ID:rwwycwh80.net]
>>255
>>212のように正規表現がいいけど
細かい話をするとスマートが何を指しているのか
早さとかコードの見た目とかね

>>258
ド素人の言い回しって大体わかるじゃん?たまにぶっとんでるのいるけど
だいたいこういうのは、CSVで出力されたPOSデータの計行のみ抽出したいってぱとぅーん
だから>>214、もちろんその後でMIDとか使う必要はあると思う

268 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:24:53.01 ID:rwwycwh80.net]
>>258
分かってない奴の事を分かっていないで理解しようとしないから
タイヤブランコみたいなのが出来ちゃうんだよww

269 名前:デフォルトの名無しさん [2017/05/25(木) 23:29:21.59 ID:trQS6AD+0.net]
>>259
正規表現は何がスマートなのか
早さ?がスマートな例は
コードの見た目がスマートな例は

たった3種類なんだから答えてあげれば?

270 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:31:18.48 ID:rwwycwh80.net]
>>261
そういうのいいからw仲良くやろうぜ



271 名前:デフォルトの名無しさん [2017/05/25(木) 23:33:20.64 ID:trQS6AD+0.net]
>>262
お前がいじわるなつっこみするから俺もいじわるしただけだ

272 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:35:49.43 ID:MawhMErZ0.net]
この件で言えばスマートなのはどう考えても正規表現だろう
ifやmidで無理矢理解決するのは力技ではなく、単に勉強不足だ

273 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:36:09.55 ID:rwwycwh80.net]
マにありがちな意地悪なw
突っ込まれたいとか>>263ホモ警報w

274 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:37:26.93 ID:rwwycwh80.net]
>>255は多分釣り
分かってて書いてる感

275 名前:デフォルトの名無しさん [2017/05/25(木) 23:40:28.47 ID:trQS6AD+0.net]
>>265
あ?調子に乗りすぎだお前

276 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:43:35.70 ID:rwwycwh80.net]
>>267
255の正規表現を誰かが書くと、とたんに俺が書いた正規表現の方がスマートだ合戦開始の流れだよなw

277 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:45:17.90 ID:o/KEVGaTr.net]
midとかifだと、検索対象文字列のパターンが変更されたらいちいち検索処理の制御構造を変えなきゃならないかもしれない
正規表現だったら大抵RegExpオブジェクトのプロパティの設定値を変えるだけで修正が終わる

278 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:49:52.88 ID:2PvZEflm0.net]
俺なら正規表現とか難しいのわかんないからこれで済ませちゃうな
スマートさのかけらもないけど

Function isRL(str) As Boolean
 isRL = str Like "*[, ][RL][, ]*" Or str Like "* [RL]"
End Function

279 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:53:17.40 ID:rwwycwh80.net]
>>270
それだと
,R_
みたいなのも反応しちゃうような
_はスペースね
これも全角半角スペース区別とか不明だからまあ

280 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:57:37.38 ID:2PvZEflm0.net]
>>271
日本語がどっち指してるかわからなかったからそれも含まれると解釈したんだけど
それ入らないならOrいっこ増やすだけだし

もちろんもっと複雑さが増してくれば正規表現調べようって気にもなってくるけどね



281 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:01:53.74 ID:WxppAu020.net]
>>272
>>263と同じで突っ込みたかっただけ、めんごめんごw

あとLikeだと大文字小文字区別しないよね、だから
RLもrlも混同してしまうマッチだけにwww

282 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:08:29.13 ID:JFu5myv50.net]
>>273
おまえいいやつだな
それでも突っ込むとOption Compare Text書いてなければ大文字小文字区別するよ

283 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:09:45.41 ID:WxppAu020.net]
>>274
勘違いしてたすまん、女だから許してw

284 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:15:45.66 ID:Q8wFVHRlr.net]
女だから許してで草
今度から俺も使おうw

285 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:16:58.01 ID:WxppAu020.net]
>>276
だってせっかくこれ言いたかったら間違えたのに
誰も突っ込んでくれないからさ
>RLもrlも混同してしまうマッチだけにwww

286 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:24:41.93 ID:JFu5myv50.net]
Option Compare Gender

287 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:48:48.42 ID:Q8wFVHRlr.net]
混同でマッチで喜ぶとかババァで草

288 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 06:10:08.78 ID:7RhNv1Zw0.net]
>>257
そんなのただの推測に過ぎないだろ

289 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 08:11:41.20 ID:Y2pnKR05a.net]
>>257
そりゃそうだが、たまに意味わからん形式のログあったりするし
説明のしやすさに直結するだろ

290 名前:255 mailto:sage [2017/05/26(金) 08:38:47.74 ID:iQOaaYC+M.net]
いろいろな意見ありがとうございます
釣りではないですが正規表現で良さそうとは感じていました
ただ正規表現の書き方がわからなかったのと本当に正規表現が一番適した書き方かわからないのでああいう聞き方になりました
なんか混乱させてしまったようですみません



291 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 09:24:25.07 ID:HjxgyacU0.net]
すまん俺も女だわ
髭そって会社いくか・・

292 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 09:50:48.59 ID:Vk+zDyie0.net]
正規表現が良いとは限らんよ。
構造を元にした固定の場所の方が良い場合もある。
だからデータの中から取り出したい値がどの様に配置されてるかが重要。

質問する時に出来ればそれを示して欲しかったね。

293 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 09:52:42.09 ID:Vk+zDyie0.net]
>>282
ごめん。
>>255で書いてあったか。
正規表現だね。

294 名前:デフォルトの名無しさん [2017/05/26(金) 10:23:01.77 ID:4SMbnGa40.net]
初心者です。
ユーザーフォームを最近覚えて作成中です。
中身はとりあえずメッセージBOXで工事中にしてユーザーフォームを凝ってみようと思うんですけど
いい見本とかありませんか?
アプリっぽく作ってシートへのハイパーリンクで満足しようかと思います。

295 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 11:05:39.54 ID:FvwfjnU+H.net]
>>250
> 例えばUTF8の読み書きとか。
それは、ADODB.Streamを使うということであって、SQL(クエリ)を使うということじゃないよね。
故意になのか無意識なのかしらないけど、それを混同させてどうしたいのか。

296 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 19:27:53.93 ID:HjxgyacU0.net]
>>286
イマイチ何がしたいかわからんが、
よく使われるもの、googleかamazon辺りを参考にしてみては

297 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 19:40:01.56 ID:KALLaxQr0.net]
昨日正規表現で質問したものです。
リファレンスブックを読みながら正規表現で[,\s]R[,\s$]ってな感じで検索して
マッチした数値>0で

298 名前:ェ別ってプログラムを組んだのですが、一つ問題が…
取得した文字列の最後が,Rとなっていたときに反応しないです…
正規表現としてはこれであっていると思うのですが何か勘違いしてるんでしょうか?
[]
[ここ壊れてます]

299 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:03:21.45 ID:HjxgyacU0.net]
>>289
こうだとうまくいく
[,\s](R[,\s]|R$)

[]内に$はダメなんかね

300 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:07:54.29 ID:I1+YwiguM.net]
>>289
文字列の最後としての $ は文字じゃないから [ ] の中には入れられない
(入れると文字としての $ と見なされると思う)

> 名前の判別でRかLのはいったやつを分けるマクロが書きたいんですがRとLは,かスペースに挟まれてるか最後一文字です

これちょっと曖昧
",R," とか " R " はいいとして " R," とか ",R " もいいのか?
とりあえずいいとしてスマートかどうかを問わなきゃ
"(?:[\s,][LR][\s,].*|\s[LR])$"
辺りでどうか



301 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:08:59.71 ID:WxppAu020.net]
>>289
勘違いしてます

([,\s][R][,\s]?$)

あとそれだと、,R,だけじゃなくて,R_みたいなのも反応するけどいいの?
って聞いたんだけどお前全然人のレス読んでないのなw

302 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:19:12.02 ID:WxppAu020.net]
質問者 >>255 (ドコグロ MM3f-fCG8) ID:iQOaaYC+M
回答者 >>291 (ドコグロ MM3f-ijLw)  ID:I1+YwiguM

やはりお姉さんの言った通り(>>266)釣りだった感

303 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 23:27:30.93 ID:KALLaxQr0.net]
回答ありがとうございます
[]内に$は受け付けないんですね…
,R_は信じがたいことにそう入力されてるデータを見つけてしまったので分別に必要です。
なんか荒れに荒れてる感じですいません…
とりあえず私は質問しかしてません

304 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 23:32:22.16 ID:HjxgyacU0.net]
荒れてないから大丈夫
ただそろそろスレから退散した方が、不愉快な思いをしなくて済むとは思う

305 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 01:01:00.58 ID:acGsd7ij0.net]
>>294
もう解決したんでしょ?バイバイ

306 名前:デフォルトの名無しさん [2017/05/27(土) 01:04:32.39 ID:SLDKDwXi0.net]
嘘つきは泥棒の始まり

307 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 01:37:01.15 ID:P2SJDJfj0.net]
ほらねw

308 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 11:48:01.37 ID:j+tL9L540.net]
>>287
ああ、すまん。
俺は>>233でADOの観点で絡んでた。
確かに元々の話は何故SQLって話だね。

309 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 16:06:04.75 ID:acGsd7ij0.net]
では次の方どうぞ

310 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 21:40:12.40 ID:BMnR9+ov0.net]
>>253
使えるってだけだよ。
Schema.iniを使わないと、
勝手に型を決めやがるから、物凄く使い勝手が悪い。



311 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 22:24:03.65 ID:vVj1nMv00.net]
マの特技:あらさがし

312 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 22:53:30.64 ID:P2SJDJfj0.net]
当たり前だ
その技術がなければバグだらけのコードになる

313 名前:デフォルトの名無しさん [2017/05/27(土) 23:19:58.15 ID:wHxGIeSt0.net]
だがならない

314 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 06:22:57.97 ID:KA+g5PFR0.net]
$$$4.3$$$
"V"="1.3335412","0","1","3Q",

315 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:34:45.91 ID:Q1hkb32K0.net]
マクロ初心者ですが質問させてください。
Sheet1のB1-B16000の文字列を同じファイル内の新規シートに
699列毎コピーしたいです。

ググって下記まで作ったのですがエラーが出ます
いかんせん知識が無いため、何が間違っているのか分からないです。
どこを修正すればいいのかご教示いただけますでしょうか。


Sub マクロの記録改()
  Dim n As Long '変数の定義
  For n = 1 To 15206 Step 699
    Sheets("Sheet1").Select '元シートの「Sheet1]を選択
    Application.Goto Reference:="R" & n & ":R" & n + 699
    Selection.Copy 'コピー
    Sheets.Add 'シートを追加
    ActiveSheet.Paste '貼り付け
  Next n
  Application.CutCopyMode = False 'コピーの解除
End Sub

316 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:48:29.74 ID:aGWTIe1b0.net]
>>306
とりあえず走らせたけどエラーでなかったよ
どこで出るの?

そもそも何をしたいの?
元々あるのはsheet1だけとして
sheet2のA1にB1-B699貼り付け
sheet3のA1にB700-B1399貼り付け
ってこと?

317 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:59:34.93 ID:CxTrZaFuM.net]
>>307
699毎なのでB700-B1398じゃね?

318 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:27:18.52 ID:Q1hkb32K0.net]
失礼しました
説明が間違ってました。
エラーではなくて、A行もコピーしてしまうのでB行をA行にコピーしたいです。
まさに、>>307-308さんの言ってることをやりたい形です!!


ちなみに別bookにコピーする場合は、
どういった記述にすれば良いのでしょうか?

319 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:40:52.02 ID:2e2e3QA1d.net]
>>309
A列に貼るようにするなら
"R" & n & "C2:R" & n + 699 & "C2"
に変えるだけかな

320 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:52:28.37 ID:aGWTIe1b0.net]
>>309
こんな感じかねぇ
www.dotup.org/uploda/www.dotup.org1264912.zip.html

Sub foo()
'setで参照を作成しておく
Set コピー元シート = ThisWorkbook.Sheets("main")
Set コピー先ブック = Workbooks.Open("./copy.xlsx")
'何行ごとか
処理行数 = 699
'ループ
For i = 1 To 21
Set コピー先シート = コピー先ブック.Sheets.Add(After:=Sheets(Sheets.Count))
'コピーでもいいけど、あえてvalueで処理。どっちでもいい
For k = 1 To 処理行数
コピー先シート.Cells(k, 1).Value = コピー元シート.Cells(k + (i - 1) * 699, 2).Value
Next
Next
End Sub



321 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 20:53:24.05 ID:aGWTIe1b0.net]
そういや昔はsetがさっぱり意味不明だったな
今は普通に使えるけど、なんだったんだろう

322 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:01:49.00 ID:dfm78vLC0.net]
>>312
ま、やらしぃ

323 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:12:47.40 ID:aGWTIe1b0.net]
>>313
sexじゃないよ><

324 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 21:15:07.23 ID:CxTrZaFuM.net]
>>314
今は普通に使えるsexとか

325 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:00:26.21 ID:YdL4iPz30.net]
>>311
だからfooを使うんじゃねえhg

326 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:02:15.89 ID:aGWTIe1b0.net]
>>316
理由教えてくれよ
理由がなければ使い続けるぞ。名前考えるの一番めんどくさいからな

327 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:15:25.36 ID:MyydkzNO0.net]
毛を吹き飛ばされるかんじがするんじゃないの?

328 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:23:14.52 ID:EJnEHaIs0.net]
俺ルールに違反してんだろ?スルーしろよ

329 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:31:37.50 ID:nT+AAD4u0.net]
俺ルールかっけー!

330 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:34:37.05 ID:YdL4iPz30.net]
>>317
>名前考えるの一番めんどくさいからな
代わりにわたしが考えたよ
hogeでよろ
これでもう考える必要ないよ

>>318
そうです
>>319
生理的に無理



331 名前:デフォルトの名無しさん [2017/05/29(月) 22:38:31.20 ID:A34reMmc0.net]
ピリピリしてるハゲってなんていうか、微笑ましいよな
ハゲ好きだわーオレ、なりたくねーけど

332 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 22:56:21.54 ID:aGWTIe1b0.net]
>>321
hogeがfooにまさるメリットとは?
先にfooのメリットを書くと、
・文字数が少ない
です

333 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:01:15.36 ID:YdL4iPz30.net]
>>323
じゃあ f だけにして
・文字数が少ないよ

334 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:04:09.54 ID:aGWTIe1b0.net]
>>324
fooは慣例の単語
それを不必要に削ると無駄な間違いが増える
揚げ足取りしか出来ないなら使い続けるね

335 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:05:06.76 ID:73+YE/SF0.net]
そもそもhogeとfooが何なのか分から

336 名前:
C言語のスタジオえっちみたいなものですか?
[]
[ここ壊れてます]

337 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:06:16.47 ID:YdL4iPz30.net]
>>325
Sub foo()
としか使ってないのに、なんの間違いが増えるの?

338 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:08:06.88 ID:aGWTIe1b0.net]
>327
名前が被る

339 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:08:08.96 ID:qTUj1SpC0.net]
4〜3月の売上をまとめて円グラフで描画したいんですがどう描けばいいのかわかりません
そもそも各月の売上をまとめて円グラフで描画しようとするのが間違いでしょうか?

340 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:10:27.21 ID:T7IU40/g0.net]
ヒソヒソ( ゚д゚)ヤダァ(゚д゚ )ネェ、キイタ?( ゚д゚)オクサン(゚д゚ )アラヤダワァ ハゲテルノニExcelツカッテルンデスッテ! シツレイシチャウワネ



341 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:10:38.64 ID:aGWTIe1b0.net]
>>329
はい
扇風機なら夏、おもちゃなら必ず12月が伸びるので毎年同じ形になる円グラフは向いていません
折れ線グラフで前年度、その前の年度を重ねて昨年度対比にするとわかりやすいと思います

342 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:21:33.31 ID:YdL4iPz30.net]
>>328
被ってるのお前のあそこだろ

343 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:23:51.96 ID:aGWTIe1b0.net]
>>332
結局「なんとなく嫌い」以上の理由が一切ないの?
申し訳ないがそれでは従う気にはならないなぁ

344 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:25:30.91 ID:YdL4iPz30.net]
Sub fooをNGにした

345 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:29:17.49 ID:YdL4iPz30.net]
>>333
ところで何であなたワッチョイの後半部分ころころ変わるの?

346 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:33:39.65 ID:aGWTIe1b0.net]
>>334
だから何www

>>335
知らないよ。プロバイダはio光。別に回線を繋げなおしたりはしてないよ

347 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:55:50.00 ID:YdL4iPz30.net]
>>336
eoだろ
無駄な間違いが増えるとか言ってる割に2文字すら間違えるっていうwww

348 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:56:19.54 ID:EJnEHaIs0.net]
これからは Sub foo()って書いとけば馬鹿避けになるのね。了解!!

349 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 23:56:51.93 ID:aGWTIe1b0.net]
>>337
(ノ∀`)アチャー
Sub fooをNGにしてるなら>>336は本来見えないはずだけど、連鎖NGしてないの?
連鎖NGしないとNGの意味がないからさっさと設定しようね
透明あぼーんがオススメだよ

350 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:02:35.81 ID:q6a+ppT10.net]
>>338
という結論以外でなかったね
大体予想してたけど、無意味な結論にたどり着くというのも有意義なことだ



351 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:05:37.88 ID:OSl0TMez0.net]
>>339
効いてる効いてるwww

352 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:09:03.85 ID:q6a+ppT10.net]
>>341
実は>>337でひっかかることを予想して>>339>>336の直後に書いてたんだよ
ほんとは>>337の5秒後以内に書き込みたかった。リロードしてる内にめんどくさくなった
1分空くと後付っぽい?

353 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:09:14.81 ID:yu6lRt6yx.net]
>>340
同意する

ID:YdL4iPz30
さよなら。
また来世でな

354 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:11:22.34 ID:OSl0TMez0.net]
>>342
悔しいの?www
後付けかどうかより
>リロードしてる内にめんどくさくなった
お前は面倒発言ばっかりだなwww

355 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:12:08.17 ID:q6a+ppT10.net]
>>344
vbaなんて仕事が面倒くさいから習得するもんだろう
それ以外なんかあんの?

356 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:13:23.62 ID:OSl0TMez0.net]
>>345
vbaじゃなくてVBAってちゃんと大文字で書け

357 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:16:18.61 ID:q6a+ppT10.net]
>>339>>337の数秒後にレスできたら完璧だったんだけどなぁ
これはちょっと悔しかった。予想以上にレスが遅かった。見え見えの釣りに飛びつくと思ったら2分もかかるとは
俺の実力も足りんし、忍耐力も足りなかった
申し訳ない

>>346
なんのために?vbaって書いてそれで誰か損してるの?
じゃあ書いてやるよwwwVBA!VBA!満足かwww

358 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:17:08.32 ID:OSl0TMez0.net]
>>347
満足したありがとう

359 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:17:13.63 ID:q6a+ppT10.net]
だから>>347が見えるってことはNGにしてないってことなの
何回引っかかるの

360 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 00:45:32.08 ID:RIAflGJM0.net]
すぐ消すテストプログラムをfooとかにしたことはないなあ。



361 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 06:56:36.98 ID:tBmyQlvfM.net]
>>350
ほんとに一時的なら t とか x とかにしてるわ

362 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 08:10:45.63 ID:06cdz9ADx.net]
久々にスレ開いたらハゲが躍動してて笑った

363 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 08:16:18.25 ID:Pn7VLVPda.net]
なんやこのガイジは

364 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 08:50:49.88 ID:C+7xWm9cM.net]
>>310,311
亀レスですいません!!!
できました!!!!
ありがとうございました!!

365 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 12:29:57.72 ID:1+UI8ryZ0.net]
誰かアドバイスおばお願いできませんか

野球関連の仕事をしているんですが、選手成績のデータをcsvで貰っていて
それを自分の所のcsvに入力しないといけないんですが、いかんせん数が膨大でデータを
並び替えやら抽出やらで変換したいんですが、この場合に覚えた方が良いプログラムってのは
エクセルでマクロを組むってのが手っ取り早い近道なんでしょうか?
それともほかのプログラム言語を覚えてソフトを開発って手も考えた方が良いのでしょうか?

366 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 12:42:58.11 ID:I4Et1tpDd.net]
>>355
「自分の所」って?
一人で自由度が高いならSQLServer Express入れるのが一番だと思う。
タダだし将来性もある。難しくもない。

367 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 12:44:07.68 ID:I4Et1tpDd.net]
膨大っても高々数十MBのレベルでしょ?

368 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 13:14:12.67 ID:1+UI8ryZ0.net]
>>356
正確に言い過ぎると微妙な案件だと思って濁し気味なのですが、貰っているデータというのは
プロ野球のデータ提供サービスのBISと言われるデータ提供会社のcsvで
『自分』というのは自分の会社で使っている野球中継用のソフトとなります。
(野球中継用のソフトもcsvでデータを賄っているのですが、当然フォーマットが違うので
貰ったデータをもとに普段は手入力しています。)

>>357
確かに膨大というのはSEさん達からしたら笑ってしまうレベルの数なのでしょうが
限られた時間(集合時間から試合開始までの時間)で手入力で間違いなく必要項目を入力するという問題なので
プログラムにまかせて一括変換できるのなら、間違いも少ないでしょうし、オペレーターの習熟度に左右されずに仕事につかせやすいので、
非常に有益な事だと思ったのです。

本来なら仕様を出して、プログラム作ってもらえば済むことなのかもしれませんが
自分の所で使っている野球ソフトも仕様変更でcsvの項目順番とかずれる可能性もありますし、
提供してもらっているデータも仕様変更とかで順番ずれたりした時に毎回発注とかしたくないので
急ぎではないし自分で作れる様になりたいなと思って相談させてもらいました。

369 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 13:29:23.00 ID:06zvEzNR0.net]
必要なデータ抽出して、並び替えて、別ソフト用のCSVに変換するってことかな?
エクセルでもできるだろうけど、自分ならC#かPowerShellでつくるな
エクセルを介す必要性がないからわざわざ使いにくくてめんどくさいVBAでやることもない
初心者にはちょうどいいお題だと思うからプログラム作ってみたらいいと思うよ

370 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 13:57:11.50 ID:C+7xWm9cM.net]




371 名前:どなたか助けてください

ブック内の約200シートを全て個別のcsvファイルに保存したいのですが、
うまくいきません。
エクセルファイルと同じフォルダにシート名+".csv"という名前の
CSVファイルを作成することが条件です。

ググって
下記は出てくるのですが、実行してもエラーが出てしまい
CSVにはき出すことが出来ません。
(こちらの環境がMacだからなのでしょうか?)
どこを修正すれば正しく、csvにはき出せるかご教示ください!



Sub SaveCsv()
Dim mySheet As Worksheet
For Each mySheet In ActiveWindow.SelectedSheets
ActiveWorkbook.SaveAs Filename:= _
ActiveWorkbook.Path & "¥" & mySheet.Name & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False
Next
End Sub



エラー文
実行時エラー '1004':
'Sheet183.csv' にアクセスできません。
[]
[ここ壊れてます]

372 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:01:00.02 ID:YF+PwbQtH.net]
>>358
Excel + VBAでいいんじゃない?

>>360
これ?
darumaexcel.uijin.com/info/pause.html

373 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:21:24.38 ID:C+7xWm9cM.net]
>>361
ありがとうございます!
ただ直しても同じエラー分が出てしまいます。。。

374 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:27:48.25 ID:1szQs/d90.net]
>>358
AccessなりSQL Serverなりのデータベースソフトでcsvのインポートを試行錯誤してみればすぐに出来るようになる。

375 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:43:31.52 ID:YF+PwbQtH.net]
>>362
SaveAs行の前に、mySheet.Selectを追加してみて

376 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 14:53:27.61 ID:C+7xWm9cM.net]
>>364
できないですね、、、

実行時エラー '1004':

‘選択中のシート名.xlsx' にアクセスできません。

と表示されます。

377 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:14:30.20 ID:EOieG+pf0.net]
>>355
perl PHP 辺りが簡単だし便利なモジュールも沢山ある

378 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:19:43.12 ID:EOieG+pf0.net]
>>355
sqlite3と
firefoxのsqlite3用アドインとかと
SQL言語を使う方法もある

379 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:35:45.48 ID:YF+PwbQtH.net]
>>365
Excelのバグですかね。

380 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:40:39.49 ID:oatsCbfo0.net]
単なる当てずっぽうでCSVファイル作成前に同名のcsvファイルが既にあるんならそれを消すなりリネームするなりしてるか?



381 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 15:44:54.03 ID:fdB84jON0.net]
数MB程度のテキストデータならピボットでいいと思うが

382 名前:355 mailto:sage [2017/05/30(火) 16:21:56.98 ID:1+UI8ryZ0.net]
みなさん沢山のアドバイスありがとうございます。
言語的にはどれとってもほぼ確実にできるけど、道が沢山ありすぎる状態なんですね。
関数電卓のBASIC程度しかかじっていない軟弱な頭にはどれがとっかかりやすいモノなんでしょうか・・・

383 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 16:40:48.70 ID:C+7xWm9cM.net]
>>369
空フォルダなのでファイルは存在してないんですよね、、、

384 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 18:10:35.56 ID:YF+PwbQtH.net]
>>371
Excelだったらすぐに試せるだろ
すぐやれ

385 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:06:30.89 ID:q6a+ppT10.net]
>>360
ぐぐるんじゃなく自分で作れるようになると楽だよ
Sub foo()
Application.DisplayAlerts = False
For Each シート In ThisWorkbook.Worksheets
シート.Activate
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & シート.Name & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False
Next
Application.DisplayAlerts = True
End Sub

>>371
エクセル+vbaがいい
諦めなければ絶対に完成する。諦めるな
わからなくなったらいつでもおいで

386 名前:デフォルトの名無しさん [2017/05/30(火) 19:22:34.02 ID:Fp/ortWi0.net]
>>374
> 諦めなければ絶対に完成する。諦めるな
仕事でやってる人には最低のアドバイスだな

ニートのお前とは違うんだよ
仕事ってのは限られた時間の中で最大限の結果を求められ

387 名前:
少しでも人の役に立ちたい気持ちはわからないでもないけど
それ以前に自分がニートだっていう事実を忘れちゃいかんな
お前が本当に誰かの役に立ちたいのだったら
まず自分の身をわきまえ
そして相手の立場を理解するって事が何よりも大切な事だ
よく覚えておけ
[]
[ここ壊れてます]

388 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:26:38.95 ID:yu6lRt6yx.net]
>>375
まじでそう思う。


>>375
反省して
ソリューションはどこに記載?

389 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:47:55.75 ID:q6a+ppT10.net]
>>375
じゃあ諦めて手作業で延々と作業しろってことか
効率的だな〜

390 名前:デフォルトの名無しさん [2017/05/30(火) 20:01:37.18 ID:Fp/ortWi0.net]
>>377
少しはわかったみたいだな
効率>>>>>>>>>>>>>>自己満足
仕事ってそういうもんなんだよ



391 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 20:09:38.66 ID:1szQs/d90.net]
まぁ実際、出来るかどうか分からないVBAよりも、手作業で確実に済ませるという場面は仕事してると出てくるな。
ただ件の話はルーチン業務のマクロ化についての話だから、多少時間が掛かっても挑戦する価値はある。

しかしながらごく一般的な悩みで、それを解決する手段が用意されているのでVBAに拘る必要がないのも事実。

392 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 20:11:24.56 ID:q6a+ppT10.net]
マクロの腕上げてどんどん効率化したほうがいいと思うけどねぇ
会社行ってもすること無いから出勤時間減らしたわ

393 名前:355 mailto:sage [2017/05/30(火) 20:52:10.68 ID:1+UI8ryZ0.net]
ありがとうございます。
取りあえずエクセル環境で動くとどの現場でも楽になるので
エクセルマクロでどうにか作ってみます。また、来ざる得なく成る様な気がするので
その時にまた相談に乗ってください。ありがとうございました。

394 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 21:03:04.18 ID:0IDFiFSH0.net]
Excelが必要でないならVBAよりはVBSscriptかな
VBScriptはExcel VBAにほぼそのまま持っていける
VBScriptやVBA扱いに慣れたらpowershell
いきなりpowershellでもいいけど前提知識が割と必要になる
powershellの良い入門書って見たことないし

395 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 21:48:33.00 ID:RIAflGJM0.net]
>>378
余裕がどれくらいあるかによるけどね

396 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 21:50:18.98 ID:Upz1NUPj0.net]
>>374
まだ懲りずにfoo使ってるのニートさん
あ、NGしてないのバレちゃうwww

397 名前:デフォルトの名無しさん [2017/05/30(火) 21:56:44.25 ID:GySYMHzV0.net]
>>379
ウチの会社の場合、マクロ書いてると「そんな暇があったら直接打ったらいいじゃん」と言われる。バカは手作業こそ
仕事だと思い込むもんなんだよな。

398 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:01:43.70 ID:Upz1NUPj0.net]
>>360
- ActiveWorkbook.Path & "\" & mySheet.Name & ".csv", _
+ ActiveWorkbook.Path & ":" & mySheet.Name & ".csv", _

こうじゃないかな?

399 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:03:50.22 ID:Upz1NUPj0.net]
>>360
Sub Example
MsgBox Application.PathSeparator
End Sub

これ実行すると多分¥じゃなくて:が表示されるはず

400 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:41:04.16 ID:b4dt9kdA0.net]
>>385
その場で言えよw



401 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 22:59:03.08 ID:FYFuo4390.net]
セルの書式を保持したまま変数に格納する方法ってありますか?
文字の一部分だけ太字とか、嫌がらせみたいなデータがあるんです。
Copy Destinationで別のシートに格納しろ、とかいうのはなしで。

402 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 23:26:10.83 ID:q6a+ppT10.net]
格納だけならsetで簡単にできる
しかし他のセルにこれを適用しようとするとフリーズ。理由は知らん

割りと真面目に
>Copy Destinationで別のシートに格納
したほうがいい気がする

Sub foo()
'A1の一文字目のフォント情報をB1二文字目に
Set bar = Cells(1, 1).Characters(Start:=1, Length:=1

403 名前:).Font
Cells(1, 2).Characters(Start:=2, Length:=1).Font = bar
End Sub
[]
[ここ壊れてます]

404 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 23:29:44.49 ID:KvP+eqH30.net]
>>389
オブジェクトの変数へのコピーができないから無理。
見えないシートやワークブックを一時的に作って、Range.Copy じゃだめなん?

405 名前:デフォルトの名無しさん [2017/05/30(火) 23:58:44.86 ID:GySYMHzV0.net]
>>388
ああ、言ってる。でも延々と手作業でやって残業時間自慢してるヤツが殆どw

406 名前:デフォルトの名無しさん [2017/05/31(水) 02:10:54.01 ID:LgGj7rqFa.net]
VBA初心者です。
今データの分析をしてるのですが色々な関数を使ってるシートをとりあえず10000くらいまでデータを作っておいてピポットテーブルで分析しています。
それだとデータが重くなりますが入力されたデータに行をオートフィルで追加することはできますか?
例えば
A列に日付 B列に店名 C列に商品名 D列に個数
を入力していて
列やG列に日付の関数で月やH列にVLOOKUP関数で店舗の種類の仕分けをしています
データを入力した行に関数が自動で追加できるようにするにはどうしたらいいでしょうか?

407 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 03:10:26.82 ID:ngSfzLWM0.net]
>>393
イベントを使うといいと思う
例えば4列目に入力があったら5〜7列目がオートフィルされるようにするなら

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Row > 3 And Target.Column = 4 Then
Range(Cells(Target.Row - 1, 5), Cells(Target.Row - 1, 7)).Select
Selection.AutoFill Destination:=Range(Cells(Target.Row - 1, 5), Cells(Target.Row, 7)), Type:=xlFillDefault
Target.Select
End If
End Sub

408 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 05:55:04.74 ID:5otW7Lci0.net]
Excelの機能でやった方が良さそうに見えちゃうな
月で集計は列足さずにピボット側で日付をグループ化すればいいし
範囲の拡張はデータ範囲をテーブルにしておけばいいだけだし

VBAスレだしVBAでやりたいんならまあいいか

409 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 06:30:09.92 ID:u3wQ/TLpM.net]
補助列作っとくのが最善だと思う
次点でピボットの集計フィールド追加

410 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 07:14:56.30 ID:CCxYhvtc0.net]
>データを入力した行に関数が自動で追加
したいだけなら、テーブルにすればいいのでは

Excelのテーブル機能の使い方まとめ
https://www.forguncy.com/blog/20161014_table
>一覧表の最終行の次の行にデータを入力すると、その上の行に入っている書式設定が自動で反映されます。 計算式も自動で反映します。



411 名前:デフォルトの名無しさん [2017/05/31(水) 11:34:55.36 ID:2HZ6ZV5Na.net]
イメージと

412 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:19:26.52 ID:O9qNIaK10.net]
>>360だけど未だに出来ない、アドバイスいただいたものも全てダメしたけどダメ。
200枚ものシートをいちいち手作業でやらないといけないのか、、、

413 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:38:23.24 ID:vzRkDbrnH.net]
>>399
Excelのバグじゃないというのは確認したか?
アプリケーションの更新とかが出てたりしないか?

414 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:40:32.00 ID:O9qNIaK10.net]
>>400
エクセルのバグ確認の仕方を知らないので不十分かもしれないですが、
アプリケーションは最新なので、問題無いとおもいます。

415 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:44:29.80 ID:O9qNIaK10.net]
>>360です
お騒がせしました、これでできたっぽい。
excel-magic.com/post-24/
<font color>のどこを修正すれば良いのか分からないので、ひとまず回して見ましたが途中で止めてCSVを200ファイルほど吐き出せました!


これを機会にVBAをちゃんと勉強しようと思いました、、、

416 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:44:47.62 ID:vzRkDbrnH.net]
>>401
じゃ、マクロを記録しつつシートをCSVで保存してみて、生成されたコードを観察してみるとか。

今回1度きりの作業だったらあきらめて手作業でエクスポートするか、それが嫌なら他のQAサイトで
質問するとか。

417 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 14:50:06.21 ID:vzRkDbrnH.net]
>>402
マジか・・・
何がいけなかったんだろうか・・・

418 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:23:51.75 ID:V02iWLllM.net]
>>402
うまくいきそうで良かった。
リンク先を見てる感じ、
ActiveWindow.SelectedSheets
ActiveWorkbook.Path
のどっちかがcsvを保存した時点でおかしくなってるのかなと感じる。

あと、<font color="#ffff00">と</font>はVBAには無関係なので、丸々削除してオーケー。
詳しく知りたければ、「htmlタグ フォント」でググってみてね。

419 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 15:43:17.11 ID:O9qNIaK10.net]
>>404
お忙しいところ、ご教示いただきありがとうございました。

>>405
なるほど、また使う事があると思うのでその部分を修正して、
ちゃんと使えるものになるようにいじってみます!

タグの件もありがとうございました!

420 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 18:16:14.53 ID:EYxbNvW1a.net]
>>355
エクセルvba以外を選べる環境があるなら選ぶ必然がないけどな
初心者向きに見えて初心者向きじゃないから
といまさら



421 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 18:54:55.73 ID:lGWBXgBz0.net]
>初心者向きに見えて初心者向きじゃない
分かる

422 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 19:38:54.48 ID:jM8viQpZx.net]
>>408
VBAしかやったことないから他の言語との比較ができないんだけど、一体どのあたりが初心者向きじゃないと感じるんだ?

423 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:03:43.86 ID:lGWBXgBz0.net]
>>409
とにかく変なルールや仕様が多すぎる
・まず前提条件として、エクセルについて理解する必要がある。仕事で使っていれば嫌でも覚えるけど、学生にとっては辛いところだろう
・標準モジュールが初期状態で存在しない。初心者が大きくつまずくのはここだろう。コードが思い浮かんでも、どこに書けばいいのかもわからない
・上記の続きで、スコープも変則的に見える。sheet1にコードを書くとなぜsheet2が見えないのか?はスコープ、privateやpublicの概念を先に知っておかないといけない
初心者からみたエクセルなんてどうみても全部publicなのにな
・まずシートをselectするかactivateしないと、rangeがselectできない。糞仕様です
・エラーが大雑把すぎる。
修正候補:式
って言われても、大抵の記述は全部式だろう。式のどの部分だよ

if
for i = 1 to 2
endif
これで出るエラーは「endifに対応するifがありません」そっちじゃねー!!!
・マクロの記録もあやふや。グラフやオートシェイプは記録したマクロを走らせるとエラーになる始末
他にもオブジェクトの塊なのにオブジェクト指向が全くなかったり、ダンプもできない、今更Bライクとかええやろ、など他にも色々あるけど

424 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:16:19.68 ID:oF6IsnwB0.net]
違う言語に対応できない初心者の愚痴で草

とりあえず何にでも文句言ってんだろうなって印象

425 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:43:19.50 ID:487dhIIWM.net]
なんか大部分がVBAじゃなくてエクセルの仕様な気が。

426 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:46:24.66 ID:JJWe2xBC0.net]
実際そこだと思う
エクセルに拘る理由が無いならVBAに拘る理由もないし

427 名前:デフォルトの名無しさん [2017/05/31(水) 20:49:37.96 ID:ac0fXejp0.net]
>>410
だいたいエクセルも知らんやつがなんでいきなりエクセルマクロやろうとしてんだよw

「エクセルvbaでプログラミングを学ぼう」みたいな風潮が諸悪の根源なんだよな
そういう意味では>>407の言うことにも一理あるわw

428 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 20:57:43.48 ID:EYxbNvW1a.net]
初心者向きやりたいならVB.netでもやりゃいいのよ

プログラム言語としては不親切極まりないのは間違いないだろ、VBAは
機能拡張も期待できないし
敷居は低いが不親切

429 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 21:14:12.59 ID:Nua5RAmq0.net]
プログラミングなんて、変に凝らなきゃそこそこの処理ロジックは誰でも作れるよ。

でも入出力が楽にできるGUIが欲しいとか、プログラムに食わせる制御データの管理を手軽にしたいとか、
日常使いのアプリとして便利にってなるとExcelになっちゃうんだよね。

430 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 21:20:34.89 ID:lGWBXgBz0.net]
>>411
一般事務のデファクトスタンダードなのにあまりに酷いとは思う
さすがにバージョンアップしてほしい。エクセルは進化してるけど、vbaはvb6.0以下だろう

>>414
エクセルもそもそも自由度が高すぎる。テーブルで大分機能的には落ち着いたけど、肝心のテーブルが使われていない
とりあえずセルの結合だけでも廃止してほしい



431 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 21:42:12.36 ID:YZgbxTyGM.net]
>>417
それはエクセルが優れてるからというより、ワードが糞過ぎるからワードの守備範囲までエクセルでカバーせざるを得ないだけだろう

432 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:00:18.50 ID:lGWBXgBz0.net]
ワードなぁ・・・ワードはずっと扱ってないよ。いくつかの会社の人に聞いたけど、やっぱりワードは糞

しかし唯一、日本を代表する金融企業の人と飲んだ時、その人が喜々として語っていた
その企業はエクセルもアクセスも使わず、資料は全てシステム部門に頼む体質
宴会や支店向けの広報をワードで一生懸命作る会社だったらしい

いいか悪いかはともかく、まぁ、日本の上層部は社会主義だ。

433 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:01:17.27 ID:ZGVFQMFtH.net]
>>417
自分もセル結合嫌派だけど、これまでセル結合で表現していた部分はどうするの?
個人的には、(選択範囲で中央)が水平方向だけでなく、垂直方向にもきけば満足だけど、、
現場の意向でどうしても使わないといけないことが多々ある。

434 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:12:44.56 ID:lGWBXgBz0.net]
>>420
・セル結合は機能自体なくす
・「選択範囲で中央揃え」的なものをもっと増やす
要するにとにかくセルと情報は1:1にする
その上で
・書式設定無し
機能があれば、
編集側、閲覧側に取っても幸せになるだろう

とにかく、作業中のデータとプリントアウト等の見せるデータ、これを抜本的に乖離しないと話にならない
とにかくセル結合が最初だ。

435 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:24:29.36 ID:Nua5RAmq0.net]
>>421
見せるためのデータをまた入力にするなんてバカなことを

436 名前:しなければ別にいいだろ
セル結合したって
[]
[ここ壊れてます]

437 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:28:56.46 ID:lGWBXgBz0.net]
>>422
>見せるためのデータをまた入力にするなんてバカなこと
中小企業では普通にある。
もうええ、これに関しては突っ込むな時間の無駄だ

438 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:55:16.15 ID:xZexTgw80.net]
>>391
>>390
諦めてCopy Destinationします。
ありがとうございました。

439 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:55:23.97 ID:Nua5RAmq0.net]
そんな感じ

440 名前:デフォルトの名無しさん [2017/05/31(水) 23:56:16.90 ID:N23t2UmQd.net]
画面に表示されてるとおり印刷してくれ
俺の要望はそれだけだ



441 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:07:36.27 ID:xwlKrZPp0.net]
プリントスクリーンボタン

442 名前:デフォルトの名無しさん [2017/06/01(木) 00:30:28.19 ID:3kmI9vZh0.net]
その手があったか!

443 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:37:46.47 ID:7jSAnpp50.net]
>>402
お前毎回人の話聞かないクズなのな

444 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:38:42.21 ID:7jSAnpp50.net]
>>405
セパレータの問題だって

445 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:39:34.14 ID:xwlKrZPp0.net]
_人人人人人人人人_
> 突然の亀レス <
 ̄Y^Y^Y^Y^Y^Y^Y ̄

446 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:47:31.72 ID:7jSAnpp50.net]
>>431
4b19=ef8eだった

447 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:47:35.28 ID:xEezSy0Q0.net]
突然セパレータの話を持ち出しておいて「だって」とはwww

448 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:50:32.04 ID:7jSAnpp50.net]
>>433
mac版で:じゃなくて\で動くの?w
ソースは?w

449 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:57:03.34 ID:7jSAnpp50.net]
>>431
>>433
ワッチョイの仕様変わったの?
ID:lGWBXgBz0この人UA部分がころころ変わってるんだけど
デフォルトの名無しさん (ワッチョイ ef8e-9J/J)
デフォルトの名無しさん (ワッチョイ ef8e-kjbA)
デフォルトの名無しさん (ワッチョイ ef8e-c3sC)
デフォルトの名無しさん (ワッチョイ ef8e-h4wC)

450 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 03:36:38.16 ID:DLazu0lV0.net]
>>410
RangeをSelectする必要なんて普通無いだろう。
Selectする場合はSheetをActiveにするのも自然だろ。

何かおかしなこと言ってない?



451 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 05:02:21.03 ID:AjLNIuL80.net]
>>436
おもた
“見せる”時以外使わない

452 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 07:00:00.45 ID:YbQp1MN1M.net]
>>436
select しないといろんな操作ができないって思ってるのかも
マクロの自動記録で覚えた奴にありがち

453 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 07:39:25.88 ID:xwlKrZPp0.net]
>>436
あんまり無いだろうね。これは俺の好み
Workbook_BeforeSaveで全sheetのcells(1,1)か、最終行に選択セルを持って行くことがよくあるんだ

454 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 07:58:39.77 ID:J+CWW2790.net]
取り敢えずのapplication.goto

455 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:15:30.82 ID:Vftk4o9ex.net]
わざわざシートのActivate/Selectメソッド使わなくても、シート.Range(Index).Selectで終わる話だろ
そんなにGlobal.Range使いたいんか?
Global.Rangeなんてほぼ使わないぞ俺は、コードの可読性下がるから

456 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:55:51.01 ID:mJLzyhAZx.net]
ごとーーー!

457 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:58:27.48 ID:VCI0My45d.net]
シートがアクティブになってないとセルのselectできない話でしょ

458 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 10:28:17.60 ID:d3jolD7CM.net]
>>434
修正したけど出来ないってレスしてんじゃん
ちゃんと読んでからレスしなよwww

459 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 18:30:37.54 ID:N6tgl860x.net]
>>443
>>410は「シートをselectするかactivateしないと、rangeがselectできない」って書いてるよな
シートがアクティブになってないとRange.Selectが使えないっていう話をしてるわけじゃなくて、
シート.Selectメソッドかシート.Activateメソッドを使ってシートをActiveにしないとRange.Selectが使えないっていう嘘を言ってるんだぞ

460 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 20:31:16.93 ID:J+CWW2790.net]
>>445
念のために聞いておくが、何が嘘で、正解は何なのか教えてくれないか



461 名前:デフォルトの名無しさん [2017/06/01(木) 20:53:27.07 ID:gEanndL50.net]
どっちにしろSelectするかActivateすれば使えるんだろ?
たいした問題じゃねえよそんなの

462 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 22:54:42.48 ID:DaNoSOMR0.net]
文法的に納得いかないけど上手くいく不思議
Set Newbook = Worksheets.Add

463 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:25:19.57 ID:4Mx8xPkv0.net]
むしろ参照を返さないAddの方が少数派では

464 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:30:05.12 ID:0CdKwKMK0.net]
>>441
そうですよね
i.imgur.com/c7ccxuI.png

465 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:30:45.71 ID:xwlKrZPp0.net]
>>448
どう納得行かないのか分からん

466 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:32:46.29 ID:DaNoSOMR0.net]
>>451
代入してんのか?実行してんのか?っていう。

467 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:33:10.29 ID:DaNoSOMR0.net]
Setだから代入ではないか。

468 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:34:35.43 ID:xwlKrZPp0.net]
>>452
戻り値を代入してる。特に違和感がないんだが

469 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:37:20.08 ID:JcXv0anO0.net]
むしろ NewBook と言う変数名の方に違和感があるんだが...

470 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:47:19.51 ID:L+dplH4ca.net]
個人的にはworksheet.copyが値返してくれないほうが納得行かない



471 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 00:18:14.15 ID:WCh1iO0Y0.net]
>>456
その気持ちはよくわかる
その行を実行した直後はどの変数にも入っていないシートだからなんか不安になる

どうしても不安なときは先に新規ブック作っといてそこをコピー先にしてるけどね
それはそれで無駄なことしてんなあという気になる

472 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 06:38:31.89 ID:tmNEumAvx.net]
>>448
機能とは関係ない話だけど変数名はNewBookじゃなくてNewSheetにした方がニュアンス的に正しくない?

473 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 06:52:23.32 ID:MGPR/erb0.net]
>>456
機能的に代替出来る操作がある場合は値返さないものが多い気がする。
たぶんユーザー操作をマクロ化する為だけのメソッドは返さないんだと思う。

474 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 11:33:41.01 ID:8fOMtk3c0.net]
>>444
おい間抜け、↓この事だろ?こいつは嘘だ
>>399
>アドバイスいただいたものも全てダメしたけどダメ。

コード書いたり詳細に説明したレスに対してですら
個別にレスを返さない奴は、大体が釣り・試してない・見逃しのパターン

ソース?根拠?理由はこれだ、結果が書かれていない
>>387

余談だけど、foo野郎との質問野郎はなぜかセットで来る

475 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 11:39:22.60 ID:EMy/L9NX0.net]
>>460
義務じゃないんだから、嫌ならもう来なくていよ

476 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 12:18:35.67 ID:8fOMtk3c0.net]
>>461
またそうやって話逸らして逃げるんだから

477 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 12:26:31.41 ID:I1EQuNZXM.net]
ある数値に対して指数表記の有理数と指数を楽に拾いたいときって、format関数を使うのがいいですかね?
他に楽な方法ありますか?

478 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 14:32:15.95 ID:zUUtTsys0.net]
どんな方法があるにせよ、お前はそれで納得できずもっと他にないの?って
聞き続けるんだろ? >>463

479 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 17:47:56.11 ID:I1EQuNZXM.net]
書いてたら泥沼化してたんだけど、結構すっきり書けました。

指数=cint(split(format(数値,"0e+0"),"e")(1))
有理数=数値*0.1^指数

480 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 21:26:05.82 ID:rlzCeZS80.net]
エクセルの複数のセルの外枠に罫線を引きたいのですが、アプリケーション定義なんたらのエラーが出ます。
workbooks(********.***).worksheets(*****).range(cells(StartRow,StartCol),cells(endrow,endocol).borderaround
でstartrow startcol endrow endcolは変数です

どこがおかしいでしょうか?



481 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 21:45:23.47 ID:Zr32bafNM.net]
>>466
cellsがActiveSheetのセルなのでエラーになる。
↓のような感じでどうぞ。

with workbooks(********.***).worksheets(*****)
.range(.cells(StartRow,StartCol), .cells(endrow,endocol).borderaround
end with

482 名前:デフォルトの名無しさん mailto:sage [2017/06/02(金) 22:52:19.74 ID:rlzCeZS80.net]
>>467 ありがとう。 そういうことだったんですね。

483 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 17:22:19.30 ID:u7+4M4Ru0.net]
>>468
初心者が一番嵌まる奴だな。

484 名前:デフォルトの名無しさん [2017/06/03(土) 21:54:33.85 ID:4eBaDiw20.net]
クラスモジュールってクラス定義してインスタンス化できるってこと?マルチスレッド可能なの?
オブジェクト指向?

485 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 22:20:24.58 ID:KC92KqWf0.net]
>>470
>クラス定義してインスタンス化できるってこと?
そう
>マルチスレッド可能なの?
無理

486 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 22:30:10.37 ID:aDOlFL7Wx.net]
>>470
オブジェクト指向

487 名前:ヘ中途半端なとこまでしかできない
マルチスレッドは無理
[]
[ここ壊れてます]

488 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 22:32:25.28 ID:KC92KqWf0.net]
エクセルvbaの場合エクセル自体がメインのオブジェクトだから、そんなにclassにこだわることもないけどね
エクセルvbaでゲーム作ってる人は知らん

489 名前:デフォルトの名無しさん [2017/06/03(土) 22:56:31.41 ID:4eBaDiw20.net]
>>471
>>472
プロパティくらいなのか
サンキュ

490 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 23:02:58.42 ID:aDOlFL7Wx.net]
>>474
カスタムイベント実装、インターフェース継承くらいなら出来る
ただ引数付きコンストラクタの作成やクラス継承・オーバーロードが出来ない



491 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 23:49:37.74 ID:KC92KqWf0.net]
vbaって継承できたのか、知らなかった・・・

492 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 23:53:01.27 ID:6M92ecdj0.net]
>>475
C++でそれらを使ってた時は
無くてもいいかなあとか思ってたけど
VBA始めたらありがたさがわかった

493 名前:デフォルトの名無しさん [2017/06/04(日) 00:02:03.04 ID:SMq8qLM70.net]
>>477
C++でわからなかったんだからわかってないよそれw

494 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 00:14:43.34 ID:QJwsDnIt0.net]
>>478
いや、普通に使ってるものに対して
いちいちありがたみなんて感じないだろ?
あるのが当然なんだから
正直lamdaもほしい

495 名前:デフォルトの名無しさん [2017/06/04(日) 00:23:32.29 ID:SMq8qLM70.net]
>>479
そうか?オレ毎日納豆食うけど食うたびに美味しいぜ?

496 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 00:46:27.14 ID:TICwxklg0.net]
無くてもいいかなあ
とわざわざ考えるとは疑問

497 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 00:55:58.63 ID:/9No1Vdv0.net]
C++の共用体はこんなもん使うか?と思ったけど、使うべき場面が来たら普通に使う
そういうもんだった

498 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 01:47:41.87 ID:ObX9l6mb0.net]
ありとあらゆる機能を使って実装するっていう状況自体少ないだろうしな。

499 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/04(日) 08:43:15.60 ID:/sAoF2vM0.net]
マルチスレッドが無理って、
2つのブックでDoEventsして、
2つ実行したらおかしくなるってこと?

500 名前:デフォルトの名無しさん (ワッチョイ bd23-KDIu) mailto:sage [2017/06/04(日) 11:38:52.57 ID:ParPgGiC0.net]
>>484
それはマルチスレッドじゃなくね?



501 名前:デフォルトの名無しさん (ワッチョイ 3511-UdBD) mailto:sage [2017/06/04(日) 11:40:48.80 ID:NZhuuX9z0.net]
なんやかんやクラスは便利
データまとめるのにはよく使うわ

502 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/04(日) 12:00:24.95 ID:I9SwB1IFx.net]
>>486
クラスでデータまとめるって、具体的にはどういう場面で使ってる?
ワークシート使うより便利?

503 名前:デフォルトの名無しさん (ワッチョイ 3511-UdBD) mailto:sage [2017/06/04(日) 12:55:28.25 ID:NZhuuX9z0.net]
>>487
シートにあるやつを一回配列かコレクションか(俺はやらないけどレコードセットでもいい)にクラスん中でまとめるのよ
メインコードにリストに入れる処理入れるとごちゃごちゃするからさ

504 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/04(日) 13:22:31.55 ID:tlzlLDo0x.net]
>>488
レスありがとう
なるほどね
複数のレコードに対して同じ処理を繰り返す必要がある場合には便利そう

505 名前:デフォルトの名無しさん (ワッチョイ 9e23-amhP) mailto:sage [2017/06/04(日) 17:48:58.65 ID:1s3T2QVw0.net]
>>484
全然ちがう。
win32API使って別スレッド作る方法はあるし可能だよ。
けどExcelVBAでそれをやると物凄い不安定になる。
自分が試した感触ではRangeとかCellとかのExcelのオブジェクト触った瞬間にExcelごと落ちる感じ。

じゃあ、Excelのオブジェクト触らずに計算する所だけなら良いかというと、動く場合もあるけど複雑なものになると処理が間に合わなくて落ちるらしい。

基本、やめた方が良い。

506 名前:デフォルトの名無しさん (スプッッ Sded-qcoX) mailto:sage [2017/06/05(月) 01:20:19.17 ID:oPyz6kCkd.net]
別処理をWord使って処理させようとしてもOf

507 名前:fice全体で連携かかってるみたいでうまくいかなかったことがある
変なとこで作り込まれていてやりたいようにできないんだよな
[]
[ここ壊れてます]

508 名前:デフォルトの名無しさん (ドコグロ MM12-Tm/A) mailto:sage [2017/06/05(月) 08:37:00.53 ID:nJSdLO+iM.net]
元々マルチスレッドに対応してないものを無理矢理動かそうとして文句言われてもなぁ...

509 名前:デフォルトの名無しさん (ワッチョイ 5e6d-zyXy) mailto:sage [2017/06/05(月) 08:43:10.54 ID:+xVCJOY00.net]
文句じゃなくね

510 名前:デフォルトの名無しさん (ワッチョイ 2973-KDIu) mailto:sage [2017/06/05(月) 08:55:26.49 ID:btJTHdak0.net]
想定外の使い方ができないぞ!ってのは文句じゃないのか



511 名前:デフォルトの名無しさん (スップ Sdea-rE82) mailto:sage [2017/06/05(月) 09:24:51.60 ID:Sx3XxldLd.net]
>>490
ほほ同じ経験がある。
自分の場合は処理が終了したデータをDBにINSERTするところは上手くマルチスレッド化できた。
待ち合わせが必要ないパターンだったし。

COMそのものがマルチスレッドだめなんかね?

512 名前:デフォルトの名無しさん (JP 0H6e-rLqX) mailto:sage [2017/06/05(月) 11:01:11.07 ID:bwrXOc4qH.net]
>>490
> 自分が試した感触ではRangeとかCellとかのExcelのオブジェクト触った瞬間にExcelごと落ちる感じ。
それGUIアプリの常識。
全然関係ないスレッドからUIスレッド管理下のものに触ってはいけない。
https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%82%A4%E3%82%B9%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89

513 名前:デフォルトの名無しさん (スップ Sdea-rE82) mailto:sage [2017/06/05(月) 11:54:25.53 ID:Sx3XxldLd.net]
>>496
プライマリスレッドからでもダメなこと多かったよ。

514 名前:デフォルトの名無しさん (JP 0H6e-rLqX) mailto:sage [2017/06/05(月) 11:59:36.00 ID:bwrXOc4qH.net]
>>497
> プライマリスレッドからでもダメなこと多かったよ。
どの言語で?

515 名前:デフォルトの名無しさん (ドコグロ MM12-Tm/A) mailto:sage [2017/06/05(月) 12:54:03.39 ID:cR57/ADJM.net]
>>495
> COMそのものがマルチスレッドだめなんかね?
COM 自体はアパートメントモデルをちゃんと設定すればマルチスレッドでも動く
eternalwindows.jp/com/apartment/apartment01.html
個々のオブジェクトが正しく動作するかどうかはまた別の話

516 名前:デフォルトの名無しさん (ササクッテロラ Sp3d-mjoq) [2017/06/05(月) 23:38:18.98 ID:bd1ggU41p.net]
マクロを作成は通常MODULEですが、
Sheet1やThisworkbookに記入するのはどういうときでしょうか。済みません。

517 名前:デフォルトの名無しさん (ワッチョイ 4aef-PQPf) mailto:sage [2017/06/06(火) 00:15:48.16 ID:d6CS0Xy90.net]
なんでVBAでマルチスレッドにするの

518 名前:デフォルトの名無しさん (ワッチョイ 9e23-amhP) mailto:sage [2017/06/06(火) 04:12:26.65 ID:NdFOOmMr0.net]
>>501
要望として有るのは待ち状態の時に先に進めるためとか。

ダイアログの中には何らかの操作をしてダイアログ自体を閉じさせないと次のステップに行かない物がある。
そういう時に別スレッドで無限ループ中でそのダイアログが見つかったら操作する処理を動かしてからダイアログ表示させるとか。

例えばメッセージボックス表示させるんだけど10秒間ボタンが押されなかったらキャンセルするとか。

こういうのは上手く書くと動く。

他にも複数の関連しない計算に時間がかかっている時に単純に速度アップのために使いたいと思うかもしれない。

でも動いても趣味のプログラム以外じゃ危なっかしくて使えない。
マルチプロセスで代替えできるものも多いから無理する必要もない。

519 名前:デフォルトの名無しさん (ワッチョイ 6a06-k7rq) mailto:sage [2017/06/06(火) 04:20:46.72 ID:LBKXQv4G0.net]
>>500

>Sheet1
そのシートをActiveにした時の処理、DeActivateにする時の処理、あるいは
特定のセルにデータを入れた時の処理 etc

>Thisworkbook

ブックの起動時や終了時にDBとの接続処理や切断処理を入れてる

520 名前:デフォルトの名無しさん (ワッチョイ 5e6d-zUMb) mailto:sage [2017/06/06(火) 07:54:06.29 ID:xLIl+dL/0.net]
sheetやbookに書くのはそのオブジェクトのイベント
使い捨ての整形マクロなんかはsheetに書いてもいいけど、標準モジュールに書いたほうベター



521 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/06(火) 09: ]
[ここ壊れてます]

522 名前:05:13.69 ID:YhE+Nuz8x.net mailto: >>500
シートやブックのイベントを使用するためだよ
[]
[ここ壊れてます]

523 名前:デフォルトの名無しさん (ワッチョイ bd23-KDIu) mailto:sage [2017/06/06(火) 20:09:22.46 ID:Uy4z/eLw0.net]
vlookup等を使用しているとソルバーが使えないらしいのでVBAで作ろうと思っていますが、定番というか定石というか、参考になるサイトややり方等はありますか?
言ってて抽象的だなとは思ってはいますが、どうすべきなのか判らず…よろしくお願いします。

524 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/06(火) 21:53:22.27 ID:efHThVDq0.net]
>>500
Thisworkbook.Worksheets(Activesheet.Name).Cells(1,1).Value=1
って書くのが面倒くさくて、
Me.Cells(1,1).Value=1
って書きたい時とか。

Me.も要らねえだろって?
何らかの理由でActivesheetが変わっちゃったら嫌じゃないですか?

525 名前:デフォルトの名無しさん (ササクッテロラ Sp3d-mjoq) [2017/06/06(火) 21:56:25.64 ID:vXDpJbBwp.net]
教えてください。

マクロでハイパーリンクを実行したいのですが、セルにリンクを貼る必要がない、ただマクロから実行するだけというとき、どう書けば良いのでしょうか。

526 名前:デフォルトの名無しさん (ワッチョイ ed46-RkbP) mailto:sage [2017/06/06(火) 22:06:15.37 ID:XIE7cY+50.net]
>>508
これ?

Sub foo()
ThisWorkbook.FollowHyperlink "www.google.co.jp/"
End Sub

527 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/06(火) 22:14:17.43 ID:efHThVDq0.net]
そっち?

ハイパーリンクじゃなきゃダメなのか、
飛べば何でもいいのか。

Dim Ie As InternetExplorer
Set Ie = CreateObject("InternetExplorer.Application")
Ie.Visible = True
Ie.Navigate "www.google.co.jp/"

528 名前:デフォルトの名無しさん (ワッチョイ 6a6f-E6+r) mailto:sage [2017/06/06(火) 22:21:53.88 ID:efHThVDq0.net]
↑Microsoft Internet Controlsを参照設定しないとだめだわ。

529 名前:デフォルトの名無しさん (ワッチョイ 5e6d-hsUK) mailto:sage [2017/06/06(火) 22:53:35.96 ID:xLIl+dL/0.net]
>>510
IEではなく、chromeインスタンスを作ることって出来ますか?

530 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/06(火) 23:09:15.48 ID:NPrNQzK4x.net]
Dim objShell as Object
Set objShell = CreateObject(“WScript.Shell”)
GC.Run (“chrome.exe -url ” & アクセスしたいページのアドレス)



531 名前:デフォルトの名無しさん (アークセー Sx3d-nANo) mailto:sage [2017/06/06(火) 23:10:19.79 ID:NPrNQzK4x.net]
間違えたので

Dim objShell as Object
Set objShell = CreateObject(“WScript.Shell”)
objShell.Run (“chrome.exe -url ” & アクセスしたいページのアドレス)

532 名前:デフォルトの名無しさん (スプッッ Sded-qcoX) mailto:sage [2017/06/07(水) 00:14:23.17 ID:iB9NoSxCd.net]
>>507
activesheetがどこだろうとsheetモジュールに書いてんなら関係なかんべ

sheetオブジェクトまで省略できる手抜きコードで済ますのにたまに使ってるわ
あとsheetをコンフィグ書いとくのに使ってるときにプロパティ的な関数を置いといたりな
あまり行儀よくはない自覚はある

533 名前:デフォルトの名無しさん (ブーイモ MM49-JT0G) mailto:sage [2017/06/07(水) 01:08:40.19 ID:0NeAqWbNM.net]
>>506
詳しくはないけど、VBAでやるものじゃない印象。
Excelのソルバーで収束するように数式を書き換えるか、他の言語やツールを使うのがいいんじゃないかなあ。
「ソルバー アルゴリズム」でググれば色々手段が出てくるよ。

534 名前:デフォルトの名無しさん (ワッチョイ 7d6d-28Zt) [2017/06/08(木) 01:09:56.48 ID:eFwaOcHQ0.net]
あるサイトのスクロールバーを一番下まで下げて
キャプチャしてシートに貼り付けてトリミング。
同じページにあるフレーム内のスクロールバーを下まで下げて
キャプチャしてシートに貼り付けてトリミング。ってのを
3ページ分位繰り返し行いたいのですが
www.vba-ie.net/ie/iescroll.html
この辺とか見てるんですがヒントください

535 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/08(木) 05:16:07.28 ID:1DKX/Vru0.net]
>>517
なんでこんなヘンテコなことしなきゃならんの?
JavaScriptなんて

536 名前:必要無いぞ。
と思ったけど、ちょっと調べてみるとJavaScriptでスクロールしてる例が多いな。
今、試す環境が無いから何とも言えないな。

DOMの勉強するよろし。
[]
[ここ壊れてます]

537 名前:デフォルトの名無しさん (ワッチョイ db6d-D9zB) mailto:sage [2017/06/08(木) 07:40:44.87 ID:fJC45ZIB0.net]
>>517
パット見たけどかなりめんどくさそう
キーボードマクロの方が良いと思う

538 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/08(木) 15:33:04.11 ID:1DKX/Vru0.net]
>>519
キーボードマクロは危険だよ。
動いてる最中にマウスクリックとかすると場合により大変なことになる。

操作は難しくないけどキャプチャをどうするかで難しくなるかも。
自分だったら難しい方法を選択するので。

539 名前:デフォルトの名無しさん (アウアウイー Saf1-ptyI) mailto:sage [2017/06/08(木) 20:37:38.86 ID:HogApBmCa.net]
VBA初心者です
For Nextループのカウンタ変数について質問です

1) データの最終行を取得
  カウンタ変数の初期値 2、終了値をデータの最終行に設定(仮に11とします)
2) For Nextループで処理
3) ループ終了後、A11セルの値を変数に代入したい

  For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
処理
Next
★変数 = Cells(i, 1).Value

★For Nextループを抜けた直後のカウンタ変数iは、データの最終行(i=11)のはずなので、
そのままCellsプロパティに代入すればA11セルの値を取得できると考えたのですが、
ループ終了時にカウンタ変数iが終了値に+1されて12になってしまいます

「For Nextループ終了後のカウンタ変数iは終了値+1になる」
というのは仕様なのでしょうか?

540 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/08(木) 20:40:46.12 ID:TyBSFeDZ0.net]
仕様ではないけど現実はそうなる



541 名前:デフォルトの名無しさん (ワッチョイ d543-g/1O) mailto:sage [2017/06/08(木) 20:45:04.87 ID:xavUYSpk0.net]
ループ変数が指定の範囲を「越えたら」ループを終了する、というのがForの仕様

542 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/08(木) 20:46:19.32 ID:x3QO3rgpx.net]
>>521
xlupの値を使えばいいでしょ

543 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/08(木) 20:46:39.16 ID:TyBSFeDZ0.net]
ループ変数が指定の範囲の「間」ループを繰替えす、というのがForの仕様

544 名前:デフォルトの名無しさん (アークセー Sx71-5Ux4) mailto:sage [2017/06/08(木) 20:53:59.27 ID:ajpliBtkx.net]
>>522
仕様だよ
For Nextはカウンタ変数の値が引数endを超過した(または引数endの値未満になった)と判断したときにループ終了になる
Step1でループさせた場合、カウンタ変数がend+1の値になったときに次の処理に移るので、ループを抜けた後のカウンタ変数は当然end+1になる

545 名前:521 (アウアウイー Saf1-ptyI) mailto:sage [2017/06/08(木) 20:55:48.28 ID:HogApBmCa.net]
お答えありがとうございます

>>523,525-526さんがおっしゃってるようなことかなー、と思ったのですが
カウンタ変数は終了値を維持するという謎の思い込みがあったので
詳しい方々にきちんと教えていただけて有り難いです

>>524
ごり押しでi=i-1とするつもりでしたが断然スマートですね
というか、最終行取得のCells(Rows.Count, 1).End(xlUp).Rowも定型文のように覚えていたので、
きちんと構文の意味と動作を調べ直します

546 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/08(木) 20:59:19.38 ID:x3QO3rgpx.net]
>>527
へっ
良いってことよ!
達者でな

547 名前:デフォルトの名無しさん (ワッチョイ 2311-OlK+) mailto:sage [2017/06/08(木) 21:43:39.15 ID:ZLqPeRaK0.net]
i = 1
Do While i <= 11
i = i + 1
Loop

みたいなもんだね。
あと言語によってはループ変数(i)がfor文の中だけのスコープで
for文を抜けたら破棄されたりするから、ループ変数はループの中だけで
使う癖をつけておいた方が無難。

548 名前:デフォルトの名無しさん (ワッチョイ 236f-xcYX) mailto:sage [2017/06/08(木) 21:44:40.10 ID:/ZCsTOrv0.net]
別ブックのデータを自動で取り込むプログラムを書いていて思うんだけど、

549 名前:
そういうのが簡単に出来るクラスとかないの?
[]
[ここ壊れてます]

550 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/08(木) 21:47:25.81 ID:XdC3vCwF0.net]
>>530
Workbooks.Open



551 名前:デフォルトの名無しさん (ワッチョイ 2311-OlK+) mailto:sage [2017/06/08(木) 21:52:58.35 ID:ZLqPeRaK0.net]
>>517
こんな感じかな?
出来るかはわかんないけど。

IEインスタンスを生成する
IEを表示する
IEにURLを送る
IEの表示を待つ
IEのページにフォーカスする
sendkeysで一番下までスクロールする
sendkeysでPrintScreen
0.1秒位待つ
シートに貼り付けてトリミングする
IEのiframeにフォーカスする
sendkeysで一番下までスクロールする
sendkeysでPrintScreen
0.1秒位待つ
シートに貼り付けてトリミングする
以下ループ

キーマクロは俺も考えたけど、エクセルの操作が融通ききにくそう。
UWSCとか使えばいいかもしれないけど、結局VBAで書くのと大差なくなる気がする。

552 名前:デフォルトの名無しさん (ワッチョイ 236f-xcYX) mailto:sage [2017/06/08(木) 22:01:50.62 ID:/ZCsTOrv0.net]
>>531
そうだけどさ、
自身のファイルを開いてないか?
開いたファイルにフィルタがかかってないか?
開こうとしているファイルは既に開いてないか?
xlsかcsvか?
って、色々チェックするの面倒じゃん。

553 名前:デフォルトの名無しさん (ワッチョイ db6d-MPbE) mailto:sage [2017/06/08(木) 22:16:37.58 ID:fJC45ZIB0.net]
作ればいいんじゃないの

554 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/08(木) 22:40:42.97 ID:XdC3vCwF0.net]
>>533
Function foo1(FilePath As String) As Workbook
For Each x In Workbooks
If x.FullName = FilePath Then Set foo1 = x: Exit For
Next
If foo1 Is Nothing Then Set foo1 = Workbooks.Open(FilePath)
End Function

Function foo2(WS As Workbook, SheetName As String) As Worksheet
For Each x In WS.Worksheets
If x.Name Like SheetName Then Set foo2 = x: Exit For
Next
If Not foo2 Is Nothing Then foo2.AutoFilterMode = False
End Function

こんなんだろ。大した手間でもないと思うんだけど。
俺はモジュール一個にワークブック、ワークシート、セルの各種チェック含めた操作関係まとめてたけど、
二十個くらいにしかならなかったぞ。

555 名前:デフォルトの名無しさん (ワッチョイ dd8b-Kuea) [2017/06/08(木) 23:01:17.07 ID:TyBSFeDZ0.net]
>>535
まあそんなもんなら大した手間じゃないよな
それじゃ全然ダメだけど禿

556 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/08(木) 23:08:59.28 ID:fJC45ZIB0.net]
Function foo1(FilePath As String) As Workbook
on error resume next
この魔法の一行で全て解決

557 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/08(木) 23:28:03.30 ID:XdC3vCwF0.net]
On Errorだと原因が分からないからなぁ。
単純なマクロならそれでもいいんだけど。

558 名前:デフォルトの名無しさん (ワッチョイ 2311-OlK+) mailto:sage [2017/06/08(木) 23:37:56.75 ID:ZLqPeRaK0.net]
>>535
> If x.FullName = FilePath Then Set foo1 = x: Exit For
これ通るのか…知らなかった…

559 名前:デフォルトの名無しさん (ドコグロ MM13-UHXl) mailto:sage [2017/06/08(木) 23:41:02.10 ID:q8X0hO01M.net]
application.runをaccessから呼んだんだけど、
activateしないと失敗してしまう。

あと、マクロを保持してるブックを開いてマクロを実行すると処理中はブックを触れないが、accessから呼ぶと触れてしまう。

おかげで処理に失敗するので、何とかならないだろうか。

560 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/08(木) 23:47:27.35 ID:XdC3vCwF0.net]
>>539
コロンが改行の代わりになるから、コロンで区切りさえすればだいたいのものは通るぞ。

>>540
ExcelからAccessを触るようにしよう。
AccessからExcel触るのは管理がくっそ面倒だから(バージョンによるかもしれないが)
修飾付きのエクセルファイル出力がしたいとかでない限りやめた方がいい。

あとはExcelで直接DBを開いてSQLで制御するという地獄の選択肢もあるぞ。



561 名前:デフォルトの名無しさん (ワッチョイ 0332-Ell8) mailto:sage [2017/06/09(金) 03:33:36.27 ID:Vt79/8Sl0.net]
アクセル

562 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/09(金) 04:45:48.88 ID:e02rbmqe0.net]
>>532
キーマクロもSendkeysもやめた方が良い。
Sendkeys等は宛先を指定しない。
VBA動作中でもアクティブウィンドウは操作で変更出来る。

IEのスクロールはページ表示後もDOMで出来る。

'1ページ高さ
lngPH=objIE.Document.DocumentElement.ClientHeight

'サイト高さ
lngBH=objIE.Document.Body.ScrollHeight

'1ページスクロール
objIE.DocumentParentWindow.ScrollTo 0, lngPH

563 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/09(金) 07:54:37.94 ID:SNIZYBKJM.net]
>>542
なんかふと笑った

564 名前:デフォルトの名無しさん (ワッチョイ 9d73-2i+1) mailto:sage [2017/06/09(金) 11:39:02.72 ID:MW/jqskx0.net]
excelで直接DBに接続してSQLの何が地獄なんだろう…

565 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/09(金) 12:02:22.23 ID:KaOScHzEx.net]
>>545
説明できるほうに100億ドル










ただしジンバブエの

566 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/09(金) 12:08:37.61 ID:6C6XVn6H0.net]
>>545
Accessと文法が違う
使えない命令がある
エラーが返ってこない
データ型の指定が出来ない

過去スレとかで何度も出たけど、だいたいこの辺の理由で地獄

567 名前:デフォルトの名無しさん (ワキゲー MM13-S7v4) mailto:sage [2017/06/09(金) 12:17:15.07 ID:lNiKtgPwM.net]
>>546
ジンバブエドルってもう回収済みだから割と価値高いよな

568 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/09(金) 12:23:12.97 ID:6C6XVn6H0.net]
今の1ジンバブエドル=0.3円らしいから、100億ジンバブエドル=30億円かな

569 名前:デフォルトの名無しさん (ドコグロ MM13-UHXl) mailto:sage [2017/06/09(金) 12:48:37.15 ID:8EXeePojM.net]
>>541
access起点で作ってるらもう駄目だー。

570 名前:デフォルトの名無しさん (ブーイモ MMa9-+CHm) [2017/06/09(金) 12:52:52.49 ID:jWLsfRM+M.net]
素人にVBAを教えるとき
いきなりRange()とするんじゃなく

Workbooks("うんたら")〜.RangeやCells
と、ちゃんと上位層の指定を書くんよ!

って最初から教えるべき?
それとも慣れてから教えるべき?



571 名前:デフォルトの名無しさん (ワッチョイ 3546-MFns) mailto:sage [2017/06/09(金) 14:03:55.81 ID:DLo2rfbX0.net]
>>551

>>466 のようなエラーがあるから
Cells Rangeの前には必ず上位層を指定する癖を 付けさせた方がいいと俺は思う

手を抜いて省略するのは慣れてからでもいいんじゃね?

572 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/09(金) 14:16:07.35 ID:ehLmIvolH.net]
>>552
普通に、「シートモジュールから自分のシートを参照するときは不要、それ以外は必要」と教えれば?

573 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/09(金) 14:20:33.43 ID:6C6XVn6H0.net]
>>551
べったり張り付いてられるなら失敗してから教える方がいい。
PC教室みたいに一過性の教育なら省略しない書き方で覚えさせた方がいい。

574 名前:552 (ワッチョイ 3546-MFns) mailto:sage [2017/06/09(金) 14:43:26.16 ID:DLo2rfbX0.net]
>>553
アンカミスなのか 俺宛てなのか分らが・・・

シートモジュールの場合 省略していいよじゃなくて 自分自身を示すMeを使って
Me.Range(・・・・) と教えた方が良いと思うんだけど

575 名前:デフォルトの名無しさん (アウアウエー Sa93-qAom) mailto:sage [2017/06/09(金) 14:48:22.03 ID:LCUpZwW2a.net]
>>533
fso使って自分で作りゃいいじゃん
難しくないでしょ

576 名前:デフォルトの名無しさん (アウアウエー Sa93-qAom) mailto:sage [2017/06/09(金) 14:50:28.52 ID:LCUpZwW2a.net]
>>551
同時に教える
動かして動かせたらなんでか、というふうに

577 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/09(金) 14:56:10.12 ID:ehLmIvolH.net]
>>555
> Cells Rangeの前には必ず上位層を指定する癖を 付けさせた方がいいと俺は思う
に対する俺の意見なんで、アンカーは間違ってないよ。

> Me.Range(・・・・) と教えた方が良いと思うんだけど
これにも反対。
MSが言うように、実引数のときのみ使う方がわかりやすい。
https://msdn.microsoft.com/ja-jp/library/office/gg251792(v=office.15).aspx
そうしないとMeだらけになる。

578 名前:552 (ワッチョイ 3546-MFns) mailto:sage [2017/06/09(金) 15:00:45.88 ID:DLo2rfbX0.net]
>>558
あい分った
きみの主張を否定するつもりはないよ
でも俺の主張は >>552 で変えるつもりはない

これにて終了

579 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/09(金) 15:05:08.05 ID:6C6XVn6H0.net]
Range(Cells,Cells)の教え方が本題じゃないし、
かといってエラーの網羅なんか現実的じゃないしで、
本題に沿わない意見ってだけだからな。

そもそも同じ話してないから否定も何も話し合いにならないぞ。

580 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/09(金) 15:16:13.50 ID:ehLmIvolH.net]
>>559
まぁ、俺は全力で君の意見を否定するけどね。



581 名前:デフォルトの名無しさん (ワッチョイ 0332-Ell8) mailto:sage [2017/06/09(金) 16:06:32.05 ID:Vt79/8Sl0.net]
これにて終了

582 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/09(金) 19:01:42.64 ID:8JxPJdKv0.net]
>>551
慣れてからは省略することが無くなった。そんなしょーもないとこで手を抜くとミスする確率が跳ね上がる
その分setは多用するけどね

set 集計シート = sheets("total")
集計シート.cells(1,1)

583 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/09(金) 21:53:45.20 ID:yARYpVIR0.net]
>>563
sheetsは省略しとるけどええんかこれで?

584 名前:デフォルトの名無しさん (ワッチョイ 0332-Ell8) mailto:sage [2017/06/09(金) 21:53:49.39 ID:Vt79/8Sl0.net]
Set 集計シート = Sheets("Total")
集計シート.Cells(1, 1)

585 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/09(金) 22:01:02.57 ID:8JxPJdKv0.net]
>>564
自分の信じた道を進めばいい
もし君の不注意が多いなら、いつか俺と同じ表記になる
sheetを書こうが書くまいが絶対にミスしないなら、sheetはずっと書かないのだろう
それはそれでいいことだと思う

586 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/09(金) 22:04:36.45 ID:yARYpVIR0.net]
>>566
あいやーw伝わらんかなw
(デフォルトのワークブック.)sheets()
という表記になってるけどそれはええんか?
という意味やでw

587 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/09(金) 22:12:56.26 ID:8JxPJdKv0.net]
>>567
/(^o^)\
単独ブックならbook名は省略するかな
単独シートでマクロを使う場合は省略はしない。拡張した時に大抵必要になるし、そのパターンが多い

で、複数のブックを使う場合は必ずsetする
set 設定シート = thisworkbook.sheets("設定シート")
set 転記元ブック = workbooks.open("転記元ブック")
set 転記元シート = workbooks.open("転記元ブック").sheets("転記元シート")
set 転記先シート = workbooks.open("転記先ブック").sheets("転記先シート")

大体こんな感じでsetしてから使うかな
俺の癖で、設定はマクロファイルに入れるので、thisworkbookだけはそのまま使う事が多い

588 名前:デフォルトの名無しさん (ワッチョイ 250d-kOr2) [2017/06/09(金) 22:15:20.46 ID:dxrWbrOn0.net]
worksheetsをsheetsと略してるのはどうなの?ってことだろ

589 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/09(金) 22:21:42.71 ID:8JxPJdKv0.net]
>>569
グラフシートやマクロ4..0シートを使うなら問題かもしれないね
俺は使わないからどうでもいいけど

590 名前:デフォルトの名無しさん (ワッチョイ 236f-xcYX) mailto:sage [2017/06/09(金) 22:24:19.15 ID:w6iYvsph0.net]
面白いな。
そんな書き方あったのかよっていう例が色々。

でも、Openしたブックを直接セットしちゃったら、
ReadOnlyとかできるの?



591 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/09(金) 22:26:44.97 ID:e02rbmqe0.net]
必ずBookも省略しない。
慣れだね。
気分でSetもWithも使わずに物凄い長い文を書くこともある。
ー度動かしてから修正するけどね。

592 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/09(金) 22:28:37.54 ID:8JxPJdKv0.net]
>>571
https://msdn.microsoft.com/ja-jp/library/office/ff194819.aspx
3つめの引数で設定できるよ
Workbooks

593 名前:.Open(path,,true)
多分これで読み取り専用になる(はず)
[]
[ここ壊れてます]

594 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/09(金) 22:30:26.13 ID:e02rbmqe0.net]
>>571
Open時に引き数として与えればOK

595 名前:デフォルトの名無しさん (ワッチョイ e511-qAom) mailto:sage [2017/06/10(土) 09:26:47.69 ID:+HgNy1AT0.net]
単独ブックで使うときだってブックは省略しない方がいいに決まってるだろ
ユーザーがどんな使い方するかなんてこっちで管理できないんだから
そもそも大した手間じゃねえし

596 名前:551 (ブーイモ MMa9-+CHm) [2017/06/10(土) 10:06:36.80 ID:0yj13WovM.net]
やはり、最後にはちゃんと指定を教えることにはなりますよね。

とりあえず、プログラミングが簡単って感じで入れればいいかなと思って
最初から細かく行くと嫌になってしまわないか?というところで悩むところ、、、
でも、全部上位から書くって別に複雑では無いんよね、、、

597 名前:デフォルトの名無しさん (アークセー Sx71-5Ux4) mailto:sage [2017/06/10(土) 10:17:23.18 ID:WC+0mLwsx.net]
RangeとかCellsとか使うコードを書かせることは、コード量が少なくなるから一見エクセルマクロやプログラミングの初学者向きに見えるが、後々オブジェクトモデル理解の妨げになる

598 名前:デフォルトの名無しさん (ワッチョイ 1523-2i+1) mailto:sage [2017/06/10(土) 10:53:33.63 ID:fc8/KSyR0.net]
>>577
は?
自称上級者様はExcelVBAなのにシート使わないの?

599 名前:551 (ブーイモ MMa9-+CHm) [2017/06/10(土) 10:55:41.58 ID:0yj13WovM.net]
コード量のために
withやsetを教えるとまた最初に覚えないといけないことが増えるし。
インデントも教えないといけなくて、、、

悩む、、

600 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 11:32:19.99 ID:1OFjIP+40.net]
>>579
With はともかく Set はおまじないレベルでもいいので教えておくべきだ思う



601 名前:デフォルトの名無しさん (アークセー Sx71-5Ux4) mailto:sage [2017/06/10(土) 11:34:39.43 ID:WC+0mLwsx.net]
>>578
基底クラスのRange、Cellsは使わない、という意味だよ
RangeクラスやCellsクラスを使う場合は必ず操作対象のブック、シートを指定する

602 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/10(土) 11:59:16.65 ID:7onqK0zV0.net]
住所と一緒。
いきなり中央区と言われても「どこの?」となる。
ブックから指定した方が曖昧さが無くなる。

603 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 12:02:23.03 ID:1OFjIP+40.net]
>>581
お前は基底クラスの意味をもう一度調べてこい
知ったかかと思ったらそれ以下だったわ w

604 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 12:18:14.91 ID:FN/PeeFU0.net]
既定クラスの間違いかも

605 名前:デフォルトの名無しさん (ワッチョイ bd54-kblr) mailto:sage [2017/06/10(土) 12:21:14.78 ID:33ScHThx0.net]
ちゃんとLetを書こう

606 名前:デフォルトの名無しさん (オッペケ Sr71-Kuea) [2017/06/10(土) 12:22:40.92 ID:7x8i6naHr.net]
でもなあ…このスレで上から目線で偉そうに語ってるやつは例外なく>>581レベルなんやで…かなりマジに…

607 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/10(土) 12:38:07.24 ID:6tSezeKAM.net]
>>584
既定クラス?
なにそれ初耳なんだが...

608 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 12:41:29.80 ID:FN/PeeFU0.net]
>>587
既定は知ってる?

クラスは知ってる?

609 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/10(土) 12:57:48.98 ID:6tSezeKAM.net]
>>588
そんなアホな返しは要らんからあると言うなら定義してあるところ教えて

610 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 13:13:15.38 ID:FN/PeeFU0.net]
>>589
既定のクラスのことだろ

既定のプログラム→既定プログラム
既定の値→既定値

日本語が解るなら既定とクラスから類推出来る



611 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 13:30:09.52 ID:1OFjIP+40.net]
>>590
ひょっとしてクラスとオブジェクト/インスタンスの区別もついてないのか?

612 名前:デフォルトの名無しさん (ワッチョイ 1523-2i+1) mailto:sage [2017/06/10(土) 13:33:07.94 ID:fc8/KSyR0.net]
自作の造語を常識のように語られても…

613 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/10(土) 14:04:53.91 ID:blUYIu4Y0.net]
その既定のクラスとやらは、いつどんな状況で使われてるの?

まあ>>581に対してなら、基底クラスより規定クラスの方がまだ納得できる文書になるけどな

614 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 14:10:07.47 ID:FN/PeeFU0.net]
>>592
私は581じゃないけどな

615 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 14:11:14.32 ID:FN/PeeFU0.net]
>>593
既定のクラスを想定できる状況で使うんじゃね?

616 名前:デフォルトの名無しさん (ドコグロ MM13-UHXl) mailto:sage [2017/06/10(土) 14:15:13.25 ID:aQSdDkWeM.net]
なぜオブジェクトを代入するとき、setをつけないといけないんでしょうか?

他の言語ではそんなことないのに

617 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 14:21:16.85 ID:FN/PeeFU0.net]
>>592
赤のペン→赤ペン
青の信号→青信号
自動車の教習所→自動車教習所
机の上→机上

抽象化する知能があれば解るよな

618 名前:デフォルトの名無しさん (ワッチョイ db6d-PV39) mailto:sage [2017/06/10(土) 14:33:18.65 ID:kwqfnDcj0.net]
>>597
痛い
それ以上はやめてくれ、頼む

619 名前: []
[ここ壊れてます]

620 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 14:40:44.58 ID:FN/PeeFU0.net]
>>598
旗色が悪くなると誤魔化すんだなw



621 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/10(土) 14:41:38.33 ID:VN5tpTLe0.net]
>>596
VBAではそういうルールになってるから。嫌なら使わなければOK

622 名前:デフォルトの名無しさん (ワッチョイ 1523-OlK+) mailto:sage [2017/06/10(土) 14:42:49.77 ID:fc8/KSyR0.net]
それでうまく誤魔化したつもりなのか・・・
嘘に嘘を重ねて、引っ込みがつかない状態で強がられても・・・

623 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 15:12:00.04 ID:1OFjIP+40.net]
>>597
それ抽象化じゃなくて単なる省略だろ w

624 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/10(土) 15:16:38.87 ID:7onqK0zV0.net]
>>596
Dim str1 As String
str1=Range("A1")
Debug.Print str1
は分かるよね。

Dim var1 As Varient
var1=Range("A1")
Debug.Print var1
も分かるでしょ。

じゃ、
Dim var2 As Varient
var2=Range("A1")
Debug.Print var2.Left
というのは有り得るかという話。

Setが無いと誤解が増えるよ。

625 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/10(土) 16:09:54.37 ID:blUYIu4Y0.net]
Setが必要な理由は、デフォルトプロパティへのアクセスなのかオブジェクト(参照)へのアクセスなのか区別できないから

ちなみに、VB6ではSetは必要だったが、VB.NETではSetは無くなった
その代わりに、デフォルトプロパティが廃止された

626 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) [2017/06/10(土) 16:14:05.66 ID:blUYIu4Y0.net]
>>595
俺にはVBAで既定のクラスと言う物を想定できる場面がないからきいてるんだがな

627 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/10(土) 16:23:44.38 ID:kwqfnDcj0.net]
>>581
は規定のクラスという謎の単語を使っていたのか?
それとも基底クラスを何かと間違えているのか?
10秒考えたけど分からなかった

628 名前:デフォルトの名無しさん (ワッチョイ e511-mrwT) [2017/06/10(土) 17:09:39.63 ID:39iXd9D70.net]
>>602
本当にアホなんだな

629 名前:デフォルトの名無しさん (スップ Sd03-3C0K) mailto:sage [2017/06/10(土) 17:10:45.65 ID:LZTdgH18d.net]
Setなあ...
IsObject 判定が必要になる状況ではいつもウザいと感じる

630 名前:デフォルトの名無しさん (ワッチョイ a3b3-YGYj) [2017/06/10(土) 17:23:02.47 ID:F7MRd5sO0.net]
VBAしか知らない俺なんかからしたらSetなんか当たり前じゃんとしか思わん。

ところで、「既定のクラス」って何?



631 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 17:35:30.79 ID:1OFjIP+40.net]
>>607
まだいたのか w
抽象化の意味を調べてから出直してこいよ

632 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/10(土) 17:39:49.82 ID:Ofv2bo9fx.net]
>>597
抽象化?

633 名前:デフォルトの名無しさん (ワッチョイ e511-mrwT) [2017/06/10(土) 18:08:59.12 ID:2cJYycRP0.net]
>>610
https://ja.m.wikipedia.org/wiki/抽象化

これでも意味が理解できないなら救いようがないな

634 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/10(土) 19:11:36.37 ID:kwqfnDcj0.net]
>>609
setは他の言語触ってるとめっちゃめんどくさい。
ついでに言うと比較が「=」なのも糞すぎる。代入か比較かわからん

635 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/10(土) 19:14:23.49 ID:1OFjIP+40.net]
>>612
リンクもまともに貼れないアホ乙 w

636 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/10(土) 19:18:57.08 ID:kLEBGxy40.net]
>>613
そういうのは単純にVBAについての習熟度が低いから混乱するってだけで慣れの問題だし、
なんならC言語処理系の代入演算子が代入した値を返すっていう動作の方が、
仕組み上は原始的で、シンタックス上は冗長的とも言えるしなぁ。

637 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/10(土) 19:32:35.73 ID:cjBRJJZZ0.net]
>>615←ほらまた新たな>>581が現われた、なんやねんこのスレ

638 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/10(土) 19:48:04.56 ID:HZN1Em+70.net]
「規定クラス」とかいかにも公式に定義されてるっぽい言葉を使いながら
抽象化だよわかるだろ、とか
省略だよわかるだろ、とか

>>614
いろいろすまんw

639 名前:デフォルトの名無しさん (ワッチョイ a3b3-YGYj) [2017/06/10(土) 20:04:44.43 ID:F7MRd5sO0.net]
ところで、規定クラスの説明まだかよ!とっとと書けよ

640 名前:デフォルトの名無しさん (ワッチョイ 2391-mrwT) [2017/06/10(土) 20:06:51.92 ID:FN/PeeFU0.net]
"); //]]>-->
641 名前:17" rel="noopener noreferrer" target="_blank">>>617
話の筋を混同してる
話しにならない
[]
[ここ壊れてます]

642 名前:デフォルトの名無しさん (ワッチョイ 1523-2i+1) mailto:sage [2017/06/10(土) 20:13:51.75 ID:fc8/KSyR0.net]
>>619
勘違いしてるのはお前だろ
書き間違いや勘違いでないと思ってるのならちゃんと説明してとっとと終わらせろ

643 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/10(土) 20:20:56.79 ID:kLEBGxy40.net]
そもそも大本の>>577が別におかしな事言ってないのに、
何故か勝手に混乱してる気がするんだけど。

「基底クラス(CellsやRangeに対するWorksheets等)」を省略すると、
あたかもRangeやCellsが何にも属さず単体で存在している様に見えてしまうので、
教育上良くないと言っているだけだろ?

644 名前:デフォルトの名無しさん (ワッチョイ e511-qAom) mailto:sage [2017/06/10(土) 20:31:50.61 ID:+HgNy1AT0.net]
基底クラスのことではないのか…
まあだとしたら意味が違うけど
でもさ、規定って英語で言うとデフォルトだろ
何かちがうかんじが

645 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/10(土) 20:36:39.98 ID:HZN1Em+70.net]
CellsやRangeに対するWorksheets等のことを「基底クラス」と呼ぶなんて、
いくら何でもオレオレ過ぎる

自ら混乱を呼んどいて勝手に混乱するなよ、とか

646 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/10(土) 20:37:04.09 ID:blUYIu4Y0.net]
>>621
WorksheetsがRangeの基底クラスはあり得んわけですよ
まだそれを既定クラスって用語だと勝手に定義してる方がマシ

647 名前:デフォルトの名無しさん (ワッチョイ 0332-Ell8) mailto:hage [2017/06/10(土) 20:55:32.09 ID:/gz2q8SE0.net]
おれのほうが詳しい()
でスレ埋めるのやめろマヌケ共

648 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/10(土) 20:58:47.80 ID:kLEBGxy40.net]
>>624
ああ、そうか。
継承しているわけではなくてメンバーだから基底クラスではなく親クラスか。
俺も(たぶん)>>577と同じ勘違いしてたわ。

しかしなんでそんな喧嘩腰なんだ。何を主張したいのか推測して訂正すれば荒れずに済んだんじゃないか?
言葉を間違えているだけで主張がおかしいわけではないんだし。

649 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/10(土) 21:06:51.30 ID:blUYIu4Y0.net]
基底クラスに突っ込んでるやつはそんなにいないだろ
きっぱり間違ってるし
そのおおもとの意見そのものにも反対してるやつも見受けられない

それより既定クラスとかいう謎用語を出してつっこまれて
>抽象化する知能があれば解るよな
とかいう、本気でアホなのか誤魔化したかったのか分からんような返しをするから揉めてるんだよ

650 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/10(土) 21:11:46.59 ID:kLEBGxy40.net]
>>627
それこそなんで混乱するのか分からないんだが。
「既に定められたクラス」だろ? 正式な用語じゃないけど漢字見りゃだいたい何を指しているかは分かるだろ。

複数考えられるならどれなのかを聞けばいいだけだし。



651 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/10(土) 21:16:22.17 ID:blUYIu4Y0.net]
だからVBAでの実例出してみろって言われてるだろ
それで納得すれば終わりの話なのに

652 名前:デフォルトの名無しさん (ワッチョイ e511-qAom) mailto:sage [2017/06/10(土) 21:22:35.32 ID:+HgNy1AT0.net]
既定のクラス、だとしてもよくわからんな
まあともかく省略はさせるべきではないよ
まあオブジェクトについてしっかり説明できないといかんから難しいけどな
俺はよくわからん

653 名前:デフォルトの名無しさん (ワッチョイ d56f-D9zB) mailto:sage [2017/06/10(土) 21:37:29.45 ID:3DV/qfOH0.net]
既存クラスって言いたかったんじゃね?
既定クラスは日本語としても意味がわからんな
どーでもいい話題だが

654 名前:デフォルトの名無しさん (ワッチョイ 2332-Ell8) mailto:hage [2017/06/10(土) 21:39:47.31 ID:ZCyQEzNl0.net]
おれのほうが詳しい()
でスレ埋めるのやめろマヌケ共

655 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/10(土) 21:40:10.24 ID:kLEBGxy40.net]
>>629
俺は既定のプログラムとか、既定値とかって例からして、
MS側が作って公式に提供しているクラスを既定クラスと言っているもんだと思ったけど。

それだと大本の話と繋がらないから、
あるいはActiveSheetのターゲットがCellsを単体で実行する前に決まるから、
Cellsから見てActiveSheetが「既に定められて」省略された親クラスであるから既定クラスと言っているか。

いずれにしても何も考えずに「なにそれ」って言うよりも先に、自分から進んで例を出せば角も立たなかったと思うよ。

656 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/10(土) 21:42:04.24 ID:cjBRJJZZ0.net]
どーでもいいかねえ
無知の教えたがりってのは言わば無能な働き者と等価なんだよなあ
存在自体が害悪でしかないわ

657 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/10(土) 22:11:30.10 ID:kwqfnDcj0.net]
まだやってたのか?
規定クラスなんて釣りに決まってるだろう
無駄な時間を過ごしてご苦労さん

658 名前:デフォルトの名無しさん (ワッチョイ 1523-2i+1) mailto:sage [2017/06/10(土) 22:13:24.23 ID:fc8/KSyR0.net]
>>635
考えた上で答えがわからないんじゃなかったのかよw

659 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/10(土) 22:24:00.52 ID:HZN1Em+70.net]
Set はいやだ

以上

660 名前:デフォルトの名無しさん (ワッチョイ a311-EUTm) mailto:sage [2017/06/10(土) 23:27:12.17 ID:qdVNuGxa0.net]
>>604
わかりやすい。ずっと疑問だったんだ



661 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/10(土) 23:40:28.71 ID:HZN1Em+70.net]
>>604
Dim a As ***

a = 他のオブジェクト

と書いたとき、*** がオブジェクト型もしくはVariant ならオブジェクトへの参照
そうでなければデフォルトプロパティへのアクセス

で十分区別できると思うけど?

662 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) [2017/06/10(土) 23:58:16.76 ID:blUYIu4Y0.net]
>>639
デフォルトプロパティは代入先(左辺)でも使えるんだぜ
aのデフォルトプロパティへの代入かaへの参照の代入か区別できんだろ

663 名前:デフォルトの名無しさん (ワッチョイ 7dcf-f9xN) [2017/06/11(日) 00:19:36.88 ID:/WpsuQpF0.net]
ヒカル TV出演「年間5億は稼ぐ勢いですね」
https://www.youtube.com/watch?v=G7qL6ftpets
第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ!
https://www.youtube.com/watch?v=asF2wQ2xhjY&t=61s
ユーチューバーの儲けのカラクリを徹底検証!
https://www.youtube.com/watch?v=FUSb4erJSXE&t=504s
【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開!
https://www.youtube.com/watch?v=Y7DAQ0RKilM&t=326s
誰も言わないなら俺がYouTuberのギャラ相場を教えます
https://www.youtube.com/watch?v=E4q-vaQh2EQ&t=118s
YouTuberになりたいのは馬鹿じゃない!YouTuberになる方法
https://www.youtube.com/watch?v=Fr0WXXZRMSQ

最高月収5000万円だとさ。年収じゃなくて「月収」な
おまえらもyoutubeに動画投稿したほうがいい
やろうと思えばスマホがあればできるぞ
最低2年はやらないとここまではいかないだろうけど才能とアイデアと
企画力と継続力があればが大儲けできる可能性がなくもない
まだまだ他の職種に比べれば競争率は低いからオススメ
顔出したくないならラファエルみたいに仮面つければいい

664 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 00:29:53.21 ID:P5Uv9Xu70.net]
>>640
うーんそうか。
だが敢えて言わせてもらうがそういうコードはクソだ

665 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 00:31:10.41 ID:P5Uv9Xu70.net]
とは言ったもののどうしようもねえのか
誰だデフォルトプロパティなんて作った奴は

666 名前:デフォルトの名無しさん (ワッチョイ db6d-wxle) mailto:sage [2017/06/11(日) 00:31:49.94 ID:46pYjw9V0.net]
これはこれで便利なんだが、弊害多いよねぇ

667 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 05:51:37.28 ID:eCVTs9al0.net]
>>639
出来ない。

せっかく>>603の例を挙げたのに。
真ん中の例を見てね。
この場合はSet付いてないからデフォルトプロパティ。

そして最後の例はSetを付ければあり得る。
その場合当然オブジェクト。

668 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 07:45:58.35 ID:P5Uv9Xu70.net]
>>645

>>603の真ん中の例だって?
> Dim var1 As Varient
> var1=Range("A1")
> Debug.Print var1

Printは代入文じゃないからここでの議論には関係ない。ここはデフォルトプロパティ(Value)でいい。
意味論的になにも破綻しないと思う。

669 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 08:20:06.89 ID:P5Uv9Xu70.net]
意味論的ってなんだよw

意味的にも構文的にも

670 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 08:22:28.65 ID:q ]
[ここ壊れてます]



671 名前:49UmmFG0.net mailto: >>645
>>603 程度なら
> Dim var1 As Varient
> var1=Range("A1")
の時点では var1 はセルA1への参照の代入として
> Debug.Print var1
の時点でディフォルトプロパティを取得して表示すればいいだけ
できないのは >>640 の方
[]
[ここ壊れてます]

672 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/11(日) 09:54:43.68 ID:Tl5W6+aa0.net]
その手の仕様に関しての「こっちの方がいい」は何を言おうが変わりようがないので意味ないけどな。

673 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 10:53:34.91 ID:eCVTs9al0.net]
>>646
ハァ...
疲れるわ。

だから>>639の言うように***がVarientなのにオブジェクトへの参照じゃない。
そしてSetが無くて良いなら最後の例も認めなければならない。
そうすると>>639の言うような区別がつかないことになる。

674 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 10:56:21.93 ID:eCVTs9al0.net]
>>648
実際に真ん中の例は動作している。
Set無しで。
その時点でデフォルトプロパティが代入されていることになる。

675 名前:デフォルトの名無しさん (ワッチョイ 23aa-3C0K) mailto:sage [2017/06/11(日) 10:57:57.11 ID:P5Uv9Xu70.net]
>>650
疲れると言われてもねぇ

君はなにか根本的なところで勘違いしてない?

676 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 10:59:57.17 ID:P5Uv9Xu70.net]
>>650

君は>>639の主張を理解していないんじゃない?

677 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 11:05:46.55 ID:P5Uv9Xu70.net]
念のため言っておくけど自分は>>639だよ

678 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/11(日) 11:08:37.85 ID:ED3vqoUB0.net]
キミらはvbaの仕様策定委員にでもなったつもりなのかね?
既に過去のものになりつつあるマクロ言語の

679 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 11:12:48.87 ID:P5Uv9Xu70.net]
>>655
その点は>>649の言う通りだけどそういう議論(遊び)だからいいんだよw

680 名前:デフォルトの名無しさん (ワッチョイ dd8b-Loth) [2017/06/11(日) 11:15:00.15 ID:ED3vqoUB0.net]
>>656
いつから議論をしていると勘違いしていた?



681 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:15:11.60 ID:eCVTs9al0.net]
>>653
よく分からんな。
>>639>>603の真ん中の例形になっていると思うんだが違うのかい?

682 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 11:18:50.23 ID:q49UmmFG0.net]
>>651
「今のVBA」の話と「Set を無くしたVBA」の話の区別もつかないなら話に入ってくるなよ

683 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:22:02.96 ID:eCVTs9al0.net]
>>659
だからSetを無くしたVBAでは今は動作してない最後の例も認めることになるだろ。

真ん中の例はデフォルトプロパティ、最後の例はオブジェクトだ。
区別つかないんじゃね?って話なんだが。

684 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:26:05.68 ID:eCVTs9al0.net]
それともSetを無くしたVBAでは真ん中の例も今動いてる状態と違ってオブジェクトへの参照を代入する仕様になる?

685 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 11:28:30.89 ID:P5Uv9Xu70.net]
>>658

>>603の真ん中
=代入文は参照、Printの引数は文字列なのでデフォルトプロパティ

>>603の下
=代入文は参照、Print文はプロパティを明示しているから曖昧さはない

686 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 11:32:11.23 ID:q49UmmFG0.net]
>>660
代入時点で区別する必要はなくて Print 時点で判断すればいいだけって話
>>648 を理解できてないなら絡んでくるなよ

687 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 11:38:19.86 ID:P5Uv9Xu70.net]
>>661
Yesだ
>>639はそう書いている

688 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:47:41.80 ID:eCVTs9al0.net]
>>662
ということは、今動いてる状態とは違う仕様になるということだな。

そうすると、
Dim var1 As Variant
var1=Range("A1")+1
はエラーとなる?

689 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:52:36.50 ID:eCVTs9al0.net]
>>663
それは間違い。
代入時点で決まらなければ区別がついていないことと同じ。
次の文まで不定なら言語仕様が滅茶苦茶になる。

690 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 11:58:44.94 ID:eCVTs9al0.net]
Dim var1 As Variant
var1=Range("A1")+1
では先にRange("A1")+1が評価されるからその時点でデフォルトプロパティに+1された値がvar1に代入されてうだな。

う〜ん。



691 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 12:02:43.42 ID:P5Uv9Xu70.net]
>>667
そりゃそうだろ。
式の両辺の型によって挙動が決まるんだから。

692 名前:デフォルトの名無しさん (ワッチョイ db6d-pTGz) mailto:sage [2017/06/11(日) 12:02:50.72 ID:46pYjw9V0.net]
他のオフィススイートについてるスクリプトには、デフォルトプロパティってあるの?

693 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 12:06:35.73 ID:q49UmmFG0.net]
>>666
お前の能力だと滅茶苦茶になるだけだろ w
滅茶苦茶になる例のひとつでも書いてみろよ

694 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/11(日) 12:08:58.69 ID:46pYjw9V0.net]
そもそもなんでデフォルトプロパティなんて面白い物を作ったんだ
入門の敷居をできるだけ下

695 名前:ーるために、.value・.valeu2・text、などを考えなくていいようにしたんだろうか []
[ここ壊れてます]

696 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 12:12:28.05 ID:eCVTs9al0.net]
>>670
デバックでステップ実行してみろ。
1行1行解釈実行されるのが基本。
後の文により前の文の解釈が変わる言語なんて滅茶苦茶だぞ。
構文エラーはプログラム全体を評価するまで決まらないことになる。

697 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 12:18:03.12 ID:eCVTs9al0.net]
>>668
君の仕様では式の両辺の型で挙動が決まらない。
var1=Range("A1")ではオブジェクト
var1=Range("A1")+1ではデフォルトプロパティとなるけど、今んとこ辻褄は合っているようにも見えるから、う〜んと考えている。

698 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/11(日) 12:22:52.52 ID:46pYjw9V0.net]
Range("A1") = Range("A1")

699 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 12:52:35.79 ID:q49UmmFG0.net]
>>672
> 後の文により前の文の解釈が変わる言語なんて滅茶苦茶だぞ。

バカなの?
理解力ないのに無理すんなよ w
> var1=Range("A1")
の解釈変わってないぞ

700 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 13:30:16.95 ID:eCVTs9al0.net]
>>675
日本語が変なんじゃね?

>代入時点で区別する必要はなくて Print 時点で判断すればいいだけって話

代入時点で区別する必要ないということはどういうこと?
代入時点で確定してるなら区別もできてる筈だし。



701 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 13:32:39.14 ID:eCVTs9al0.net]
>>675
君の説明では
var1=Range("A1")
の段階では型が決まるのか、それとも決まらないのかどっち?

702 名前:デフォルトの名無しさん (ワッチョイ 23aa-3C0K) mailto:sage [2017/06/11(日) 13:42:39.50 ID:P5Uv9Xu70.net]
>>674
変数への代入の話題なのでそれは関係ないよ。
その左辺 Range("A1") は変数ではない。

703 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/11(日) 13:50:31.78 ID:46pYjw9V0.net]
>>678
変数じゃなければ何だろう?
アプリケーション側で用意されているとは言え、変数ではなかろうか

704 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 13:56:28.52 ID:eCVTs9al0.net]
>>674
俺の理解ではそれは左辺の側がデフォルトプロパティかオブジェクトかという話になるから>>640と同じことになると思う。

だからその点では、つまり>>640以外で辻褄が合っていないという例にはならないと思う。

705 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 14:01:42.55 ID:q49UmmFG0.net]
>>676-677
代入時点で Variant ならオブジェクトの参照を入れときゃいいだけだろ

>> var1=Range("A1")
> の時点では var1 はセルA1への参照の代入として
ってはっきり書いてあるんだから人の日本語にいちゃもんつける前に自分の理解力を省みろよ

706 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/11(日) 14:17:20.73 ID:46pYjw9V0.net]
>>678
確かにrangeだとややこしいな、新しいclassを作ってみよう
fooClassとする
fooClassのデフォルトメンバはfoo。fooのclassは自身と同じfooClass
class fooClass{
'この書き方は適当
default public Property foo as fooClass;
}

これだとfooで何が返ってくるか不定
Dim foo as fooClass
foo = New fooClass();

707 名前:デフォルトの名無しさん (ドコグロ MM51-UHXl) mailto:sage [2017/06/11(日) 14:30:41.83 ID:nUk6Os5uM.net]
そういや自作クラスでデフォルトプロパティって作れるの?
作ろうと思ったこともなかった

708 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 14:35:03.70 ID:P5Uv9Xu70.net]
www.cpearson.com/excel/DefaultMember.aspx

709 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/11(日) 14:38:19.83 ID:46pYjw9V0.net]
>>683
一応作れる
ただ普通は作ろうと思わないレベルでめんどくさいし、そんなもんアテにするような設計にしないだろう

710 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 14:55:51.72 ID:Rohm8Nl3a.net]
>>681
つまりPrint文は関係無いんだよ。

>代入時点で区別する必要はなくて Print 時点で判断すればいいだけ

は間違い。
代入時点で区別はついてる。



711 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/11(日) 16:32:41.31 ID:TSTIJwyzM.net]
>>682
まあそのケースがまずいのはわかってるがそんなクラスを作る必要がどんだけあるんだ?
って話だな

712 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/11(日) 16:40:50.47 ID:TSTIJwyzM.net]
>>686
> 代入時点で区別はついてる。
だから区別なんてしない
両方ともに参照を入れとくだけ
って書いてあるんだが...
どうやったらそんなアホな考え方になるのか不思議だよ
まあ引っ込みつかなくなってるんだろうな w

713 名前:デフォルトの名無しさん (ワッチョイ db6d-MPbE) mailto:sage [2017/06/11(日) 16:45:50.31 ID:46pYjw9V0.net]
>>687
わかってるならその反論はおかしいだろう
言語仕様としておかしくなる

デフォルトプロパティがあるなら、setはどうして

714 名前:熹ュ生すると思う []
[ここ壊れてます]

715 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:19:36.49 ID:q49UmmFG0.net]
>>689
別にそのケースなら参照を返すようにしてディフォルトプロパティは明示する(つまりディフォルトプロパティの意味がなくなる)ようにすればいいだけ
特殊なケースで使えないからと言って全部ダメって言う話ではないでしょ

716 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 17:25:11.30 ID:CaL9CXkoa.net]
>>688
引っ込みも何も、今だに何言ってるのか分からん。
とレスしようとしたけど今分かった。


>代入時点で区別する必要はなくて Print 時点で判断すればいいだけ



「代入時点では参照が代入され、Print時点でデフォルトプロパティが返される」といいたいのだとしたら上の文章の日本語が悪いよ。

717 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:36:51.51 ID:q49UmmFG0.net]
>>691
> 「代入時点では参照が代入され、Print時点でデフォルトプロパティが返される」といいたいのだとしたら上の文章の日本語が悪いよ。

ほとんどそのまま書いてあるだろ
これはさすがに恥ずかしすぎる w

>>648
>> var1=Range("A1")
> の時点では var1 はセルA1への参照の代入として

>> Debug.Print var1
> の時点でディフォルトプロパティを取得して表示すればいいだけ

718 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 17:37:06.07 ID:CaL9CXkoa.net]
fooClassとする
fooClassのデフォルトメンバはfoo。fooのclassは自身と別のhogeClass
class fooClass{
'この書き方は適当
default public Property foo as hogeClass;
}

現在の仕様なら
Dim var1 As Varient
Set var1=New fooClass()
Debug.Print Typename(var1)
'->fooClass

Dim var1 As Varient
var1=New fooClass()
Debug.Print Typename(var1)
'->hogeClass

Set無しの仕様なら
Dim var1 As Varient
var1=New fooClass()
Debug.Print Typename(var1)
->?

こういう問題?

719 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 17:43:49.85 ID:CaL9CXkoa.net]
>>692
俺は>>661の段階で真ん中も参照と気付いたわけ。
その後に>>663が書かれているのは日本語が悪いと言ってる。

720 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 17:47:03.90 ID:46pYjw9V0.net]
>>690
自身のclassがメンバに〜は普通にある。特殊ではない



721 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 17:48:52.10 ID:46pYjw9V0.net]
話はずれるが、「エクセルvaが特殊」は事実
20年以上前から生き残っている、大衆に使われ続けているスクリプト言語なんてエクセルvbaだけ
次点でjsだろう

デフォルトプロパティだろうがなんだろうが、実装すればデファクトスタンダードになる
ある意味、王様である
好きなようにあすれば良いんじゃないかな

722 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:51:02.18 ID:q49UmmFG0.net]
>>694
> その後に>>663が書かれているのは日本語が悪いと言ってる。
>>663>>648 へのアンカー打ってあるのに何を言ってるんだよ w
恥の上塗りにしかなってないぞ

723 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:53:41.74 ID:q49UmmFG0.net]
>>695
自身のクラスオブジェクトを返すディフォルトプロパティを持つクラスが特殊じゃないって?
例えば何よ?

724 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 18:07:00.10 ID:CaL9CXkoa.net]
>>697
アンカー打ってあっても日本語が悪いのは変わらんぞ。

>>648>>663の文章とどう関係するのか分からん書き方になってるんだから。

725 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 18:18:57.69 ID:46pYjw9V0.net]
>>698
特殊かどうかは言ってないね
存在すると整合性が保てなくなると言っている
それがExcelの中にあるかどうかなんて知らん

726 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 18:39:15.05 ID:q49UmmFG0.net]
>>699
そもそも >>663 の日本語もおかしくないだろ
前提をいくつかはしょってるのは話の流れで省略してもわかるはずって言う考えで書いてる
それでも横入りで絡んでくるアホがいるから念のために
> >>648 を理解できてないなら絡んでくるなよ
とまで書いてある
ここまで書いてあって理解できない奴の面倒までは見れんよ w

727 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 18:41:48.44 ID:46pYjw9V0.net]
>701
代入時点で評価の必要があります

728 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 18:42:38.69 ID:q49UmmFG0.net]
>>700
> 特殊かどうかは言ってないね
頭大丈夫?
> 特殊ではない
ってはっきり書いてますけど? w
> 存在すると整合性が保てなくなると言っている
お前さんの考える整合性とやらがどんなもんか知らんけど >>690 でなんの問題もないけどね

729 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 18:43:10.17 ID:q49UmmFG0.net]
>>702
理由は?

730 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/11(日) 18:45:21.77 ID:Tl5W6+aa0.net]
Set無しVBA言語作るって流れになったら面白いんだけどなぁ。



731 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 18:56:04.59 ID:46pYjw9V0.net]
>>703
デフォルトプロパティは毎回明示するのか?
A1セルのvalueを知りたい場合は
cells(1,1).value
と書けば良いのか、なるほどな

cells(1,1)
だけならエラーを変えした方がいいな

732 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 19:01:02.23 ID:P5Uv9Xu70.net]
型を意識する・させることで皆が幸せになる

...そんなふうに思っていた時期が自分にもありました

733 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:05:21.58 ID:UNIZBcCUa.net]
>>701
>代入時点で区別する必要はなくて
ってのは>>639の"十分区別できると思うけど"の区別のことだよな。

だったら「代入時点で区別できる」とか、俺の>>603の"できない"を受けるなら「代入時点で区別できないということはない」とすべきだ。
"必要"とか何が必要?
という話になる。

>Print 時点で判断すればいい
も、何言ってるのか分かりにくい。

734 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:08:29.30 ID:UNIZBcCUa.net]
>>706
それ、デフォルトなの?
デフォルトって何なの?

って言いたいってこと?

735 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:12:53.44 ID:UNIZBcCUa.net]
まあ、実際には自分はSetに違和感全く感じないし、Variantで宣言することも殆ど無いし、デフォルトプロパティの省略も殆どしないんだけどね。

736 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 19:20:07.39 ID:q49UmmFG0.net]
>>706
> デフォルトプロパティは毎回明示するのか?
>>682 のケースだけね
実際にあるのかどうかは知らんけど w

> cells(1,1)
> だけならエラーを変えした方がいいな
そう言うオプションはあってもいいと思う

737 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 19:21:24.90 ID:46pYjw9V0.net]
>709
いやもう言語仕様を考える時って最初によっぽど不具合がなければそれでいいよねってこと
vbaは非常に変則液だけど、まぁエクセル・アクセルのためなら仕方ないんじゃないの

738 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 19:27:31.75 ID:q49UmmFG0.net]
>>708
> "必要"とか何が必要?
> という話になる。
はあ?
「区別する」必要がないって書いてあるだろ

>> Print 時点で判断すればいい
> も、何言ってるのか分かりにくい。
お前の理解力がないだけ
何度も書くけど理解できないなら >>648 見ろって書いてあるのになぜか見ずに文句だけは一人前 w

739 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:42:43.65 ID:UNIZBcCUa.net]
>>713
いや、だから
>「区別する」必要がない
が変なんだって。
代入時点で区別はついてるのになんで必要とかの話になるの?と受けとられるだろ。

> Print 時点で判断すればいい
も、誰が何を判断するんだ?と受け取られる。

740 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 19:42:52.34 ID:P5Uv9Xu70.net]
型を意識しようよ

型を意識するというのは型によって構文(式の形)を変えることじゃないよ。
式の形は同じでも型によって意味が違うとかコンパイルエラーになったりすると認識することだ。

デフォルトプロパティが適用されるべきかどうかは等式の左右の型を見れば基本わかる。
わからないような式は曖昧なんだからコンパイルエラーにすべきだ。



741 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:49:48.15 ID:UNIZBcCUa.net]
>>715
う〜ん。
むしろSet使ってクラスとリテラルを意識したいけどなあ。

あと、真ん中はやっぱりデフォルトプロパティの代入の方がしっくり来ると思うんだ。
だからこそ、あっさりデフォルトプロパティの代入を捨て去ると思えなかったから>>645書いたんだぜ。

742 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/11(日) 20:02:29.23 ID:46pYjw9V0.net]
>>715
application内の型を意識しなくていいための、弱い動的型付けなんだよ
この設計思想は街ぃがってないと思う

743 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 20:12:03.18 ID:q49UmmFG0.net]
>>714
> 代入時点で区別はついてる
それはお前が勝手に言ってるだけの話だろ
俺は初めから必要ないって書いてるから
> なんで必要とかの話になるの?と受けとられるだろ。
なんて受けとるアホはいないと思うぞ、お前以外は w

>> Print 時点で判断すればいい
> も、誰が何を判断するんだ?と受け取られる。
マジでオブジェクト指向の勉強しなよ...
そんなのを疑問に思うなんて相当レベル低いから

744 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/11(日) 20:17:12.06 ID:46pYjw9V0.net]
>>682
はだめかなぁ
徹底的に論破してほしいんだけどなぁ

745 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 20:19:33.09 ID:P5Uv9Xu70.net]
しかし冷静に考えると斬新かもな。
単一の文だけ見て解釈するんじゃなく、複数の文を見て意味を解釈するプログラミング言語。

746 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 20:25:38.17 ID:UNIZBcCUa.net]
>>718
>それはお前が勝手に言ってるだけの話だろ

俺が勝手に言ってるとかの話じゃなくて、代入時点で参照であると区別がついてるのが実態だろ。

>「区別」する必要ない
>Print 時点で判断すればいい

を省略せずにきちんと書いてみなよ。

747 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/11(日) 20:26:28.99 ID:tRESVVuh0.net]
俺の考えた最強の言語仕様の話はよそでやってくれ

748 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 21:00:46.39 ID:q49UmmFG0.net]
>>72

749 名前:1
> 代入時点で参照であると区別がついてるのが実態だろ。
お前はまず「区別」の意味を調べてから出直してこい
A か B かの区別がつくと言う言い方はあるけど A と区別がつくとは言わん

> を省略せずにきちんと書いてみなよ。
>>648 で十分だろ
それで不十分と言うならほぼ同じこと書いてる >>691 も不十分と言うことだ w
[]
[ここ壊れてます]

750 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/11(日) 21:12:26.64 ID:VtUxFQZs0.net]
いつまでくっだらねーーーーーーーー話を続けるつもり?別スレでも立ててそこでやれよ



751 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 21:17:53.56 ID:P5Uv9Xu70.net]
もはやどこが起点かわからない

752 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 21:31:09.13 ID:P5Uv9Xu70.net]
だれかQiitaにまとめてくれ

753 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 21:46:23.06 ID:UNIZBcCUa.net]
>>723
お前な、自分は省略してるのに俺の省略は認めないのか?

代入時点で参照であるとデフォルトプロパティとは区別がついてるのが実態だろ。

>>691は省略しても分かるだろ。
>>663は省略されてると分からんのだよ。
というより省略しなかった時に正しい日本語になるように思えないからやってみろと言ったんだよ。

754 名前:デフォルトの名無しさん (ワッチョイ e511-Z3xB) [2017/06/11(日) 21:54:15.52 ID:7YVvLMef0.net]
以下のエクセルファイルについてなんですが
https://kouseikyoku.mhlw.go.jp/tohoku/gyomu/gyomu/hoken_kikan/documents/zen_sitei_ika_h2905.zip


エクセルを開いたあと何もせず閉じようとすると
必ず保存するかどうかを聞かれてしまうのですが
なぜでしょうか?
また、そのまま「保存する」を選択すると
ファイルサイズが半分くらい減ってしまうのも気になります

些細なことで申し訳ありませんが
どなたか原因わかる方教えてください。

755 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 21:56:59.58 ID:46pYjw9V0.net]
>728
凄まじい個人情報でてる気もするけど、まぁいいか
・保存するかどうかを聞かれ
2010では聞かれない

揮発性関数とか混じってるのかもな

バージョンを教えてほしい

756 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 22:06:15.50 ID:P5Uv9Xu70.net]
>>728
保存するかどうかなんて聞かれないな
数式もないようだ

757 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 22:10:07.67 ID:q49UmmFG0.net]
>>727
> 代入時点で参照であるとデフォルトプロパティとは区別がついてるのが実態だろ。
だからそれはお前が勝手に言ってる話
そもそも区別がつくとか言ってるが勝手につく訳じゃなくて処理系が何らかの判断をしてるんだからそんな判断は「必要ない」って書く方が適切だろ

> >>663は省略されてると分からんのだよ。
話の流れ見てたらわかるし、わからん奴のためにアンカーまで書いてるだろ
何回ループするんだよ

758 名前:デフォルトの名無しさん (ワッチョイ 236f-xcYX) mailto:sage [2017/06/11(日) 22:46:10.07 ID:KFvNUsfN0.net]
>ファイルサイズが半分くらい減ってしまうのも気になります

減った状態が正しいファイルサイズなんじゃないの。

759 名前:デフォルトの名無しさん (ワッチョイ 2311-OlK+) mailto:sage [2017/06/11(日) 23:33:20.89 ID:49bQJmPP0.net]
なんか、何時何分何秒地球が何回回った時ですかあ?と同レベルのやりとりだな

760 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/12(月) 00:17:03.07 ID:y5ZQ52Yx0.net]
>>731
やっぱり日本語の問題なんだ。
今をもってしても分かりにくい。

俺が「区別がつく」とか「区別がついてる」というのは「自動的に区別がついてしまっている」ということだ。
「区別がつく」自体に"自動的に"というニュアンスを含んでいる。
だから"勝手に"などという言葉は繋がらない。
"自動的に"というニュアンスを含んでいない場合、例えば意思をもって違いを定義する場合は「区別をつける」となるだろう。

一方、君の言う「判断する」というのは厳密に言えば「意思をもって判断する」ということだ。
「判断する」自体に"自動的ではない"というニュアンスを含んでいる。
君は処理系に対して擬人化を行っているから意思をもってではなく、自動的なニュアンスを含んでいるつもりだろうが、そうであるなら主語である"処理系"を省いてしまってはわかりにくくなるだろう。

これまでの経緯を無視した上で余計な補完をして

処理系が何らかの判断をしてるんだからそんな"俺の"判断は「必要ない」

としても日本語としておかしな文とはならないということは、「処理系が何らかの判断をしてるんだからそんな判断は必要ない」という文章はそれ単体では上記の受け取り方をされても仕方の無い文章だということだ。

今だに分からんのは>>663の判断するのは誰かって話。
処理系なら判断すれば"いい"などとはならないと思うし。
Print時点で決まっているんだから判断とかいう話にはならない筈だろ。



761 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/12(月) 00:24:47.55 ID:Ch/XnpW30.net]
┐(´д`)┌ヤレヤレ

762 名前:デフォルトの名無しさん (ワッチョイ 2332-Ell8) mailto:hage [2017/06/12(月) 01:25:41.57 ID:YlzHeDxH0.net]
>>682
foo君久しぶりじゃんwww


つかお前らhgだからって不毛な争いしてんじゃねえ
よそでやれクズ共

763 名前:デフォルトの名無しさん (ワッチョイ 2332-Ell8) mailto:sage [2017/06/12(月) 01:28:29.93 ID:YlzHeDxH0.net]
>>728
ワッチョイ e511-
臭う

764 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/12(月) 05:44:51.02 ID:RhdpYx9V0.net]
長文君はなぜか自分の日本語能力を疑わない w

765 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/12(月) 08:46:55.31 ID:ZaZcTWz8x.net]
>>736
承認するよ

766 名前:デフォルトの名無しさん (ワッチョイ e511-yTT2) [2017/06/12(月) 19:32:27.05 ID:5L3xq22d0.net]
%%%MC+7,8%%%

}

000-"M","LES","TUV=0.13325&/0\7&%&",

001-"23","1","0","2","7.14",[\b%7/1444*%812%2.3%7&6111\end\\]{%3%12%\br

767 名前:デフォルトの名無しさん (ワッチョイ db6d-PV39) mailto:sage [2017/06/12(月) 20:31:46.57 ID:ysyGP+YI0.net]
>>740
マジで?

768 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 10:48:41.12 ID:UX2HAupn0.net]
マクロは記録をいじるぐらいの初心者です

AとBファイル開く
Aのマクロ作動ボタンを押す
BでAで作ったマクロが動き、データが整形される
Aファイルが閉じる

というのを作れるものなら作りたいけど、可能ですか?
Bファイルは毎日新しいのが来ます
出来るとしたら検索ワードが悪いらしく、見つけられないので
なんという動作なのか教えてください

769 名前:デフォルトの名無しさん (スッップ Sd43-3C0K) mailto:sage [2017/06/13(火) 11:35:01.49 ID:P4se3SJtd.net]
>>742
Aは自分の手元にあるブックでBは他所から届くのか。

「BでAで作ったマクロが動き、」の意味がよくわからない。
なんとなく簡単ぽいけど

770 名前:デフォルトの名無しさん (ワッチョイ 9d73-2i+1) mailto:sage [2017/06/13(火) 11:35:40.67 ID:mycfBP+w0.net]
workbook.open
記録ではできない



771 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 12:08:11.62 ID:UX2HAupn0.net]
>>743
Aは自分のパソコンに作ったもので、Bは毎日他所からきます。
Bを開いてそこからAで作ったマクロを動かすしかダメですか?

>>743
記録ではムリなので、見本となるのがあればいじれないかなと思って聞いてみました

772 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/13(火) 12:14:45.05 ID:rPkjB82P0.net]
>>742
Aのブックにマクロを記述
 ファイル名が固定でないなら GetOpenFilenameでファイルを選択
 ごちゃごちゃなんか知らんけど開いたブックBに対して処理をする
 Aを閉じる(ついでにExcelそのものも終了させる)

だろ?

773 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 12:31:59.08 ID:UX2HAupn0.net]
>>746
そうです

マクロのボタンの作り方とか調べても、同じファイル内で
動くものしか出てこないので、ボタン一押しで動かせないのかと
そういう話です

774 名前:デフォルトの名無しさん (アウアウウー Sa99-pGgJ) [2017/06/13(火) 12:32:20.96 ID:5pkXRrDKa.net]
星くん vbaでググって
第2章読めば似たようなことが書いてあるよ

775 名前:デフォルトの名無しさん (ワッチョイ 5b23-3GzE) mailto:sage [2017/06/13(火) 13:52:35.48 ID:TodKlzHt0.net]
>>742
普通はアドインにする。
Aファイルは開く必要が無い。
アドインならExcel開いたらAファイルも開いてる。
ブックは非表示だから開いてるようには見えないけどメニューにボタンを追加すればマクロは動作する。

776 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/13(火) 14:48:02.77 ID:3KAtKhUpH.net]
>>749
君の中では普通かもな

777 名前:デフォルトの名無しさん (ワッチョイ e511-yTT2) mailto:sage [2017/06/13(火) 14:50:25.60 ID:B6CxFrBV0.net]
@@@EMO@@@
}
000-"E=0.133348213376128"
001-"4","1.6","2","3","13","3","81","47","0","1","2","85",
002-"813-1>>>1%$1.3Q!@!$%81.3!$%B,61.2,"13.2"21.7[[%$EMOLA\%/7#/OBLA[%!\2.3=0!&#%<<<Q,S,L,7P,%41%-%2]]%End\]{

778 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 14:52:38.21 ID:UX2HAupn0.net]
アドインで出来きました
すごい

星君も読みつつあったのですが、とりあえず
アドインが上手くいったのでこれで進めます
相談に乗ってくださった方々、ありがとうございました

779 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/13(火) 15:04:10.26 ID:y6bvTk4c0.net]
>>742
Sub foo()
Dim WB As Workbook

With Application.FileDialog(msoFileDialogFilePicker)
If .Show Then src = .SelectedItems(1)
End With

If IsEmpty(src) Then Exit Sub

Set WB = Workbooks.Open(src, 0, 1)

Process WB

If Not WB Is Nothing Then WB.Close: Set WB = Nothing
End Sub

Sub Process(WB As Workbook)
'行いたい処理
End Sub

fooをボタンに登録すれば好きなファイルを指定して開くことが出来る。
ファイルBの処理はProcess内に書く。

780 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/13(火) 15:07:40.67 ID:y6bvTk4c0.net]
既に解決している悲しみ



781 名前:デフォルトの名無しさん (ワッチョイ 9d73-2i+1) mailto:sage [2017/06/13(火) 15:25:46.39 ID:mycfBP+w0.net]
そして求められていない汎用性のために冗長なコード

782 名前:デフォルトの名無しさん (ワッチョイ a3b3-YGYj) [2017/06/13(火) 18:18:21.99 ID:Te/HyupM0.net]
事務職向けマクロなんだから冗長でも何でも良いと思うけどね。オブジェクト指向バカとか
業務妨害以外の何者でもないと思うしw

783 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/13(火) 18:24:08.96 ID:3KAtKhUpH.net]
という思考停止

784 名前:デフォルトの名無しさん (ワッチョイ 2b32-Ell8) mailto:hage [2017/06/13(火) 18:43:27.69 ID:kYQNn7N60.net]
上げでちょっと変わった質問する人と
foo君がセットで登場するのはたまたまだから
ほんとに偶然だから

785 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/13(火) 18:47:56.47 ID:3KAtKhUpH.net]
>>758
お前がfoo君と呼んでるのは一人ではない

786 名前:デフォルトの名無しさん (エーイモ SEe9-yTT2) mailto:sage [2017/06/13(火) 18:58:03.59 ID:SvV5ll3TE.net]
( ´_ゝ`)フーン

787 名前:デフォルトの名無しさん (ワッチョイ db6d-D9zB) mailto:sage [2017/06/13(火) 19:10:28.45 ID:YXJzvR0D0.net]
>>756
エクセルがモロにオブジェクトだから、自然とみんなオブジェクト指向バカになるんだな、これが


>>760
そこ

788 名前:はfoonじゃないかな?かな? []
[ここ壊れてます]

789 名前:デフォルトの名無しさん (ワッチョイ a3b3-YGYj) [2017/06/13(火) 19:18:04.89 ID:Te/HyupM0.net]
>>761
ははは、オブジェ馬鹿降臨w

790 名前:デフォルトの名無しさん (ワッチョイ db6d-wxle) mailto:sage [2017/06/13(火) 20:06:15.93 ID:YXJzvR0D0.net]
>>762
LISP、Haskell、Schemeは本当に使いこなせなかった
君の指摘は正しいよ



791 名前:デフォルトの名無しさん (ワッチョイ 0539-vKbL) mailto:sage [2017/06/14(水) 16:29:22.88 ID:Gr+r/r4M0.net]
初心者です

1 処理A
2 処理B
3 処理C
  :
  :

こういう流れのVBAで、処理Aと処理Bそれぞれからスタートさせたいときは、どうやるのが一般的ですか。

sub A
 処理 A
sub B
 処理 B
end sub
end sub

これではだめですよね。

792 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/1 ]
[ここ壊れてます]

793 名前:4(水) 16:40:22.05 ID:M/IwJ83O0.net mailto: >>764
いまいち何やりたいのか分からないけど、処理 Aを飛ばしたい場合とそうでない場合があるって事なら

Sub Foo(b As Boolean)
If b Then 処理 A
処理 B
処理 C
...
End Sub
[]
[ここ壊れてます]

794 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/14(水) 17:02:48.98 ID:bVPmX3VEa.net]
処理というのがどのレベルなのか分からない。

Sub A()
処理A
B
End Sub

'処理B(Bプロシージャ自体が処理B)
Sub B()
'処理Bの内容
End Sub

とする場合もあれば、
全部の処理をそれぞれ別のプロシージャとして作り、メインとなるプロシージャでそれぞれをよび出す場合もある。
この場合はAからよび出すメインプロシージャやBからよび出すメインプロシージャを作ることになる。

795 名前:デフォルトの名無しさん (ドコグロ MM43-W6lL) mailto:sage [2017/06/14(水) 18:56:34.83 ID:e2eXjlywM.net]
>>764
1 処理A
2 処理B
3 処理C
  :
  :
のパターンと
1 処理B
2 処理C
  :
  :
のパターンがあるってこと?
それなら >>765 みたいにするか
Sub ABC_()
 処理A
 Call BC_
End Sub
Sub BC_
 処理B
 処理C
  :
  :
End Sub
ってやるとか

796 名前:デフォルトの名無しさん (ワッチョイ 0539-vKbL) mailto:sage [2017/06/14(水) 22:27:07.82 ID:Gr+r/r4M0.net]
ありがとうございました

自分なりに考えたのは、どこかのセルにフラグを置いといて、
処理中に分岐させるというものでした

767さんがわかりやすいですが、>>765のやり方を勉強してみます

797 名前:デフォルトの名無しさん (ワッチョイ ba52-2WTa) [2017/06/16(金) 11:40:46.40 ID:uw1+X6cJ0.net]
拡張For文とも言われる
For Each (オブジェクト変数) in (そのオブジェクトのコレクション)
の構文で、ときどきその(オブジェクト変数)の処理によってFor Each文でまわすコレクションのオブジェクトの順番や数が変わってしまい困っています。

例えば
For Each iCell in Activesheet.UsedRange
である条件のiCellのときにその直下に新しい行を追加したり
For Each iFile in TargetFolder.Files
でiFileのファイル名を変えようとした場合に(FileSystemObjectを使ってる)
発生しました。

こんなときは処理結果が意図したものと違ってぐちゃぐちゃになって困っています。
最初にFor Eachの行をマクロが通過したときに処理すべきオブジェクトは固定されないんですか?

798 名前:デフォルトの名無しさん (ワッチョイ 87e4-IXCZ) mailto:sage [2017/06/16(金) 12:07:15.60 ID:Qtgdul+t0.net]
For Eachで列挙される順番は、実装依存で保障はされてないはずだけど
普通は同じコレクションに対しては同じ順で帰ってくるよ

For Eachで列挙中にそのコレクションに対して変更した場合は、その列挙はどうなるか分からん
なので要素を増減させるような処理はFor Eachの中でやっちゃ駄目

799 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/16(金) 12:11:25.66 ID:BvP/dFhV0.net]
ループ処理中に処理対象を変更したら当然おかしくなると思うが…

800 名前:デフォルトの名無しさん (ワッチョイ ba52-2WTa) [2017/06/16(金) 12:30:40.42 ID:uw1+X6cJ0.net]
>>770-771
そんなことはアホなオレでもわかっとりますわ。

その上でそれを回避するような定番な方法や定石的手順の方法を知りたいのですが。



801 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/16(金) 12:33:46.29 ID:pJSV/jBP0.net]
>>772
ループ内で対象を記録しておいて後で書き換えるとか
一時保管場所を作って蓄積してから元の場所へ戻すとか

802 名前:デフォルトの名無しさん (ワッチョイ ba52-2WTa) [2017/06/16(金) 12:39:06.98 ID:uw1+X6cJ0.net]
>>773
しかしそれでも記憶させておくものは参照のメモリアドレスには変わりないと思うから
対処によってこの参照先が変わってしまい同じような意図しないぐちゃぐちゃな結果になったりしませんかね?

あとわからないのがFileSystemObjectでファイル名を変えただけで対象が変わってしまうのが不思議。
これは別に要素の増減でもなんでもないのに。

803 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/16(金) 13:09:33.45 ID:pJSV/jBP0.net]
>>774
しませんかね? と質問する前に

804 名前:ゥ分でテスト環境作ってやってみるべき。 []
[ここ壊れてます]

805 名前:デフォルトの名無しさん (ワッチョイ 87e4-IXCZ) mailto:sage [2017/06/16(金) 13:14:04.57 ID:Qtgdul+t0.net]
>>772
>その上でそれを回避するような定番な方法や定石的手順の方法を知りたいのですが。
For Eachを使わない
単純に減るだけならFor Nextで逆順に回すのが定番

あとはループ用に別の列挙(コピー)を用意するか

>>774
FSOがどんな管理になってるかしらんが、名前の変更ってことは
古い名前の削除+新しい名前の追加 だと考えれば不思議はない

806 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/16(金) 13:24:05.09 ID:LikhkzB3a.net]
そもそもActivesheet.UsedRangeなんだからシートに処理加えたら要素の数が変わるのは当たり前だろ
一回変数に入れたら困るわけ?
多分fsoのfilesも変数に入れたら固定されるんじゃねえの

807 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 15:36:15.71 ID:OvmXQ03X0.net]
ユーザーフォームのボタンをクリックしたとき、ある条件を満たせばボタンの背景色を変えてます。
CommandButton1.BackColor = "&HFF00FF"

ボタンの色を元に(ボタンのデフォルトの色に)戻すのに↓だとエラー(型が一致しません)。どうすればいいんでしょうか?
CommandButton1.BackColor = "&H8000000F&"

808 名前:デフォルトの名無しさん (ワッチョイ 5623-8P7O) mailto:sage [2017/06/16(金) 16:08:49.37 ID:0rZ836RR0.net]
>>778
Debug.Print Typename("&HFF00FF")
Debug.Print Typename("&H8000000F&")

なんで""で括ってるの?

809 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 16:34:33.26 ID:OvmXQ03X0.net]
>>779
""は不要でしたか。たぶんどこかのサイトにそのような記述があったんだと思います。
↓でエラーなく色変わりますが""なくてもよかったのか。
CommandButton1.BackColor = "&HFF00FF"

debug.printの結果はstringでした。そりゃそうか。

810 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 16:41:13.41 ID:OvmXQ03X0.net]
>>779
あ、書くの忘れてました。
↓これの""を取ったらエラー出ず色がもとに戻りました。ありがとうございました。
CommandButton1.BackColor = "&H8000000F&"



811 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/16(金) 17:59:38.04 ID:LikhkzB3a.net]
>>778
&H〜&は16進数だったかな

812 名前:デフォルトの名無しさん (ブーイモ MMaf-/42z) mailto:sage [2017/06/16(金) 21:04:08.81 ID:8NWwObqWM.net]
>>774
VBAのforeachは扱いづらいよね。
for each file in folder.files なんかは一度別の配列なりcollectionなりに入れちゃった方がindexが動かないから無難。
range.deleteやrange.insertは一度のループで処理しようとせずに、別にループを回すか、index降順でループするのが無難。

813 名前:デフォルトの名無しさん (ワッチョイ 966d-6Cyg) mailto:sage [2017/06/16(金) 21:12:24.56 ID:QcYuYCTF0.net]
for eachとcells()は相性が悪い
cells().deleteを絡めると参照が変な位置に飛ぶ(気がする)。理由はわからん
deleteを絡めるならfor next step-1にしたほうがいい

814 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 21:13:11.64 ID:OvmXQ03X0.net]
>>778です。何度もすいません。
>>778の質問はダブルクオーテーションマークを削除して解決しましたが、
なぜ、CommandButton1.BackColor = "&HFF00FF"、はエラーが出ずにボタン背景色が変更され、
CommandButton1.BackColor = "&H8000000F&"、これだとエラーが出るのか教えて頂けないでしょうか?

815 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 21:14:43.63 ID:82cvwDvY0.net]
>>785
エラーが出る方は桁数が多いからじゃね?

816 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 21:15:01.98 ID:OvmXQ03X0.net]
>>785
ちなみに、VBAはマクロの記録したものをネットで検索してちょっといじくる程度の初心者レベルです

817 名前:デフォルトの名無しさん (ワッチョイ 966d-6Cyg) mailto:sage [2017/06/16(金) 21:20:26.65 ID:QcYuYCTF0.net]
>>774
VBA独特のnewの特殊な仕様や、
setする度に生成される謎参照
vbaのforeach中に要素数を増減させるのはやめた方がいい
俺も絶対にしない。単純に間違うし、なんで間違うかもわからんから

Sub foo()
Set a = Cells(1, 1)
Set b = Cells(1, 1)
Debug.Print (a Is b) 'falseになる。参照しているアドレスも違う
End Sub

818 名前:デフォルトの名無しさん (ワッチョイ 9aec-VgqF) mailto:sage [2017/06/16(金) 21:20:57.72 ID:OvmXQ03X0.net]
>>786
"&H8000000F&"の方が文字数が多い(桁数が多い)というのはわかりますが、それでなぜエラーが出るのでしょうか?

819 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/16(金) 21:22:35.82 ID:nh1Jx8jt0.net]
>>785
CommandButton1.BackColor = "&H8000000F"
でどう?

820 名前:デフォルトの名無しさん (ワッチョイ 966d-6Cyg) mailto:sage [2017/06/16(金) 21:24:07.49 ID:QcYuYCTF0.net]
>>789
コンソールで以下を叩いてみれ
? &H8000000F



821 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 21:25:32.82 ID:82cvwDvY0.net]
>>789
色の取りうる範囲を超えた値だからかな

822 名前:デフォルトの名無しさん (ブーイモ MMaf-/42z) mailto:sage [2017/06/16(金) 21:29:07.51 ID:8NWwObqWM.net]
>>785
colorはlong型なので、右辺はlong型にキャストされている。
そんで、右辺=2147483663は、そもそもlong型の上限を超えているのでエラーになる。
まあその前に、色は256の3乗=16777216パターンなので、そこではねられてるかもしれない。

823 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 21:37:27.08 ID:Wj1oysWPa.net]
Debug.Print Typename(&H8000000F&)
Debug.Print Typename(Val("&H8000000F&"))

Longに見える文字列でも自動型変換では以前の型は考慮されないと思う。

824 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 21:43:40.45 ID:82cvwDvY0.net]
>>794
typename(clng("&H8000000F"))
なんじゃね

825 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 21:49:00.55 ID:Wj1oysWPa.net]
>>795
それじゃLongになっちまうだろ。
"&H8000000F&"が型変換でどう解釈されたかを調べてるんだぞ。

わざわざ最後に&付けてLong指定してるのにどうしてDoubleになるのかと言えば&付いててもStringなんだから&は考慮されないと予想。

826 名前:デフォルトの名無しさん (ブーイモ MMda-/42z) mailto:sage [2017/06/16(金) 21:49:23.66 ID:YneIl6smM.net]
確認したら、
clng("&800000F") => -2147483633
でキャストは通るね。間違い書いてすんません。

827 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 21:51:25.40 ID:82cvwDvY0.net]
そもそもエラーって何のエラーかわかってないんだが
何エラー?

828 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 21:52:52.22 ID:Wj1oysWPa.net]
>>798
Long型のプロパティにDouble型の値を代入しようとしたエラー

829 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 21:55:42.55 ID:82cvwDvY0.net]
>>799
エラーメッセージにそう出るの?
エラーメッセージを解釈した結果?

830 名前:デフォルトの名無しさん (ブーイモ MMda-/42z) mailto:sage [2017/06/16(金) 21:57:25.30 ID:YneIl6smM.net]
.backcolorプロパティ内で範囲外エラーを返しているのかと思ったけど違うのかな?



831 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 21:58:00.70 ID:Wj1oysWPa.net]
>>800
解釈した結果
そのために>>794書いたつもり。

832 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 22:02:09.58 ID:Wj1oysWPa.net]
>>801
""取ったらエラー出てないし、エラーも型が一致していないってことだから。
まあ、同じことでしょ。

833 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/16(金) 22:02:42.94 ID:82cvwDvY0.net]
>>802
それだと本当はDouble型かLong型かわからなくね?
暗黙の型変換でlong型になってるかもしれない

colorプロパティはlong型みたいだし

834 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/16(金) 22:25:40.96 ID:Wj1oysWPa.net]
>>804
Val("&H8000000F&")はDoubleだけど、
"&H8000000F&"を暗黙の型変換した場合はLongかも知れないということ?
だったらエラーは出ないんじゃね?

835 名前:デフォルトの名無しさん (ワッチョイ 87e4-IXCZ) mailto:sage [2017/06/17(土) 03:41:22.96 ID:5p5fyGrH0.net]
暗黙の変換やClng関数は、型指定文字があるとエラーになる
それだけ
ちなみにValは、型指定文字を無視する

試したけど
暗黙の変換でLongに収まらないときはオーバーフロー
型指定文字が入ってるときは型が一致しません
エラーの種類違うし

836 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/17(土) 05:35:44.93 ID:sBDEiRXs0.net]
>>792 >>801
&H8000000F は RGB値ではなくシステム カラーだと思うのだけど?

システム カラー定数
https://msdn.microsoft.com/ja-jp/library/office/gg264801.aspx

837 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/17(土) 05:54:42.06 ID:Zt5CuQ5d0.net]
>>807
"で囲ってない時はシステムカラー定数と認識されるけど
"で囲ってる時は型変換されてlong値になって値の範囲が不正になるのかな

838 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/17(土) 06:26:45.69 ID: ]
[ここ壊れてます]

839 名前:sBDEiRXs0.net mailto: >>808
"&H8000000F"は16進表現として認識てきて 型変換してるけど

"&H8000000F&"は 最後に& があるから 文字列のままで 型変換してないんじゃないの?
なぜか 皆さん型指定文字と みなしてる みたいだけど おいらにゃ それが理解できない
[]
[ここ壊れてます]

840 名前:809 (ワッチョイ e346-KEev) mailto:sage [2017/06/17(土) 06:34:33.98 ID:sBDEiRXs0.net]
ちょっと補足
&H8000000F&
と書いたときの最後の& は型指定文字なのはいいんだけど
"&H8000000F&"
と書いたときの最後の& は型指定文字 ではないんじゃね? とおいらは思ってるって事



841 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/17(土) 06:40:18.44 ID:Zt5CuQ5d0.net]
>>809
最後の&があると文字列のままで型が一致しないエラー
"を外すと最後の&が削除されてlong型になるね

842 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/17(土) 06:43:47.67 ID:HWAPYlLyd.net]
おいら って20年ぶりくらいに聞いた

843 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/17(土) 06:46:10.05 ID:Zt5CuQ5d0.net]
最後の&が無いと"で囲ってても型変換されてエラーにならない

最後の&がエラーの原因だな

844 名前:デフォルトの名無しさん (ワッチョイ 5379-9n+g) mailto:sage [2017/06/17(土) 08:14:56.44 ID:SCg1HEQ40.net]
おいらの法則

845 名前:デフォルトの名無しさん (ワッチョイ 8b8f-2WTa) mailto:sage [2017/06/17(土) 08:22:33.99 ID:qHcE0uCX0.net]
シドロモドロ以来だな

846 名前:デフォルトの名無しさん (ワッチョイ 5623-gMwg) mailto:sage [2017/06/17(土) 19:37:25.20 ID:VvIBcq8u0.net]
>>813
それだと"&H8000&"でもエラーになる?

847 名前:デフォルトの名無しさん (ワッチョイ 3a6f-Qd8E) mailto:sage [2017/06/17(土) 19:57:38.80 ID:Es/QpSxK0.net]
トランスポーズすると、2次元配列を1次元配列に変換できる!!
使い道は分からない!!
以上!!

848 名前:デフォルトの名無しさん (ワッチョイ ba91-XHCC) [2017/06/17(土) 22:12:46.54 ID:Zt5CuQ5d0.net]
>>816
同じ型が一致しませんのエラーになる

849 名前:デフォルトの名無しさん (ワッチョイ 5623-gMwg) mailto:sage [2017/06/18(日) 00:00:52.09 ID:8soX4XuF0.net]
>>818
おお、じゃあ変換できないので文字列のままでエラーってことだな。

850 名前:デフォルトの名無しさん (ワッチョイ bb11-CZIA) mailto:sage [2017/06/18(日) 15:49:05.91 ID:RSPvKv4Y0.net]
>>817
横に並んだデータをサクッと一次元配列にしたいときに使う



851 名前:デフォルトの名無しさん (ササクッテロリ Spab-XHCC) [2017/06/18(日) 16:32:07.44 ID:rdefnVQJp.net]
>>817
a. 2行2列を要素数4の配列にできる
b. 1行4列を要素数4の配列にできる
c. 4行1列を要素数4の配列にできる

どれが出来てどれが出来ないの?

852 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/18(日) 17:09:23.21 ID:Q0TjVwCE0.net]
Transposeは一列もしくは一行の場合は強制的に一次元配列する。
なお同じ機能の関数を自作しても処理時間は変わらない模様。

853 名前:デフォルトの名無しさん (ワッチョイ baaa-2WTa) mailto:sage [2017/06/18(日) 17:17:35.08 ID:dGQ95y/Y0.net]
>>822
一行だったら二次元配列に変換されるよ

854 名前:デフォルトの名無しさん (アウアウウー Sa77-pW+h) mailto:sage [2017/06/19(月) 03:47:46.84 ID:5j/B6amKa.net]
便利だから使ってたけど処理時間変わらないのか
それは知らなかった

自作関数書くよりはちょっとお手軽くらいに思っとけばいいのかな

855 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/19(月) 12:09:46.78 ID:ABDk/3ER0.net]
WorksheetFunctionとかの一部の関数は処理時間見る限り全部VBAで書かれているか、あるいは同じレベルで実装されているみたい。
なんなら初めに条件を絞れる分、元から入っている関数よりも自分で書いた方が速い事もある。

856 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 13:25:12.20 ID:VrV9No710.net]
すいません。
エクセル初心者です。
エクセルでハンゲームのオセロの棋譜を取得するツールを作ろうと
思ったのですがよくわかりません。
誰か作り方を教えてください。

857 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/19(月) 15:14:07.46 ID:kr/oTAEDa.net]
>>826
その聞き方じゃ何もわからないし、君には無理だね

858 名前:デフォルトの名無しさん (ワッチョイ 966d-2WTa) mailto:sage [2017/06/19(月) 18:50:13.11 ID:qZE6both0.net]
>>826
君のレベルに対してやろうとしてることのレベルが高すぎる
あとめちゃくちゃめんどくさい
素直に棋譜の取れるオセロゲームやったほうが良い

859 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/19(月) 19:04:20.53 ID:/dj/ZZB ]
[ここ壊れてます]

860 名前:t0.net mailto: ダウンロードするだけとちゃうんか? []
[ここ壊れてます]



861 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 19:25:26.80 ID:VrV9No710.net]
多少面倒くさくても頑張ろうと思います。
ご教授お願いします。
やる気はあります。
ヒントだけでもm(_ _)m

862 名前:デフォルトの名無しさん (ワッチョイ 966d-2WTa) mailto:sage [2017/06/19(月) 19:38:14.34 ID:qZE6both0.net]
>>830
IEインスタンス作ってそこから中身引っ張り出して・・・
正直、内容がアホらしすぎて教える側にやる気が出ない

863 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 19:44:05.99 ID:VrV9No710.net]
ありがとう。
IEインスタンスってものを作れば作れるんですか。
もう少し踏み込んだヒントをください。
お願いします。

864 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/19(月) 19:45:57.34 ID:/dj/ZZBt0.net]
え?ハンゲームやろ?なんで急にインスタが出てくるんや?

865 名前:デフォルトの名無しさん (ワッチョイ 966d-TgEb) mailto:sage [2017/06/19(月) 19:53:07.52 ID:qZE6both0.net]
>832
この先は俺も知らないし、他の誰も知らない
インスタンスの中身を探っていけばその内見つかると思う

866 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 20:02:44.41 ID:VrV9No710.net]
>>833
インスタンスを使わない手段もあるんですか?

>>834
ありがとうございます。
インスタンスを探してみます。

一つ質問ですが
インスタンスってなんですか?

867 名前:デフォルトの名無しさん (ワッチョイ 5323-sPwl) mailto:sage [2017/06/19(月) 20:21:11.16 ID:PPgDuBFH0.net]
ネタにマジレスすんなスルーしろよ

868 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 20:23:09.22 ID:VrV9No710.net]
ネタ?
誰に言ってるの?

869 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/19(月) 20:31:11.32 ID:/dj/ZZBt0.net]
>>835
いや普通に考えて使わんやろ?
それとも俺が知らんだけでハンゲームの棋譜がインスタにアップされてたりすんのやろか?

870 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 20:33:24.35 ID:VrV9No710.net]
>>838
よしよろしければインスタを使わない方法を御存知でしたら教えてください。



871 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/19(月) 20:38:44.97 ID:bf7vlYv00.net]
1)棋譜を君の脳内に取得して(記憶というw)
2)その脳内に取得した棋譜を 手入力という手法を使ってexcelへ転記する
-完成-

872 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/19(月) 20:44:19.79 ID:/dj/ZZBt0.net]
>>839
まずハンゲームをダウンロードしたらええんとちゃうか?

873 名前:デフォルトの名無しさん (ワッチョイ baaa-2WTa) mailto:sage [2017/06/19(月) 20:47:27.35 ID:n6H3aqi00.net]
ID:/dj/ZZBt0 ...

874 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 20:50:01.00 ID:VrV9No710.net]
>>841
ハンゲームはダウンロード済みです。
ダウンロードしないとゲームができません。
その後はどうすればいいの?

875 名前:デフォルトの名無しさん (ワッチョイ b78b-VPaF) [2017/06/19(月) 20:57:49.05 ID:/dj/ZZBt0.net]
>>843
ああそうなんかw知らんかったw
ハンゲームがあるんやったら次はおもむろに
wiresharkとかfiddlerを立ち上げて通信の傍受やろな普通は

876 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/19(月) 21:30:02.75 ID:xy6F3ofWa.net]
一般に公開されてるデータじゃないなら無理
不可能

877 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) [2017/06/19(月) 21:54:46.68 ID:VrV9No710.net]
エクセルに詳しい方、回答お願いします。

878 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/19(月) 22:03:15.20 ID:xy6F3ofWa.net]
>>846
一応いっとくけど、エクセルの問題じゃないからね

879 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:06:34.40 ID:VrV9No710.net]
>>847
VBAってものを使えばいいんですよね?
それは承知しております。

880 名前:デフォルトの名無しさん (ワッチョイ 3a06-VgqF) mailto:sage [2017/06/19(月) 22:06:40.01 ID:UFkjuB9W0.net]
>>846
ちなみにVBAはどの程度知っているのか?
Option Explicit って知っている?



881 名前:デフォルトの名無しさん (ワッチョイ c76f-2WTa) mailto:sage [2017/06/19(月) 22:14:02.70 ID:NPLs9gl60.net]
そもそもハンゲームのオセロがどういうものかわからないし
たぶんUWSCあたりで盤面を画像処理で認識して記録していくのが一番手っ取り早いと思う
これなら調べながら誰でもできる

882 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:15:29.75 ID:VrV9No710.net]
VBAはよくわかりません。
ただVBAを使えばなんでもできるという話を聞きました。
これから勉強しようと思ってます。
Option Explicitは聞いたことないです。

883 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:19:01.40 ID:VrV9No710.net]
>>850
ハンゲームオセロの棋譜取得ツールは既に作って公開されてる方がいます。
画像認識で高速で打つオセロの棋譜なんかも取得できるものなのでしょうか?
公開されてるツールはVBAではありませんが、何か画像認識とは異なるようです。

884 名前:デフォルトの名無しさん (ワッチョイ 3a06-VgqF) mailto:sage [2017/06/19(月) 22:19:42.57 ID:UFkjuB9W0.net]
>>851
完成目標 10年後くらいで勉強していけw

885 名前:デフォルトの名無しさん (ワッチョイ c76f-2WTa) mailto:sage [2017/06/19(月) 22:22:04.62 ID:NPLs9gl60.net]
>>852
じゃあそれ使ってログを読み込めばいいだけじゃんw

886 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:28:44.54 ID:VrV9No710.net]
>>853
10年かかっても勉強する根気はあります
VBAを始めるにしても具体的に何の勉強が必要なのか
そのヒントが欲しいです

>>854
ログを読み込むというのは別の人が作ったツールを使うってことでしょうか?
自分で作りたいのです。

887 名前:デフォルトの名無しさん (ワッチョイ db0d-VLdI) [2017/06/19(月) 22:29:24.47 ID:POTmza9M0.net]
釣りならvipでやれ

888 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:32:38.02 ID:VrV9No710.net]
>>856
逆にお返ししますが
冷やかしならvipでやれ

僕は真面目に質問してます。

889 名前:デフォルトの名無しさん (ワッチョイ 3a06-VgqF) mailto:sage [2017/06/19(月) 22:34:02.52 ID:UFkjuB9W0.net]
>>855
プログラミングの初歩から勉強しないといけないわけで。千里の道も一歩からなんで
とりあえずはVBAの入門書でも見繕ってそれを勉強していけよ。やりたいことはそういう基礎が
出来てからの話なんで

後、あまり続けけるとここの住人から怒られるよ(もう既に怒り始めてるけどw)

890 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:42:15.31 ID:VrV9No710.net]
入門書は見たことがありますが
棋譜の取得方法が載ってませんでした



891 名前:デフォルトの名無しさん (ワッチョイ 966d-AefZ) mailto:sage [2017/06/19(月) 22:43:01.87 ID:qZE6both0.net]
10年かかってオセロの棋譜を取得、結構面白かったw

892 名前:デフォルトの名無しさん (ワッチョイ 3a06-VgqF) mailto:sage [2017/06/19(月) 22:47:50.75 ID:UFkjuB9W0.net]
>>859
そんなピンポイントに自分の希望するネタが載ってるかってのw
後、俺もコレに関しての書込みはもう止める

893 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 22:55:14.29 ID:VrV9No710.net]
ピンポイントで載ってないのは知ってますよ。
これが最後の質問なのでどなたかマジレスお願いします。
オセロの棋譜を取得するには入門書の次はどの書籍で何を勉強すればいいですか?

894 名前:デフォルトの名無しさん (ワッチョイ b78b-VPaF) [2017/06/19(月) 22:57:30.40 ID:/dj/ZZBt0.net]
まだやっとったんか
もう少しマジメにこたえてやろうか?

895 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 23:00:07.06 ID:VrV9No710.net]
>>863
おねがいします

896 名前:デフォルトの名無しさん (ワッチョイ 5323-sPwl) mailto:sage [2017/06/19(月) 23:00:26.94 ID:PPgDuBFH0.net]
だからスルーしろって言っただろ…

897 名前:デフォルトの名無しさん (ワッチョイ b70b-RAw3) mailto:sage [2017/06/19(月) 23:27:28.51 ID:sdf0wvxm0.net]
Excelで作成済みの表で太線部分をすべて二重線に変更するとか
通常の太さの線をすべて点線に変更するような処理をVBAでできますか?

898 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/19(月) 23:41:34.64 ID:VrV9No710.net]
オマエラ、回答スキルがないから冷やかしや煽りしかせんのだろ
こんなスレで質問した僕が愚かでした

899 名前:デフォルトの名無しさん (ワッチョイ 966d-6QMs) mailto:sage [2017/06/19(月) 23:55:37.37 ID:qZE6both0.net]
>>866
できる
マクロの記録見ながらやればok

とりあえずテキトーに作ったのは以下
セルをテキトーに範囲選択して以下マクロを実行すると、全部の罫線を調べて何か色々やる


Sub Macro1()
For Each cell In Selection
For Each line_item In cell.Borders
If line_item.linestyle = "" Then 'ここで判別
'テキトーに処理
End If
Next
Next
End Sub

900 名前:デフォルトの名無しさん (ワッチョイ 8b8f-2WTa) mailto:sage [2017/06/20(火) 00:06:57.22 ID:cAv1G3zS0.net]
>こんなスレで質問した僕が愚かでした
これ言いたかっただけやろ



901 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/20(火) 00:57:33.30 ID:epuuDDzl0.net]
棋譜作成ツールの存在を知ってたんなら、まず制作者にコンタクト取ればいいのに。

902 名前:デフォルトの名無しさん (ワッチョイ bb11-VLdI) mailto:sage [2017/06/20(火) 01:49:00.45 ID:daMMiZS+0.net]
普通そういう対戦ゲームってテキストかなんかでゲームヒストリー保存されてるんじゃないの?

903 名前:デフォルトの名無しさん (ワッチョイ bb11-CZIA) mailto:sage [2017/06/20(火) 07:04:14.89 ID:kfZB+qqb0.net]
>>866
できるよ

904 名前:デフォルトの名無しさん (ワッチョイ bb11-CZIA) mailto:sage [2017/06/20(火) 07:05:49.17 ID:kfZB+qqb0.net]
>>867
ちがうよ
質問が間抜けすぎると回答できないんだよ
野球未経験者に150キロの投げ方教えろって言われても無理なもんは無理

905 名前:デフォルトの名無しさん (ワッチョイ 966d-2WTa) mailto:sage [2017/06/20(火) 08:15:35.18 ID:0I9nr4ea0.net]
>>871
ハンゲームはフラッシュだからな〜
IEの中身見て、フラッシュの中身見て…
暗号化やプロテクトがかかってると更にめんどくさい、ってかお手上げ

906 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/20(火) 09:31:22.77 ID:Yjttzp/I0.net]
>>873
残念。
野球素人にも正しいフォームとトレーニング方法を教えれば
150キロは無理でも120キロの球なら投げられる。
僕はこのスレで質問しても120キロの投げ方のヒントすら得られなかったよ。
120キロの投げ方でも教えてくれればオマエラを尊敬したのにね。

>>874
ハンゲはフラッシュゲームもあるけど
僕が質問してるのはFlash版じゃない方ですよ。

907 名前:デフォルトの名無しさん (アークセー Sxab-oWh/) mailto:sage [2017/06/20(火) 09:48:00.02 ID:4C+vIjyGx.net]
>>875
まぁ身に付くかは別問題だし
教えるなら150の香りがする方よ。








君?
匂う臭う

908 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/20(火) 10:30:33.26 ID:epuuDDzl0.net]
調べて分かる事すら訊いてくる性格の人には何教えても身につかないしね。

909 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/20(火) 10:35:20.51 ID:fiT3zbOfa.net]
>>875
すまん例えを間違えたわ
サッカー選手にそれを聞いてるようなもんだわ
なぜならハンゲームの仕組みは専門外だから
まずは棋譜がどのような仕組みで配布されているのか、いないのか
ダウンロード出来るのか出来ないのか
アプリはどんな形で配布されているものなのか
質問するならそのぐらいは情報としてないとね
ハンゲームのことなんて知らないからさ

910 名前:デフォルトの名無しさん (ワッチョイ 3a06-VgqF) mailto:sage [2017/06/20(火) 11:41:22.61 ID:M2VUAsfa0.net]
>野球素人にも正しいフォームとトレーニング方法を教えれば
>150キロは無理でも120キロの球なら投げられる。

その素人が練習したらだろ?お前、練習すらしねーじゃん。練習した上で抜かせヴォケ



911 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/20(火) 11:52:13.42 ID:JmP4tpNDd.net]
2ちゃんねるをプロが集まる場所だと勘違いしたんだろうよ

912 名前:デフォルトの名無しさん (オイコラミネオ MMe6-sPwl) mailto:sage [2017/06/20(火) 12:04:10.53 ID:5ysl0/W+M.net]
な。スルーで正解だったろw

913 名前:デフォルトの名無しさん (オッペケ Srab-VPaF) [2017/06/20(火) 12:17:43.67 ID:PW/vl+jdr.net]
いやお前はどっちにしろ答えられんから正解かもしれんけどw

914 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/20(火) 12:38:17.50 ID:z3uMks1C0.net]
すぐ上に誰にも答えられないって書いてあるわけだが

915 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/20(火) 12:45:36.63 ID:JmP4tpNDd.net]
>>851
「VBAを使えばなんでもできる」という話は信じ込んでいるわけか。
でも

916 名前:アのスレでの忠告は聞かない、と。

なかなか変わった精神の持ち主だ。
[]
[ここ壊れてます]

917 名前:デフォルトの名無しさん (アウアウウー Sa77-lwmD) [2017/06/20(火) 12:48:41.53 ID:R6esiUjXa.net]
オセロの棋譜もとれるんです
そう!vbaならね

918 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/20(火) 14:07:00.11 ID:epuuDDzl0.net]
既にハンゲームのオセロの棋譜を取るツールがあるんだから作れる事は作れるだろうけどね。
ただ言語的な向き不向きがあるから。

919 名前:(ワッチョイ 87cf-pW+h) [2017/06/20(火) 15:02:50.92 ID:Om3g1OA10.net]
ユーチューバーは収入の仕組みが違う?!どっちが儲かるか?
youtube-youtuber.com/360.html

従来型のユーチューバーは、広告収入をメインの収入源としています
1.動画にのせる広告(動画広告+画像広告)からの報酬や
2.スポンサー収入(企業からの依頼を受けて商品を紹介)

海外のユーチューバーの傾向として、広告収入ではなく、自分のビジネスを
メインにすることによって広告収入を遥かに超える収入を叩き出しています。
例えば、beauty guru(美のカリスマ)と謳われる、ユーチューバーのミシェル・ファンは
広告収入は1800万得ていますが・・他方で美容化粧品会社Ipsyを立ち上げて、
年収1億ドル(約110億円)を売り上げました。
彼女は「メイクのチュートリアル動画」を投稿していますが、動画の中で自分の会社の商品を
使っているんです。
そしてその中で使った商品を、online shopで買える仕組みにしています。
他人の商品を紹介して、そこから「おこぼれ」を貰うより、自分の商品を売った方が
遥かに儲かりますからね。
リンジー・スターリングは踊りながら、バイオリンを演奏する、アーティストですが・・・
彼女の場合も、あくまでも動画を投稿するのは、自分のビジネスである、
ツアーチケットやアルバムの販売のためなのです

920 名前:デフォルトの名無しさん (アウアウカー Sa33-gMwg) mailto:sage [2017/06/20(火) 17:07:28.52 ID:nFgQnGjya.net]
できるけどハードル高過ぎだよな。
UIAutomationで攻めるかWindowHandleで攻めるか、それともGDI+で攻めるかになると思うけど。

意外にGDIplusで攻めるのが簡単かもね。



921 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/20(火) 19:12:39.08 ID:pPHD0ZXr0.net]
お前らが丁度盛り上がれる質問てめちゃくちゃ幅が狭いよなw
それよりちょっとでも上か下にずれたら質問者総叩きっていうw

922 名前:デフォルトの名無しさん (ワッチョイ 966d-2WTa) mailto:sage [2017/06/20(火) 19:19:55.60 ID:0I9nr4ea0.net]
>>889
9割ぐらいのまともな質問は一瞬で回答して終わるから、そう見えるだけだよ

923 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/20(火) 19:26:00.76 ID:pPHD0ZXr0.net]
>>890
盛り上がれる質問の幅が狭い

そもそも一瞬で終わる質問は問題になってない

わかるかな?
でお前にはどう見えてるの?言うてみ?w

924 名前:デフォルトの名無しさん (ワッチョイ 966d-2WTa) mailto:sage [2017/06/20(火) 19:34:28.87 ID:0I9nr4ea0.net]
イベントで貼り付けって検知できますか?

925 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/20(火) 20:08:27.14 ID:Yjttzp/I0.net]
>>880
ここは素人が玄人ぶるスレか?

926 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/20(火) 21:32:49.05 ID:JmP4tpNDd.net]
プロはブログかTwitterだろう
2ちゃんとQiitaは素人ばっかり

927 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/20(火) 22:07:50.66 ID:epuuDDzl0.net]
実績のある個人を追跡しやすい媒体に比べたら不特定多数が参加できる媒体は敷居が低い分ノイズが乗りやすいからね。
どんなふうに検索しても見つからない時、糸口になればいいなくらいの気持ちで付き合っていくべきでしょ。

928 名前:デフォルトの名無しさん (ワッチョイ fb11-pW+h) mailto:sage [2017/06/21(水) 00:33:07.21 ID:uohPApVY0.net]
>>892
Excelのユーザー操作ということでいいんだよなこのスレなんだから

「貼り付けた」イベントは無理じゃね?俺の知ってる範囲だとだけど

「貼り付けようとしている」イベントは一応取れそうな
https://msdn.microsoft.com/ja-jp/library/cc377048.aspx

ショートカットキーまで考えるとWin32APIまで要りそうな気がするな

もっとストレートにやりたいこと書けばもうちょい回答出そうだけど

929 名前:デフォルトの名無しさん (ワッチョイ e3ab-NFrx) mailto:sage [2017/06/21(水) 01:34:26.99 ID:WuwcSk/R0.net]
>>892
少し前に組んだことある。
たしかUndoの情報にアクセスしてゴニョゴニョ、、

930 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/21(水) 07:42:58.19 ID:ICxYo2sfa.net]
>>889
質問が悪いから仕方ないよね
もう少し具体的に質問してくれたら盛り上がれたかもしれない



931 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/21(水) 08:31:04.14 ID:/9zCdexY0.net]
レベルの低い質問のにはレベルの低い回答しかできないってだけなんだが

932 名前:デフォルトの名無しさん (ワキゲー MMb2-3a6i) mailto:sage [2017/06/21(水) 08:33:43.68 ID:ajPkQF0EM.net]
プロなら質問内容を精査してちゃんと答えたりするんだろうが所詮吹き溜まりだからなぁ
俺らにゃ難しいな

933 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/21(水) 10:47:46.94 ID:eLmte6hpa.net]
>>900
してやる義理もないし

934 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 10:56:10.43 ID:v7daEmTSH.net]
>>900
俺もしないよ
なんで無料でそんなことしなきゃならんのだ

935 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 11:24:04.77 ID:XUERnIj3d.net]
>>900
吹き溜まりっていうか、普通のユーザーしかいないってだけだろう

936 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 11:34:07.17 ID:XUERnIj3d.net]
野球がどうこう言ってるやつは野球板に行って同じ発言してこい
「プロはいないのか?ここは雑魚ばっかりだな」

937 名前:デフォルトの名無しさん (オッペケ Srab-VPaF) [2017/06/21(水) 12:18:28.53 ID:GOe8ggdQr.net]
>>901
お前が回答する義理がないのはもちろんだが
回答できないからといって質問者を妨害する行為はいただけないな

938 名前:デフォルトの名無しさん (アウアウウー Sa77-lwmD) [2017/06/21(水) 12:24:13.39 ID:UVc+8Jvua.net]
でもあの質問者はvbaってよく知らないけどなんでも出来るって聞きましたってレベルだったからな
答えわかる奴がいても伝えられなかっただろうな

939 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/21(水) 12:24:50.30 ID:/9zCdexY0.net]
妨害って具体的に何よ

940 名前:デフォルトの名無しさん (アークセー Sxab-oWh/) mailto:sage [2017/06/21(水) 12:28:46.90 ID:aEmRy35ox.net]
>>907
思い通りにならないこと



941 名前:デフォルトの名無しさん (ササクッテロリ Spab-XHCC) [2017/06/21(水) 12:39:14.77 ID:OZ7YKCT4p.net]
>>900
プロなら代金を取る

942 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 12:41:10.08 ID:39L7Vonk0.net]
回答するしないは自由だが
回答できない雑魚はROMってろ

無能な癖に
「俺様は優秀。なんでも回答できる。でも、お前には回答してやらない」
こんなハッタリをかますアホが居るからスレが荒れるだけやろ?

雑魚は黙ってROM
これが2CHのルールやで

943 名前:デフォルトの名無しさん (ササクッテロリ Spab-XHCC) [2017/06/21(水) 12:43:11.08 ID:OZ7YKCT4p.net]
>>910
そんなルールあったか?
あったとしても守らないといけないのか?

944 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 12:55:06.38 ID:v7daEmTSH.net]
まあ大抵において、俺ルールを押しつけようとする奴が現れると荒れるわな

945 名前:デフォルトの名無しさん (アークセー Sxab-oWh/) mailto:sage [2017/06/21(水) 12:56:32.98 ID:aEmRy35ox.net]
ワッショイ
ワッショイ
└(゚∀゚└) (┘゚∀゚)┘

946 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 13:08:10.40 ID:39L7Vonk0.net]
>>911
「俺様は優秀、でも回答してやらない」アピールをすることに何の意味があるの?
お前は法律がなくなれば明日にでも人を殺すのか?
>>910に書くルールがなくてもマナーとしてはアタリマエのことだろ?

947 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 13:10:07.01 ID:v7daEmTSH.net]
>>914
お前には、誰のどんなレスも止められない
この程度のことがわからない奴が暴れるから荒れるんだよ

948 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 13:29:54.52 ID:39L7Vonk0.net]
質問スレは
質問者が質問をし
回答者が回答するスレやで

雑魚が自分アピールするスレちゃうよ

949 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/21(水) 13:32:38.01 ID:AkQPZhAca.net]
>>905
俺はちゃんと要件伝えてねってそれしか言ってないが

950 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/21(水) 13:38:49.64 ID:YcBGJgEk0.net]
>>916
質問スレであって 回答スレじゃないと思うが

ここの存在意義?? 知らん 楽しけりゃなんでもいいんよ



951 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 13:39:58.40 ID:39L7Vonk0.net]
質問スレは
・質問
・回答
・誘導
・スルー

この4つだけでいいよ
次スレのテンプレに入れておいてな

952 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 13:42:09.01 ID:v7daEmTSH.net]
ここが気に入らないんなら、teratailあたりにでも行けばいいんじゃないですかね

953 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 13:43:02.96 ID:v7daEmTSH.net]
>>919
まずお前がスルーしろや

954 名前:デフォルトの名無しさん (ワキゲー MMb2-U092) mailto:sage [2017/06/21(水) 14:15:34.69 ID:ajPkQF0EM.net]
>>919
質問したけど回答が満足行かないから俺ルールを強制するってみっともないよ

955 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 14:20:17.16 ID:39L7Vonk0.net]
優秀なオマエラのVBA作品が見てみたいな
どれほどのスキルが有るんやろなw

956 名前:デフォルトの名無しさん (アウアウエー Saf2-CZIA) mailto:sage [2017/06/21(水) 14:31:16.49 ID:Nqf9zhaca.net]
たかだか2ちゃんのスレに本気になりすぎだろ
肩の力抜けよ
そもそもお前のルールから行くと自治もいらんからな

957 名前:デフォルトの名無しさん (ワッチョイ 5623-VLdI) mailto:sage [2017/06/21(水) 15:04:48.95 ID:39L7Vonk0.net]
本気にはなってるが熱くはなってないよ
オマエラがExcelでハンゲの棋譜取得ツールを作ってうpしたら
俺は土下座したるわ

958 名前:デフォルトの名無しさん (ワッチョイ e346-KEev) mailto:sage [2017/06/21(水) 15:09:03.30 ID:YcBGJgEk0.net]
誰もおまいの土下座なんか興味ないと思うな

959 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 15:10:01.24 ID:XUERnIj3d.net]
どんなに壮麗雄大なVBA作品でもその目的にかなうものでないとダメ

960 名前:デフォルトの名無しさん (ワッチョイ aea2-MdDJ) mailto:sage [2017/06/21(水) 16:21:06.15 ID:wPEHzi2i0.net]
クラスモジュールにメソッド記述できるの?コンストラクタ機能する?



961 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/21(水) 16:58:18.58 ID:/9zCdexY0.net]
暴れてるのはやっぱり棋譜君かw
もう来ないっていう奴に限って粘着するんだよな

自分にできないことをタダで教えてもらおうとしてるのに、変に態度がデカイから叩かれてるって状況なのは理解できてんのか?

962 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/21(水) 17:17:01.69 ID:v7daEmTSH.net]
>>928
> クラスモジュールにメソッド記述できるの?
もちろんできる

> コンストラクタ機能する?
もちろん機能するが、引数は受け取れない

963 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 19:44:11.93 ID:XUERnIj3d.net]
>>928

Private Sub Class_Initialize()
というメソッドがコンストラクタに相当するが引数を取れない。
各メンバを任意の値で初期化することがここではできない。
別なユーティリティー関数(createなんちゃら系)を用意するとかすればいいけど面倒だしかなり制約がある。

964 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/21(水) 20:12:26.52 ID:Nm67/2LE0.net]
>>929,930
お前ら変に態度がデカイな
というか分不相応に背伸びしてるなw

965 名前:デフォルトの名無しさん (ワッチョイ 5323-sPwl) mailto:sage [2017/06/21(水) 20:19:33.82 ID:smv2bKPw0.net]
>>932
棋譜君に言われたくないわw

966 名前:デフォルトの名無しさん (ワッチョイ b78b-1MEk) [2017/06/21(水) 20:37:08.53 ID:Nm67/2LE0.net]
>>933
お前は素直に悔しさがにじみ出ててある意味好ましいなw
せやけどワイは棋譜君ちゃうでwどこに目つけとんのやボケカスw

967 名前:デフォルトの名無しさん (ワッチョイ 87e4-IXCZ) mailto:sage [2017/06/21(水) 20:46:41.02 ID:2GAW1ejj0.net]
>>931
>各メンバを任意の値で初期化することがここではできない。
詳しく

968 名前:デフォルトの名無しさん (ワッチョイ 5323-sPwl) mailto:sage [2017/06/21(水) 21:30:21.72 ID:smv2bKPw0.net]
棋譜君ブーメラン刺さり過ぎ少し自重しろw

969 名前:デフォルトの名無しさん (ワッチョイ ba11-rl9t) mailto:sage [2017/06/21(水) 21:31:18.60 ID:FfOd2t570.net]
>>935
任意じゃなくて生成時に(任意の値を)指定できない
って言いたかったんだと思う
固定でいいなら Class_Initialize() で設定すればいいだけ

970 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 21:46:01.44 ID:XUERnIj3d.net]
>>935
Private Sub Class_Initialize(ByVal a As...)

というふうに任意の引数を取れたなら、コンスタラクタ内で
member_a = a
とメンバを初期化できるけど、残念ながらそうはいかない。
Setterメソッドを作るとかProperty Setするとかでもいいんだけど、
最初にコンストラクタで設定した後はconsantにしたい、などといったありがちな要件の実装がたるい。



971 名前:デフォルトの名無しさん (スプッッ Sd7a-KVjL) mailto:sage [2017/06/21(水) 22:16:06.05 ID:XUERnIj3d.net]
× consant
○ constant

972 名前:デフォルトの名無しさん (ワッチョイ 8b8f-2WTa) mailto:sage [2017/06/21(水) 23:09:43.88 ID:X7TxQ1fN0.net]
棋譜君か
いいな称号もらえて

973 名前:デフォルトの名無しさん (ワッチョイ 5623-gMwg) mailto:sage [2017/06/21(水) 23:28:59.00 ID:4v2NPsWb0.net]
>>925
多分出来ると思うけどさ、ハンゲってインストールしないとダメだろ。
正直、めんどくさい。

あと、どう記録するかがちょっと気になる。
自動で記録するとなると処理スピード的にどうなんだろという疑問も有るな。

974 名前:デフォルトの名無しさん (ワッチョイ 966d-AefZ) mailto:sage [2017/06/21(水) 23:32:30.69 ID:YCW+ax0F0.net]
竜王君とかでいいんじゃね

975 名前:デフォルトの名無しさん (ワッチョイ 3a6f-VLdI) mailto:sage [2017/06/21(水) 23:37:43.98 ID:s8ISniiy0.net]
コンボボックスクリックのイベントで、2回動作するのは何で?
一応、実行フラグを作って、
1回毎にフラグ反転させれば回避できるけど、
2回動くのがデフォって、仕様としておかしくない?
何か重要な意味があったりする?
大事なことなので2回動きましたとか?

976 名前:デフォルトの名無しさん (ワッチョイ bf23-t/Wh) mailto:sage [2017/06/22(木) 01:51:38.27 ID:ZjBitWzo0.net]
昔、ステータスバーの文字列を取得するコード書いた時と同じようにすれば多分いける。
最初UIAutomationやWindowHandleで組んだんだけど取得出来ない。
どうやらBitblt系で描画してるだけみたいだったんでGDIplusで画像から取得した。
文字は数字だけで位置も決まってたからできたわけで、どんな場合でもといわれると大変だろうな。

オセロの場合は64マスのそれぞれの中心の1点の色を取得するだけで判断できそうだ。

977 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 04:54:14.84 ID:mLhBpt5P0.net]
>>941
優秀なVBAの達人さん。
お待ちしております。
VBAのプロなんだからハンゲインストールくらい余裕だよな?
VBA初心者の俺でもハンゲインストールはワンクリックで出来たよw

978 名前:デフォルトの名無しさん (ワッチョイ 9faa-ZLad) mailto:sage [2017/06/22(木) 06:17:32.89 ID:TFRkyanR0.net]
老害っぽいやつだ

979 名前:デフォルトの名無しさん (スッップ Sdbf-iOY8) mailto:sage [2017/06/22(木) 08:56:25.64 ID:S0Iit3hkd.net]
棋譜...か

internet.watch.impress.co.jp/docs/special/fukui/644307.html

980 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 11:33:54.73 ID:mLhBpt5P0.net]
オマエラがスレ荒らしてる間に俺は勉強して
メッセージボックスにハローワールドを表示できるようになったわ
このペースなら一ヶ月で棋譜取得も余裕だな



981 名前:デフォルトの名無しさん (オイコラミネオ MM4f-vKbm) mailto:sage [2017/06/22(木) 11:52:44.41 ID:hctlo4/EM.net]
わかったから完成するまで戻ってくるなよ

982 名前:デフォルトの名無しさん (アークセー Sx0b-Lvcy) mailto:sage [2017/06/22(木) 12:19:13.83 ID:/tNwi6Pdx.net]
>>948
逆に教えてやれよ

983 名前:デフォルトの名無しさん (オッペケ Sr0b-PFZU) [2017/06/22(木) 12:19:24.38 ID:GH5F8R2nr.net]
やっぱり悔しいの?自分には出来ない話題になると?

984 名前:デフォルトの名無しさん (ワッチョイ b773-vKbm) mailto:sage [2017/06/22(木) 12:29:19.22 ID:9kjviait0.net]
>>951
棋譜君がやっと自分でやる気になったんだから、そっとしておいてやれよ

985 名前:デフォルトの名無しさん (アークセー Sx0b-Lvcy) mailto:sage [2017/06/22(木) 12:32:59.06 ID:/tNwi6Pdx.net]
>>951
できない自分に悔しさ感じないとか
変わったお人ですね

986 名前:デフォルトの名無しさん (スッップ Sdbf-iOY8) mailto:sage [2017/06/22(木) 12:37:38.83 ID:S0Iit3hkd.net]
むしろ特定の目的をもってプログラミングを学ぼうとすることが羨ましい。
俺にそういうものはなかった。

987 名前:デフォルトの名無しさん (アウアウウー Sa9b-3vDw) [2017/06/22(木) 12:53:45.84 ID:eYzO7IsEa.net]
「vba初心者の棋譜くんがハンゲから棋譜を取得するスレ」でスレたてすれば勉強してて分からないとこを質問できるし良いアイデアももらえるかもしれないよ
棋譜くんがんばれ

988 名前:デフォルトの名無しさん (ワッチョイ bf23-+Ny0) mailto:sage [2017/06/22(木) 12:55:39.70 ID:ZjBitWzo0.net]
>>945
そうじゃなくてインストールしたくないという話。
コードも面倒くさくなりそうだってのも含む。

>>948
多分、数年はかかるんじゃない?
そんなレベルなら。
20年前の俺もExplorerみたいなの作りたいとか難易度も知らずに無謀なこと考えてたけど。

989 名前:デフォルトの名無しさん (アウアウエー Sadf-AGoN) mailto:sage [2017/06/22(木) 13:29:52.31 ID:2BtLx4BNa.net]
なんでお前に教えるために興味のないアプリをインストールしなきゃならんのだ
前提がおかしいんだよな
俺が間違ってんのか?

990 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 13:29:58.85 ID:mLhBpt5P0.net]
>>950
おう!俺は出し惜しみしないぜ

>>955
うん、頑張るよ
スレ立ても躓いたら検討するよ

>>956
20年て。。。
プロ通り越して仙人やないかいw
プログラミングの仙人でも難しいのか。
目標はそれくらいの方がええわw



991 名前:デフォルトの名無しさん (スッップ Sdbf-iOY8) mailto:sage [2017/06/22(木) 15:04:39.46 ID:S0Iit3hkd.net]
目標は高く持つけどVBAなのか。
止めはしないけど

992 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 16:05:33.54 ID:mLhBpt5P0.net]
手始めにVBAでアルゴリズムの基本を学んだ後に別の言語へ移ろうと考えてます。
情報量も多いし、敷居も低そうなので。。。
JavaScriptとどちらにしようか悩んだけどExcelが使えるのでより直ぐ形になると考えたんだけど
選択を間違えてるかな?

993 名前:デフォルトの名無しさん (JP 0H4f-LvKX) mailto:sage [2017/06/22(木) 16:20:13.94 ID:L6J8NTN5H.net]
>>960
rubyにしとけ

994 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 16:26:38.28 ID:mLhBpt5P0.net]
rubyを勧める理由ってなんですか?
プログラミング入門に向いてるの?

995 名前:デフォルトの名無しさん (ワッチョイ 373d-NIhq) mailto:sage [2017/06/22(木) 16:31:17.18 ID:M1N7LhZL0.net]
C言語が定石でしょ。

996 名前:デフォルトの名無しさん (JP 0H4f-LvKX) mailto:sage [2017/06/22(木) 17:33:47.29 ID:L6J8NTN5H.net]
>>962
情報量が多いし、敷居も低そうだから
paiza.hatenablog.com/entry/2015/02/12/%E5%88%9D%E5%BF%83%E8%80%85%E3%81%A7%E3%82%82%E3%81%BB%E3%81%BC%E7%84%A1%E6%96%99%E3%81%A7%E6%A5%BD%E3%81%97%E3%81%8FRuby%E3%82%92%E5%AD%A6%E3%81%B9%E3%82%8B%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%8411

997 名前:デフォルトの名無しさん (アウアウエー Sadf-AGoN) mailto:sage [2017/06/22(木) 17:48:14.89 ID:TQCcarKna.net]
わざわざ他の言語が使える環境なのにVBAでやる必要性はたしかに無い
不親切だからな

998 名前:デフォルトの名無しさん (ワッチョイ b78b-IH/U) [2017/06/22(木) 19:41:10.91 ID:hFeKbvvW0.net]
>>957
そもそもお前には他人にものを教えられる程の知識も技能もねえじゃんw
根本からお前が間違ってるわw

999 名前:デフォルトの名無しさん (ワッチョイ d7f2-8SzA) mailto:sage [2017/06/22(木) 20:31:25.01 ID:8ePuyD7a0.net]
ホントそれ
質問に難癖つけてるだけにしか見えないよね

>>878
> なぜならハンゲームの仕組みは専門外だから
だったら専門のスレを紹介するなり、それが面倒なら最初から黙ってろ

結局、こんなことを要求しても
> まずは棋譜がどのような仕組みで配布されているのか、いないのか
> ダウンロード出来るのか出来ないのか
> アプリはどんな形で配布されているものなのか
> 質問するならそのぐらいは情報としてないとね
何のアドバイスもできず、さらに質問者を煽るしかできないなら
最初から要求するなってはなしだよね

1000 名前:デフォルトの名無しさん (ワッチョイ d723-vKbm) mailto:sage [2017/06/22(木) 20:56:38.34 ID:Esk8FhIo0.net]
お前らまだやってたのか
だから最初からスルーしろって言っただろw



1001 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 21:47:10.60 ID:mLhBpt5P0.net]
>>964
rubyか!
和製ってのが面白そうだね。
候補に入れとくわ。

1002 名前:デフォルトの名無しさん (ワッチョイ 970d-q+YL) [2017/06/22(木) 22:11:50.57 ID:NSWmrM5K0.net]
勘違いしてるといけないから一応言っとくとVBAはなんでもできるわけじゃないぞMSオフィスで出来ることしか出来ない
オフィス高いしどうしてもオフィスを使わないといけないという理由がなければRubyとかpythonやった方がいい

1003 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 22:24:57.50 ID:mLhBpt5P0.net]
>MSオフィスで出来ることしか出来ない
そうなのか。。。
棋譜取得とか無理なの?

人工知能にも興味あるのでPythonってよく聞く名前だなあ。
ありがとう。ちょっとググってみる。

1004 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 22:36:46.43 ID:mLhBpt5P0.net]
最終的にはマイコン制御、Androidアプリ、人工知能の開発をやりたいんだけど
Rubyとpythonは向いてますか?

1005 名前:デフォルトの名無しさん (ワッチョイ b78b-PFZU) [2017/06/22(木) 22:43:25.90 ID:hFeKbvvW0.net]
どれもエクセルで十分

1006 名前:デフォルトの名無しさん (ワッチョイ bf6d-eRVN) mailto:sage [2017/06/22(木) 22:45:06.66 ID:9Bs/appw0.net]
>>972
色々やりたいならjava覚えておくといい。一番潰しが効く
pythonもいい。アメリカでは児童の教育にはpythonが使われている。ただ色々と癖が強い
Rubyは楽だけどなんだかんだで使えない器用貧乏

1007 名前:デフォルトの名無しさん (ワッチョイ 373d-NIhq) mailto:sage [2017/06/22(木) 22:49:11.54 ID:M1N7LhZL0.net]
マイコン制御やるならマシン語から覚えるべきじゃないかな。

1008 名前:デフォルトの名無しさん (ワッチョイ bf23-q+YL) mailto:sage [2017/06/22(木) 23:04:57.74 ID:mLhBpt5P0.net]
>>974
トンクス。
入門にpythonかRubyを選択して
行く行くはjabaって感じがいいのかな。。。
勉強します。

1009 名前:デフォルトの名無しさん (アウアウエー Sadf-AGoN) mailto:sage [2017/06/22(木) 23:42:17.05 ID:TQCcarKna.net]
windowsAPIとかをExcelVBAの範疇に含むのかという微妙な線引き

1010 名前:デフォルトの名無しさん (ワッチョイ 9711-nLBY) mailto:sage [2017/06/23(金) 01:53:42.48 ID:PRZBxWUY0.net]
含みはしないだろどう考えても
いろいろ作ってると必要になる場面があるのも事実だから
どこまでこのスレで受け付けるのかとなると微妙な線引きだけれどさ



1011 名前:デフォルトの名無しさん (ワッチョイ 373d-NIhq) mailto:sage [2017/06/23(金) 04:09:20.38 ID:xFxOWaa40.net]
基本的に参照設定の要らない範囲だけに絞ってしまえばいいのでは。
機能を名指して来た場合は個別に答えるものとすれば、質問スレとしては用が足りる気がするけど。

1012 名前:デフォルトの名無しさん (ワッチョイ bf23-+Ny0) mailto:sage [2017/06/23(金) 10:37:14.35 ID:cw0tcleu0.net]
>>971
無理じゃないけど何故?ってのがある。

>>977
>>978
>>979
他の言語だってライブラリ込みだろ。

1013 名前:デフォルトの名無しさん (JP 0H7f-v4C/) mailto:sage [2017/06/23(金) 11:33:03.90 ID:MetN1w+0H.net]
jabaという言語が有るのか
不勉強でしらなかった

1014 名前:デフォルトの名無しさん (スッップ Sdbf-iOY8) mailto:sage [2017/06/23(金) 11:38:48.48 ID:wPBxbG6Pd.net]
自分が無理なく使えるのものは何でも使えばいいさ

1015 名前:デフォルトの名無しさん (アウアウカー Sa6b-6Y1q) mailto:sage [2017/06/23(金) 21:24:53.71 ID:GsZt4akIa.net]
風呂洗うやつか

1016 名前:デフォルトの名無しさん (ワッチョイ 9f6f-q+YL) mailto:sage [2017/06/23(金) 23:08:49.98 ID:ht4/Fnqg0.net]
エクセル2019あたりで、セルにレイヤーが付いてくれるといいなぁ。
今のままじゃ、BGが1枚しか使えないファミコンみたいだ。

1017 名前:デフォルトの名無しさん (ワッチョイ 1f32-Acq/) mailto:hage [2017/06/23(金) 23:28:54.63 ID:VjW8l0810.net]
>>981
無能
>>983
有能

1018 名前:デフォルトの名無しさん (ワッチョイ 379b-Lbv0) mailto:sage [2017/06/24(土) 05:18:31.04 ID:W4HWrwdy0.net]
シェイプのコントロールはどこのスレですか?ここで良いですか?
>>984
シェイプの半透明化とかシェイプの長方形をセルにピッタリフィットで
並べて重ねまくることは出来ないんですか?

1019 名前:デフォルトの名無しさん (ワッチョイ 9f91-ANCk) [2017/06/24(土) 06:08:35.69 ID:BWeLxVdN0.net]
>>984
セルにレイヤーをつけてどう使う?
表計算ソフトなんだけど

1020 名前:デフォルトの名無しさん (ワッチョイ 379b-Lbv0) mailto:sage [2017/06/24(土) 06:58:38.65 ID:W4HWrwdy0.net]
人工知能関連の話で、HTM理論のセルエンジンを時間レイヤーでってイメージ
https://qiita-image-store.s3.amazonaws.com/0/43487/562d0d06-3012-2a8f-798a-3b10c300c035.png



1021 名前:デフォルトの名無しさん (ワッチョイ 9f91-ANCk) [2017/06/24(土) 09:28:59.82 ID:BWeLxVdN0.net]
>>988
別に一つのシートでレイヤーにする必要は無い

1022 名前:デフォルトの名無しさん (ワッチョイ bf23-+Ny0) mailto:sage [2017/06/24(土) 13:28:51.98 ID:evqv3EbU0.net]
既に複数シートあるんだからそれをレイヤーに見立てればいいんじゃね?

1023 名前:デフォルトの名無しさん (ワッチョイ 379b-Lbv0) mailto:sage [2017/06/24(土) 13:44:24.64 ID:W4HWrwdy0.net]
>>989
そうですね。巨大なマップにすりゃ良いのか。。。
アニメやゲームみたいに数千枚のシート作って追加削除を秒以下で更新出来るのかなと思って。

1024 名前:デフォルトの名無しさん (ササクッテロロ Sp0b-ANCk) [2017/06/24(土) 13:46:22.84 ID:dUf5y4w4p.net]
>>991
そんな要件があるならExcel vbaを使わないのが正解じゃね?

1025 名前:991 (ワッチョイ 379b-Lbv0) mailto:sage [2017/06/24(土) 14:15:50.13 ID:W4HWrwdy0.net]
>>992
おっしゃる通りです。データベースとのやり取りやCSVファイル保存とか、
GUIを一から書かずにセルの挙動を見える化したかっただけの興味本位です。

1026 名前:デフォルトの名無しさん (ワッチョイ 9f6f-q+YL) mailto:sage [2017/06/24(土) 14:16:14.32 ID:6gmpnk4q0.net]
>>987
2重スクロール。

じゃなくて、普通にサブウインドウ。
リストビューだと、制限多すぎだし。

1027 名前:デフォルトの名無しさん (ワッチョイ ff6f-q+YL) mailto:sage [2017/06/24(土) 19:52:26.24 ID:pyzyezad0.net]
うめ

1028 名前:デフォルトの名無しさん (ワッチョイ ff6f-q+YL) mailto:sage [2017/06/25(日) 05:22:06.80 ID:R1qEXwQR0.net]
うめ

1029 名前:デフォルトの名無しさん (ワッチョイ 5746-WstA) mailto:sage [2017/06/25(日) 16:54:13.63 ID:A4A49pvi0.net]
梅ついでに

>>984
ここ辺りで提案してみるとか 賛同が多いと一応は検討はしてくれるみたいよ
https://excel.uservoice.com/

1030 名前:デフォルトの名無しさん (ワッチョイ f76f-q+YL) mailto:sage [2017/06/25(日) 19:48:34.89 ID:hkv0kvNA0.net]
うめ



1031 名前:デフォルトの名無しさん (ワッチョイ 372e-8SzA) mailto:sage [2017/06/26(月) 02:16:04.74 ID:T3ylemnb0.net]
次スレだよ

Excel VBA 質問スレ Part49
mevius.2ch.net/test/read.cgi/tech/1498410914/

1032 名前:デフォルトの名無しさん (アークセー Sx0b-Lvcy) mailto:sage [2017/06/26(月) 02:41:27.66 ID:PYNS3+mjx.net]
誕生日だよ
僕の

1033 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 40日 18時間 16分 42秒

1034 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<310KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef