19/06/24 09:54:51.06 pOxYP/iS0.net
保守
3:デフォルトの名無しさん
19/06/24 10:30:40.50 /dcVGEspM.net
>>1
令和初乙
4:デフォルトの名無しさん
19/06/24 13:02:31.59 H9TPhtT7a.net
皆さん無知はいいんですよ
誰でも知らないこと、間違って理解してることはあるんだから
だけど知ったような口をきくから叩かれるのですよ
気をつけましょうね
5:デフォルトの名無しさん
19/06/24 15:03:11.87 .net
令和初か
6:デフォルトの名無しさん
19/06/24 20:50:58.37 zxVE+D4VM.net
>>4
なんか辛い目にあったのか?
7:デフォルトの名無しさん
19/06/25 20:13:59.77 YzkEODl+a.net
ムチでたたかれたいんじゃね
8:デフォルトの名無しさん
19/06/26 18:24:48.22 0wa1QMM+d.net
オートフィルターで抽出条件を変数にして繰り返し処理で1ずつ加算していくことは出来ませんか?
下記では出来ませんでした。
For i = 1 to 10
Range("A1").AutoFilter _
Field:=2, Criteria1:="i"
next
9:デフォルトの名無しさん
19/06/26 18:55:16.75 WMWleXLcr.net
iの前後にある"は要らないのでは
10:デフォルトの名無しさん
19/06/26 21:19:57.14 G0xbFDCN0.net
何故ダブルクォーテーションで括ろうとしたのか全く意味不明。
11:デフォルトの名無しさん
19/06/26 21:32:13.70 0wa1QMM+d.net
なるほど!ありがとうございます。最初記録させてそれを元に1つずつやろうと思って、その名残で囲っていました。
助かります!
12:デフォルトの名無しさん
19/06/26 23:33:00.96 HbMJ8lDB0.net
中二病みたいな感じにしたらこうかな?
┌→ FoR Z = 1 ─┐
│ └→ 10
│ RANgE("A1").AutoF F = 2, C = Z
│ │
└┐ │
└ NExT │
↓
×
13:デフォルトの名無しさん
19/06/27 01:44:52.76 wmQpTLu90.net
面白さを解説してくれ
14:デフォルトの名無しさん
19/06/27 04:56:56.51 LPdAyFsH0.net
感じ取れよ・・・
15:デフォルトの名無しさん
19/06/27 05:07:29.23 qGKhWTNI0.net
そこはNExTじゃなくてNeXTにしないと
16:デフォルトの名無しさん
19/06/27 19:55:21.93 M8DBqUMl0.net
VBAができるようになると、xlsmのファイルの中には、普通のワークブック関数って使ったりしないんですか?
例えば、セルの値を別のセルに入れたりとか、if関数とか、簡単なものも
全部 VBAで書いたりするんですか??
それとも混在するんですかね??
17:デフォルトの名無しさん
19/06/27 20:02:20.18 rZhnxql+0.net
>>16
マクロでないと出来ないことをするために使うのが普通
18:デフォルトの名無しさん
19/06/27 20:02:49.59 JZwmukYw0.net
>>16
処理の内容によって関数の方が良い場合とVBAの方が良い場合がある。
だから内容次第。
混在もあり得る。
でもVBAメインで考えてる時は関数のことは忘れがちで全部VBAにしてしまうことも多い。
あと、自分が組む場合はそもそも関数じゃ無理な処理が多い。
19:デフォルトの名無しさん
19/06/27 21:14:07.66 8D+6ahzu0.net
変えられがちなセル関数をリセットするようなのとか
20:デフォルトの名無しさん
19/06/27 23:03:15.57 It0Wr+rk0.net
>>16
しない。
VBAが出来るようになると、発想自体が変わるから。
手で数字を入れて、計算式で答えを出す、みたいな使い方にならなくなる。
コマンドボタンを押すと、Webとかデータベースから自動で情報を探してきて、
シートに必要な答えだけを表示するとか、そんな使い方になる。
21:デフォルトの名無しさん
19/06/27 23:08:08.30 T3xK78tz0.net
>>16
ワークシート関数の方が100倍早いからできないことだけVBAを使う
22:デフォルトの名無しさん
19/06/27 23:50:13.90 It0Wr+rk0.net
>>21
それは関数とかバージョンによると思うけど・・。
2013のVLOOKUPなら、VBA+SQLの方が何倍も速いし。
23:デフォルトの名無しさん
19/06/27 23:52:45.12 T3xK78tz0.net
超初心者へのアドバイスなんだからザックリでいいんだよ
24:デフォルトの名無しさん
19/06/28 00:44:00.93 PbHMOvL40.net
だな
>>16
ワークブック関数ていうものは使ったことないから分からないスマン
25:デフォルトの名無しさん
19/06/28 00:52:55.40 4xkaC8y70.net
意味なくマクロ仕込んでるファイルは嫌われるので関数で済むものはなるべくそちらで
26:デフォルトの名無しさん
19/06/28 09:16:53.79 caJaiAqwM.net
ワークシート関数でできることはワークシート関数で済ませて
データの差し替えとかそういうところだけVBAを使う
27:デフォルトの名無しさん
19/06/28 09:29:37.11 jtjZs4Dcd.net
そうすると関数とVBAの2つを覚える必要があるからVBAで出来るならBBAでやるのが簡単
28:デフォルトの名無しさん
19/06/28 09:35:04.68 IiKC1YBqM.net
>>26
それってコンセンサスないと思えよ
29:デフォルトの名無しさん
19/06/28 09:37:37.70 8sFMCkEs0.net
コンセンサスは無いけど実務上>>26が一番安定するな
30:デフォルトの名無しさん
19/06/28 10:08:23.19 Ge4DIzuq0.net
無駄にVBA使われてると「これ作った人承認欲求強いんかな」って思うわ
臨機応変に使い分けできる方がいい
31:デフォルトの名無しさん
19/06/28 12:12:11.20 8ZSyBqDMa.net
基本ワークシート使って無理なものはVBAかな
そもそもワークシート使わないならVBAも使わないな
32:デフォルトの名無しさん
19/06/28 13:05:33.48 Ug9PnKsO0.net
式が長くなったり作業列がいくつも必要になるような処理はVBAだわ
深いネストとか配列数式とか使うのもいいけど、ワークシート関数だけにこだわると、見通しや保守性が悪くなることもあるし
地味に厄介なのが条件付き書式
これも他人が作ったのを保守すると地獄を見ることになる
33:デフォルトの名無しさん
19/06/28 13:39:24.53 lRyPlVqwM.net
保守性で考えると名前の定義が割と曲者
大抵ぶっ壊れてる
34:デフォルトの名無しさん
19/06/28 17:29:45.12 IiKC1YBqM.net
>>33
範囲名のこと?
35:デフォルトの名無しさん
19/06/28 19:13:18.48 7K6czL1cM.net
>>32
> 地味に厄介なのが条件付き書式
> これも他人が作ったのを保守すると地獄を見ることになる
頑張ってA1:A10に設定したのに次に見たらA1:A3,A4,A5:A7,A8:A9,A10に分割されてたり
マージしろとまでは言わないけど設定した奴を崩すなよ…
36:デフォルトの名無しさん
19/06/28 19:24:19.77 8sFMCkEs0.net
コピーペーストすると範囲がぶっ壊れるんだ
37:デフォルトの名無しさん
19/06/28 19:30:02.78 iRyUn2/nM.net
条件付き書式が壊れるのは仕様らしいぞ
よって改善される見込みも薄い
38:デフォルトの名無しさん
19/06/28 20:30:33.91 E4Gg/kBRd.net
VBAで設定するの追加しとけばOK
39:デフォルトの名無しさん
19/06/28 22:15:25.94 x+6aVDsg0.net
関数と条件付き書式は被害者。
これ自体は何も悪くないのに、知らないうちに壊すアホのせいで、
糞みたいに思われてる。
40:デフォルトの名無しさん
19/06/28 22:55:25.47 3rVPyv1n0.net
それは仕組みが悪い
人のせいにしてはいかんずら
41:デフォルトの名無しさん
19/06/29 00:26:23.28 n02ql8lh0.net
ちょっとニッチな質問失礼します。
バーコードによる品物管理のvbaの検討中です。
バーコードをスキャンした際に、数字に交じって、
グループセパレータ(GS) Asciiコード(0x1d)が出力されるタイプのバーコードを
スキャンした際、文字として存在しない、Ascii 0x1dが入力されたことを検知する術は
何かあるでしょうか。
スキャンしたデータは例えば、0000(0x1d)1234という形でスキャナから飛んできてるはずなのですが、
エクセル上の表記は、当然ながら00001234となってしまいます。
飛んでくる文字のasciiコードを逐一キャッチできれば、0x1dを検知できるかと思うのですが、
vbaでそんなこと可能でしょうか。
42:デフォルトの名無しさん
19/06/29 00:30:19.89 +e4iLYRh0.net
>>41
方法は読み取り機ごとに違う
機種によって可能だったり困難だった不可能だったりする
詳細はメーカーに問い合わせるしかない
43:デフォルトの名無しさん
19/06/29 00:48:05.66 N8jtlPKB0.net
>>41
どういう形でスキャン結果が来るのか知らんけど、文字列であれば
chr系の関数で一文字ごとに判定してみれば
44:デフォルトの名無しさん
19/06/29 01:05:03.58 ZIaZJNy10.net
>ちょっとニッチな質問失礼します。
ここの用途不明の質問に比べたら、
バーコードなんて超普通。
45:デフォルトの名無しさん
19/06/29 06:38:14.13 e27Fxp8l0.net
>>41
検知するだけだったら
0< InStr(s, ちゃー(&H1d))
ではダメなの?
46:デフォルトの名無しさん
19/06/29 06:44:07.39 e27Fxp8l0.net
Chr が投稿出来ないのか
47:デフォルトの名無しさん
19/06/29 07:42:08.89 63PqHEX+0.net
バーコードリーダーを買い換える
二千円くらいであるでしょ
48:デフォルトの名無しさん
19/06/29 08:02:50.58 pdRWGZY40.net
おれはUSB-COMでの読取りに挑戦してるけど
なかなかうまくいかないわ
49:デフォルトの名無しさん
19/06/29 08:41:34.78 ar/F9wgf0.net
スマホアプリ使ってるな
COGNEXのSCANNERってやつ
>>41
2つに分けたほうが良いと思う
・バーコードスキャン、文字をセルに入力
・入力したセルに対してvbaでfindか何かで検知。changeイベントになると思う
50:デフォルトの名無しさん
19/06/29 09:25:17.71 xZ6rSaRmM.net
>>41
隣のセルで数値変換するか
そのセルの形式を数値にするではだめ?
51:デフォルトの名無しさん
19/06/29 12:25:05.67 /qzOxQgj0.net
>>49
> 2つに分けたほうが良いと思う
それなんの意味があるんだ?
52:デフォルトの名無しさん
19/06/29 12:33:19.42 18j8PEbp0.net
>>30
拡張子が.xlsmだったからどんなコードが書かれてるのかと
エディタ開いて見てみたらModule1, Module2, Module3と並んでて
全部、なんもコード書かれてなく、各SheetやWorkbookにも全くコードが書かれてなかったわ
53:デフォルトの名無しさん
19/06/29 12:40:20.18 ar/F9wgf0.net
>>51
入力中の文字を触るのはIMEやらオートコンプリートやらと競合して、あまり良くない
セルの内容を確定させてから、改めて触ったほうが良い
54:デフォルトの名無しさん
19/06/29 13:46:07.80 5z81DYWR0.net
ここ数週間、入門本とかサイトとか見ながら勉強して、
渾身のコードができたんだけど、誰か批評してくれるかい??
脱初級者になったか見て、アドバイス欲しいんだけど…
55:デフォルトの名無しさん
19/06/29 14:03:17.76 18j8PEbp0.net
>>54
半年間そのコードを見ずに放置してから
もう一度そのコードを見てみて何やってるのか
サクッと分かれば脱初級者
56:デフォルトの名無しさん
19/06/29 14:03:52.75 ar/F9wgf0.net
>>54
暇だし上げれば見てやるぞ
57:デフォルトの名無しさん
19/06/29 14:11:28.01 5z81DYWR0.net
>>55
なるほど。。。
>>56
ありがとうございます。
ちょっと長すぎて書き込みエラーになりました
分割して貼ります
58:デフォルトの名無しさん
19/06/29 14:12:40.80 5z81DYWR0.net
お願いします・・・
Option Explicit
Sub 明細書作成()
Dim wsMeisai As Worksheet
Set wsMeisai = worksheets("明細書")
Dim wsData As Worksheet
Set wsData = worksheets("データ")
Dim wsSettei As Worksheet
Set wsSettei = worksheets("設定")
'明細書シートの表の基点
Dim meisaiKiten As Range
Set meisaiKiten = wsMeisai.Range("o8")
'データシートの票の基点
Dim dataKiten As Range
Set dataKiten = wsData.Range("A5")
'設定シートの組合員リストの基点
Dim listKiten As Range
Set listKiten = wsSettei.Range("A3")
59:デフォルトの名無しさん
19/06/29 14:13:34.08 5z81DYWR0.net
'########### 転記 ###########
'明細シートの組合員を定義(オブジェクトじゃないので注意)
Dim kumiaiin As String
kumiaiin = wsMeisai.Cells(7, 3)
'------- 設定シートの組合員リストから検索して正式名を転記 ------
' 検索回数定義
Dim a As Long
For a = 0 To 14
If wsSettei.Cells(listKiten.Row + a, 1) = kumiaiin Then
'ヒットしたものを転記
meisaiKiten.Offset(-4, 0).Value = listKiten.Offset(0 + a, 1).Value & " 御中"
End If
Next a
'------- 請求月の転記 ------
meisaiKiten.Offset(-2, 5).Value = wsMeisai.Cells(15, 3)
60:デフォルトの名無しさん
19/06/29 14:14:27.70 5z81DYWR0.net
'########### 昇順ソート ###########
'データシートの票をソート(アクティブにしないとエラー)
wsData.Activate
wsData.Range(dataKiten, Cells(dataKiten.CurrentRegion.Rows.Count + 1, 6)).Sort _
key1:=dataKiten, _
order1:=xlAscending
wsMeisai.Activate
61:デフォルトの名無しさん
19/06/29 14:15:48.93 5z81DYWR0.net
'############ 検索 #############
'明細書の票をクリア
wsMeisai.Range(meisaiKiten, meisaiKiten.Offset(30, 5)).ClearContents
'明細書の票の行数定義
Dim meisaiRow As Long
meisaiRow = 0
'検索回数を定義
Dim i As Long
For i = 0 To dataKiten.CurrentRegion.Rows.Count - 2
'--------日付での検索--------
Dim firstDate As Date
Dim lastDate As Date
firstDate = wsMeisai.Cells(13, 3)
lastDate = wsMeisai.Cells(15, 3)
If wsData.Cells(dataKiten.Row + i, 1) >= firstDate And wsData.Cells(dataKiten.Row + i, 1) <= lastDate Then
62:デフォルトの名無しさん
19/06/29 14:16:14.86 5z81DYWR0.net
'---------組合員名で検索---------
If wsData.Cells(dataKiten.Row + i, dataKiten.Column + 4) = kumiaiin Then
'ヒットしたものを転記
meisaiKiten.Offset(meisaiRow, 0).Value = Month(dataKiten.Offset(0 + i, 0).Value)
meisaiKiten.Offset(meisaiRow, 1).Value = Day(dataKiten.Offset(0 + i, 0).Value)
meisaiKiten.Offset(meisaiRow, 2).Value = dataKiten.Offset(0 + i, 1).Value
meisaiKiten.Offset(meisaiRow, 3).Value = dataKiten.Offset(0 + i, 2).Value
meisaiKiten.Offset(meisaiRow, 4).Value = dataKiten.Offset(0 + i, 3).Value
meisaiKiten.Offset(meisaiRow, 5).Value = dataKiten.Offset(0 + i, 5).Value
meisaiRow = meisaiRow + 1
End If
End If
Next i
End Sub
63:デフォルトの名無しさん
19/06/29 14:18:49.64 5z81DYWR0.net
すみません。
ちょっと長いんですが、よろしくお願いします!
なんか2chに貼るとインデントが消えました...
64:デフォルトの名無しさん
19/06/29 14:24:50.65 /qzOxQgj0.net
>>53
セルに入れてわざわざイベントでやるというのが意味不明
VBAでやるなら普通に変数に入れればいいだけだろ
65:デフォルトの名無しさん
19/06/29 14:44:03.18 ar/F9wgf0.net
>>63
・無駄な改行が多すぎる
・この長さならfunction分けたほうが良いかも知れない。まぁvbaならどっちでもいいけどな
URLリンク(i.imgur.com)
>>64
それが出来ればそれでokだけど、
スキャンした文字列をvbaで受ける方法が良く分からない
66:デフォルトの名無しさん
19/06/29 14:44:48.19 ar/F9wgf0.net
>>63
一応だけど、コードはこのままだと動かないぞ
こういう感じで書くと見やすくなるってだけ
67:デフォルトの名無しさん
19/06/29 15:02:51.58 /qzOxQgj0.net
>>65
> スキャンした文字列をvbaで受ける方法が良く分からない
⇒ >>42
68:デフォルトの名無しさん
19/06/29 15:05:49.45 ar/F9wgf0.net
>>67
だろ、だからその方法は回答できない
69:デフォルトの名無しさん
19/06/29 15:11:19.63 5z81DYWR0.net
>>65
ありがとうございます!
なんか見やすいです。
ちょっと自分のをいじくってみます!
70:デフォルトの名無しさん
19/06/29 15:41:41.08 /qzOxQgj0.net
>>68
回答もできないのに
> 入力中の文字を触るのはIMEやらオートコンプリートやらと競合して、あまり良くない
とか言ってたのかよw
71:デフォルトの名無しさん
19/06/29 16:13:20.28 N8jtlPKB0.net
組み込みのソート機能ってアクティブにしないとエラーになるのか…
知らんかった
72:デフォルトの名無しさん
19/06/29 16:44:47.42 ZIaZJNy10.net
>>66
だよな。
プロシージャ内で宣言したものを、
プロシージャ外で使う方法があるのかと思って、ビックリしたわ。
73:デフォルトの名無しさん
19/06/29 16:52:28.77 5z81DYWR0.net
ということは、dimしてる行を全部外に出せば良いのですかね?
今いじくっているんですが、俺のレベルでいじくると、動かなくなりそうでコワイ...
74:デフォルトの名無しさん
19/06/29 17:03:34.38 ar/F9wgf0.net
>>70
そんなに面白いの?
>>73
まぁメインはできるだけシンプルにして、各ルーチンを外に出せば、
この先処理が増えてもメンテが楽って事
今から書き直すのは大変だからやらないほうが良い。そこに意味はあまり無い
75:デフォルトの名無しさん
19/06/29 17:06:01.70 ZIaZJNy10.net
>>73
いや、全部じゃなく、複数のプロシージャで使うものだけね。
あと、「脱初心者」ってことなら、1セルずつ処理するのではなく、
配列に入れてからの方がいい。
あとは、ループで探すんじゃなくて、
アドバンスドフィルタで一気に取り出して、後から書式を加工するとか。
76:デフォルトの名無しさん
19/06/29 17:07:58.76 ZIaZJNy10.net
↑理由を書いてなかった。
1セルずつだと、件数が多くなってきた時に遅いから。
77:デフォルトの名無しさん
19/06/29 17:19:17.27 gH+06y00M.net
>>74
> そんなに面白いの?
知ったかをバカにしてるだけ
あと今時グローバル変数を勧めるなよ…
78:デフォルトの名無しさん
19/06/29 17:26:34.94 5z81DYWR0.net
>>74
わかりました。別のを作るときの課題にします!
>>75
1、あと、「脱初心者」ってことなら、1セルずつ処理するのではなく、
配列に入れてからの方がいい。
2、あとは、ループで探すんじゃなくて、
アドバンスドフィルタで一気に取り出して、後から書式を加工するとか。
この2点、今の俺には知識がなく、どんな処理になるのかイメージがわかないので、ちょっと勉強します!
お二方、アドバイスありがとうございました!
プログラミング、スゲーおもろいです。
79:デフォルトの名無しさん
19/06/29 17:54:48.66 Xi6piOZFd.net
これからプログラムを勉強する人への最大のアドバイスはVBAなんか辞めとけ
80:デフォルトの名無しさん
19/06/29 18:05:49.76 18j8PEbp0.net
>>78
1は>>76にもあるが処理速度の問題
状況によってはとてつもなく遅くなる
81:デフォルトの名無しさん
19/06/29 18:09:20.82 kjDvto4M0.net
>>65
一般的に多いキーボ-ドインターフェースの場合、スキャンしたものを取り込むのは難しいぞ。
多分、ここにいる人達じゃ無理だと思う。
キーボ-ドフックのコードが書けるかどうかだね。
シリアルの場合は簡単だけど。
セル内の文字列に1Dが含まれている可能性が高いからスキャンした文字を受ける必要は無いと思う。
それに面倒なキ-ボードフックのコードを書く前にセル内の文字列に含まれているかを確認する方が先だ。
82:デフォルトの名無しさん
19/06/29 18:13:35.79 ar/F9wgf0.net
キーボ-ド
キ-ボード
何故
83:デフォルトの名無しさん
19/06/29 19:09:07.06 /qzOxQgj0.net
キーボードフック知ってる俺すげー君登場ww
84:デフォルトの名無しさん
19/06/29 19:41:33.03 ar/F9wgf0.net
>>83
普通の知識だよ
グローバルフックって言う方が通りが良い気はするけど
85:デフォルトの名無しさん
19/06/29 19:43:24.23 e27Fxp8l0.net
キーボードI/Fと同じと見なせるって前提なの?
86:デフォルトの名無しさん
19/06/29 19:46:43.38 ar/F9wgf0.net
>>85
それが分かっていないから答えようがない
87:デフォルトの名無しさん
19/06/29 20:26:23.63 /qzOxQgj0.net
>>84
>>81によると
> 多分、ここにいる人達じゃ無理だと思う。
らしいよww
まさかと思うけど揶揄してることはわかってるよね?
88:デフォルトの名無しさん
19/06/29 20:51:15.86 ar/F9wgf0.net
>>87
どうでもいいかな
回答もできない無能に自覚してほしいだけで
89:デフォルトの名無しさん
19/06/29 21:25:03.11 vxyvFN0Jd.net
キーボードをフックしていいのは昭和時代まで
Windowsではイベントハンドラを作るんだよ
90:デフォルトの名無しさん
19/06/29 21:36:58.96 MS4qvDfW0.net
>>58
このコードはシートに書いてるのかモジュールに書いてるのかどっち?
91:デフォルトの名無しさん
19/06/29 21:54:17.62 N8jtlPKB0.net
なぜ突然キーボードフックが出てくるんだ…
まさかバーコードスキャナーが出力ををVKほにゃららで送ってくるのか?
そんな変態デバイスあんの?
92:デフォルトの名無しさん
19/06/29 21:58:47.78 /qzOxQgj0.net
> 回答もできない無能に自覚してほしいだけで
昭和脳の渾身の回答w
・グローバル変数
・グローバルフック
マジで邪魔でしかないな
93:デフォルトの名無しさん
19/06/29 22:02:35.51 ar/F9wgf0.net
>>92
煽るならもうちょっと真面目にやってくれ、他人のレスの寄せ集めじゃないか
全然ダメージないぞ、画面の向こうの相手を殺す気でやれ
94:デフォルトの名無しさん
19/06/29 22:14:26.77 ZIaZJNy10.net
>マジで邪魔でしかないな
お前が言うな。
qzOxQgj0で検索したら、役に立つ情報1つも書いてないじゃないか。
そういうのを邪魔というんじゃないか?
95:デフォルトの名無しさん
19/06/29 22:16:55.30 kjDvto4M0.net
スキャンした文字列をVBAで受けるのが分からないと書いてたから、それは難しいぞと返しただけなんだが。
難しいのさえ知らなかった人達が多いんだからな。
そりゃ、ここじゃ無理だろ。
だからまず問題のスキャナから入力されたセルの値に1Dが入ってるかをまず確認してほしいんだがね。
96:デフォルトの名無しさん
19/06/29 22:20:10.77 kjDvto4M0.net
>>91
バーコードスキャナは全然違うものを送って来るよな。
キーボードの仕組みを知っている人は少ない。
VBA関係なく世間一般にプログラマーと呼ばれる人達においても。
メイクコード、ブレイクコードとかコマンドとかね。
97:デフォルトの名無しさん
19/06/29 22:40:36.99 /qzOxQgj0.net
>>93
> 全然ダメージないぞ、画面の向こうの相手を殺す気でやれ
自覚がないとか最悪だな
まあ自覚あったら回線切って二度と出てこれないわな
>>94
> qzOxQgj0で検索したら、役に立つ情報1つも書いてないじゃないか。
害悪な情報ドヤるよりマシだろw
まさかグローバル変数を勧めるのが役立つ情報とか言わないよな?
98:デフォルトの名無しさん
19/06/29 22:44:45.88 kjDvto4M0.net
>>97
お前は自分が誰に向かって話してるのかも分からんのか?
滑稽だなあ。
99:デフォルトの名無しさん
19/06/29 23:08:30.19 /qzOxQgj0.net
キーボードフック知ってる俺すげー君乙w
100:デフォルトの名無しさん
19/06/29 23:10:28.18 fsuk4DhmM.net
>ID:/qzOxQgj0
なんでそんなに必死なの?
101:デフォルトの名無しさん
19/06/29 23:16:47.41 BltrkNQAa.net
みなさん知識マウント楽しそうで何よりです^_^
102:デフォルトの名無しさん
19/06/30 00:26:31.94 n0xlNYZz0.net
ケチつけ連投するしか能がない真正バカ小原のことはほっときなさい
103:デフォルトの名無しさん
19/06/30 01:02:24.89 V9f3dG8f0.net
>>97
誰もグローバル変数なんか勧めてないが。
104:デフォルトの名無しさん
19/06/30 01:54:36.89 C4oDmko00.net
>>103
入門本とか見てるやつに>>65みたいなコード示したらグローバル変数勧めてるようなもんだろ
事実>>73はそうしろと言われてると思ってるし
105:デフォルトの名無しさん
19/06/30 06:26:13.81 cq9JZECt0.net
>>104
ExcelVBAはworkbookを中心にスクリプトを組むので、
実はグローバル変数のデメリットがあまりない
開発が1人なら尚更
1000行ぐらいのコードなら、さっさとグロ-バルでもなんでも使ってスクリプトを組んだ方が良い
106:デフォルトの名無しさん
19/06/30 06:48:56.62 u2RU81MRd.net
このスレに、あきらかにプログラミング経験のかなり乏しいやつが紛れ込んでるな
キーボード操作に熟達してれば、普通はマイナスと長音を間違えたり混在させたりしない
107:デフォルトの名無しさん
19/06/30 07:44:09.12 tWAcAnUK0.net
>>106
「質問スレ」だからかと。
108:デフォルトの名無しさん
19/06/30 07:58:09.00 C4oDmko00.net
>>105
ガチの基地外かよ…
109:デフォルトの名無しさん
19/06/30 08:00:39.13 cq9JZECt0.net
>>108
他人のレスが無いと何も反論できなくて草
110:デフォルトの名無しさん
19/06/30 08:58:22.39 BCL4JXQnM.net
>>106に指摘されてるのにこれ以上何を言うことがあるんだよ…
質問スレとか関係ないだろ
「グロ-バル」なんてどうやって入力してるんだよww
111:デフォルトの名無しさん
19/06/30 09:07:37.54 cq9JZECt0.net
>>110
誰の事だよって俺の事か
>>81も変なタイプミスしてるなーと思ってたけど、多分今、googleIMEの変換がおかしくなっている
あまり気にするな、俺も気にしない
112:デフォルトの名無しさん
19/06/30 09:37:19.87 VDp+hLNV0.net
なんだ、長音とマイナスってそういう意味か。
くだらねえ。
俺はスマホで手書き入力使ってるんだよ。
VBAと何の関係が有るんだ?
馬鹿馬鹿しい。
113:デフォルトの名無しさん
19/06/30 09:37:37.48 C4oDmko00.net
そういうところに無頓着なのは>>106の言う通りプログラムの経験なさすぎ
そんなレベルで
> 暇だし上げれば見てやるぞ
とか頭おかしい
で、結論が
> ExcelVBAはworkbookを中心にスクリプトを組むので、
> 実はグローバル変数のデメリットがあまりない
とかww
マジでちょっとは自覚した方がいいぞ
114:デフォルトの名無しさん
19/06/30 09:39:38.61 cq9JZECt0.net
>>113
具体的にどう問題があるの?
115:デフォルトの名無しさん
19/06/30 09:40:14.19 cq9JZECt0.net
自分で考える力がないから~♪
他の人が指摘するまで~♪
突っ込む事ができない~♪♪
116:デフォルトの名無しさん
19/06/30 09:42:20.76 VDp+hLNV0.net
>>104
どこをどう見たら>>65がグローバル変数を勧めることになるんだ?
>>73が初心者で理解出来て無いだけじゃねーか。
>>65を見てグローバル変数を勧めてると思うのはよっぽどの初心者だぞ。
引数って知らないか?
117:デフォルトの名無しさん
19/06/30 09:46:09.67 VDp+hLNV0.net
>>113
だから、お前は誰と勘違いしてるんだ?
それに、無頓着とプログラミング全く関係ないがwww
自分のレベルの低さを誤魔化そうとするな。
発言からレベルの低さは滲み出てるから誤魔化そうとしても無駄。
118:デフォルトの名無しさん
19/06/30 09:50:33.52 VDp+hLNV0.net
あと、言っとくがキーボード操作とプログラミングの関係も分かってない。
ギーボード操作が上手くないプログラマーなんていくらでもいるぞ。
119:デフォルトの名無しさん
19/06/30 10:04:37.76 C4oDmko00.net
>>114
ここでグローバル変数の弊害を説明しろと?
マジで言ってるならちょっとググってこいよ…
>>116
だから入門書とか見てる奴に引数もちゃんと書いてないコード示すなよって話な
VBAスレだと引数知らない奴がいても不思議じゃないし
>>117
はいはい、キーボードフック書ける君は凄いよ
これで満足かなw
120:デフォルトの名無しさん
19/06/30 10:06:16.75 C4oDmko00.net
>>118
誰もキーボード操作の話なんてしてないよ
作った文章なりコードに無頓着かどうかの話
そういう違いもわからない時点で…w
121:デフォルトの名無しさん
19/06/30 10:07:18.76 cq9JZECt0.net
>>119
早く誰か助けてくれると良いね
122:デフォルトの名無しさん
19/06/30 10:12:06.59 cq9JZECt0.net
>>116で「引数」という単語が出てからようやく>>119で「引数」使ってて草
幾ら何でも自分に自信なさすぎだろう
123:デフォルトの名無しさん
19/06/30 10:16:09.20 VDp+hLNV0.net
>>120
元々の>>106はキーボード操作の話じゃね―か。
そしてお前は>>106の言う通りと書いてる。
お子様かよ。
124:デフォルトの名無しさん
19/06/30 10:17:02.68 VDp+hLNV0.net
>>122
というか、俺に言われて調べ始めたに一票www
125:デフォルトの名無しさん
19/06/30 10:42:16.40 C4oDmko00.net
>>122
あのさあ、グローバル変数ガーって指摘してたら引数で渡してない事を言ってることぐらいはわかるだろ…
そんなところまでいちいち指摘するしかない所まで追い詰められてるのか?w
126:デフォルトの名無しさん
19/06/30 10:45:54.68 cq9JZECt0.net
>>125
新しい単語増えなくて草
127:デフォルトの名無しさん
19/06/30 10:47:01.98 C4oDmko00.net
>>123
> そしてお前は>>106の言う通りと書いてる。
ああすまん
> 誰もキーボード操作の話なんてしてないよ
これは間違いだな
ただ「>>106の言う通り」は「あきらかにプログラミング経験のかなり乏しいやつ」のことな
128:デフォルトの名無しさん
19/06/30 10:48:05.76 cq9JZECt0.net
>>127
やっぱり人の使った文章しか使えなくて草
129:デフォルトの名無しさん
19/06/30 10:48:32.85 C4oDmko00.net
>>126
増やす必要あるの?w
130:デフォルトの名無しさん
19/06/30 10:50:26.49 C4oDmko00.net
>>128
で?
人の使った文章かどうかに関わらずグローバル変数を勧めるのが害悪なことには変わりないだろ
まあもう引っ込みつかなくなって話そらそうと必死なのはわかるけどさww
131:デフォルトの名無しさん
19/06/30 10:51:14.71 cq9JZECt0.net
>>129
話題を広げられない、人の引用しか出来ない
これでは君が発言する必要が無いね
個人的には生きてる価値もないと思う
132:デフォルトの名無しさん
19/06/30 10:55:57.45 VDp+hLNV0.net
>>130
そもそも>>125が嘘だろ。
>>116で初めて知ったのにwww
133:デフォルトの名無しさん
19/06/30 11:01:19.47 VDp+hLNV0.net
>>127
>>117に書いた通り。
無頓着とプログラミングも全く関係ないわけだが。
反論するなら>>117についての反論も言わないと全く意味がないわけだが。
134:デフォルトの名無しさん
19/06/30 11:06:21.97 tuHSj4I20.net
VBAはエクセル専用用途だから意味があるんじゃないの?
エクセル以外なら他言語推奨
135:デフォルトの名無しさん
19/06/30 11:23:27.08 e1gn7el30.net
WordとかAccessとかPowerPointとか他のMicrosoft製品にもある(実際Wordで使ってる)
136:デフォルトの名無しさん
19/06/30 11:29:28.98 C4oDmko00.net
>>132
引数わかってないのにグローバル変数云々が言えるとでも思ってるのかよ…
どういう理論なんだよw
>>133
はいはい、そうだね
別にそこは議論の主眼じゃないから君の言う通りでいいよ
137:デフォルトの名無しさん
19/06/30 11:30:23.41 C4oDmko00.net
>>131
> 話題を広げられない、人の引用しか出来ない
> これでは君が発言する必要が無いね
> 個人的には生きてる価値もないと思う
ブーメランすぎるww
138:デフォルトの名無しさん
19/06/30 11:32:08.40 C4oDmko00.net
>>135
Outlookにもあるよ、使ってるし
Accessはそれ自体をあまり使わないからVBAも使ったことないな
139:デフォルトの名無しさん
19/06/30 11:33:36.95 /mKHwNLn0.net
業務にも依るんだろうけど、Excelについで使うのはAccessだな
パワポでも使えるのは知らんかった
140:デフォルトの名無しさん
19/06/30 11:33:50.38 AnNEp6C40.net
ca01をNGに突っ込んだら
当面このガイジは見えなくなるよ
141:デフォルトの名無しさん
19/06/30 11:43:50.56 e1gn7el30.net
>>138-139
挙げるとキリが無いから省いたが、ほとんどのMicrosoft Office製品に入ってると思っていい
(PublisherとかProjectとかVisioとかそういうの)
ちなみにWordで組んだのは文脈から漢数字だけを判別して半角英数字に置換したり段落書式を設定したりアウトラインとかインデントを付けたりとかそういうの
話が脱線するのでこの辺で
142:デフォルトの名無しさん
19/06/30 12:03:52.32 C4oDmko00.net
>>140
一人でNGしとけばいいのにいちいち報告とかw
143:デフォルトの名無しさん
19/06/30 12:22:24.26 gq8hO7PC0.net
俺、初心者だけど、C4oDmko00が劣勢なのはすごい分かる
イチャモン付けてケンカ吹っかけたけど、
相手が強すぎて、返り討ちにあって逃げてるチンピラみたい
かわいそう。。。
144:デフォルトの名無しさん
19/06/30 12:57:47.77 EXtY/AkpM.net
>>143
> 俺、初心者だけど、C4oDmko00が劣勢なのはすごい分かる
どこを見てどういう理由でそう思ったのかな?
具体的に書いてみ
145:デフォルトの名無しさん
19/06/30 13:13:15.44 5t+h7ySdx.net
今北産業
146:デフォルトの名無しさん
19/06/30 13:26:23.09 VDp+hLNV0.net
>>136
???
またおかしなこと言い出したぞwww
引数取らないプロシージャ並べて呼び出す時にグローバル変数で連携しようとするのを批判してるんだろ。
引数知らなくても批判出来るし、知ってたら一番先に引数について言及する筈なんだけどwww
147:デフォルトの名無しさん
19/06/30 13:27:55.31 VDp+hLNV0.net
>>143
ID変えてご苦労様。
このスレでよく見かけるからバレバレ。
ついでに口調もそっくりwww
148:デフォルトの名無しさん
19/06/30 13:30:15.60 VDp+hLNV0.net
あれ、ca01とか書いてたから勘違いしたぞ。
149:デフォルトの名無しさん
19/06/30 13:46:54.84 5t+h7ySdx.net
グローバル変数を批判する奴ってセル値でのステータス値管理も批判するのかな
危険性はあまり変わらないんだけど
150:デフォルトの名無しさん
19/06/30 13:47:27.79 Dis52az6M.net
>>145
以下をNGにしとけばOK。
ワッチョイ ca01-BSeC
ワッチョイ fe68-bYGp
ワッチョイ a991-afcP
151:デフォルトの名無しさん
19/06/30 13:52:45.81 e1gn7el30.net
>>145
>>65でID:ar/F9wgf0がプロシージャを分けると見やすいと例示した動かないコード
それを見たID:C4oDmko00がなぜかグローバル変数の使用を推奨していると勘違い
グローバル変数以外にも引数で渡すこともできるし、もっと他の方法もあるのになぜか「お前グローバル変数推奨したやろ」の一本槍で糾弾
ちなみに>>65をぱっと見ただけで俺が思いついたのは:
・モジュールレベル定数(Private Const)を使う。
・モジュールレベル変数(Private)を使う。
・必要な変数のみを引数としてプロシージャに渡す。
・自作クラスを作る。
スキルが低い俺でもこんだけ色々な選択肢があるなーと思うわけだが、どれを選択するかは書く人の自由で、
「これをどう動かすかは自分で考えろ」というだけのことだろう。
余談だが、俺はグローバル変数=パブリック変数(Publicステートメントで宣言する変数)だと思ってた。
152:デフォルトの名無しさん
19/06/30 14:12:21.85 C4oDmko00.net
>>146
引数知らない奴がどう批判するんだろう…
どんどん意味不明になってるぞw
>>147
必死すぎ、顔真っ赤だろ
ちょっと落ち着けば自分がどんだけアホなこと言ってるかわかるだろうけど…
153:デフォルトの名無しさん
19/06/30 14:14:35.59 /mKHwNLn0.net
正直VBAでするお仕事の規模でグローバル変数とか気にしてもしょうがないぞ
154:デフォルトの名無しさん
19/06/30 14:15:03.88 C4oDmko00.net
>>149
ステータス管理の内容によるだろ
その状態を次回まで引継ぐとかならセルでやるしそうでないなら変数でいいと思う
セルは通常のプログラムで言うストレージに近い
155:デフォルトの名無しさん
19/06/30 14:16:35.06 gq8hO7PC0.net
俺がここ(>>65)で教えてもらったのは、色々な書き方があるって事で、絶対こう書けってことは言われてないぜ。
俺が脱初級者になる為の一つのヒントをもらっただけで、俺の技量が上がれば、何が最適か自分で判断するよ。
凄腕の人が、ヒントやキーワードを無料で教えてくれてるだけで、ホント感謝だわ。
156:デフォルトの名無しさん
19/06/30 14:19:10.48 C4oDmko00.net
>>151
スコープの話にしようとしてる?
まあどんな方法を取るかはプログラマー次第だけど、今時グローバル変数/モジュール変数はなぁっていうだけの話
あと自作クラスを作るのはいいけどそのインスタンスはどうやって持つつもり?
157:デフォルトの名無しさん
19/06/30 14:39:05.01 y5K6zYFc0.net
>>156
流れと関係ないけど、「グローバル変数を使うのはやめてクラス化しましょう」
みたいな意味不明な主張はわりと見る。
158:デフォルトの名無しさん
19/06/30 14:41:17.22 y5K6zYFc0.net
>>149
・そのステータスがUIの一部でもある
・プログラムが終了しても値をセーブしておきたい
場合なら許容できるかな
159:デフォルトの名無しさん
19/06/30 14:47:59.50 vn2320T90.net
あとからメンテさせられた時大変なのでVBAかどうかではなく構成によって使い方を考慮してもらえるとありがたいです
160:デフォルトの名無しさん
19/06/30 14:50:22.38 C4oDmko00.net
>>157
あれなんなんだろうね
なんか異様なクラス信仰でもあるんだろうかw
161:デフォルトの名無しさん
19/06/30 14:55:17.57 VDp+hLNV0.net
>>152
何故引数を知らないと批判出来ないんだ?
バカ過ぎだろ。
お前のような初心者はプロシージャを分けるという発想が無い。
引数を知らないからプロシージャを分けたら連携するためにはグローバル変数を使うしか無いと思ってたんだろ。
バレバレだ。
162:デフォルトの名無しさん
19/06/30 14:56:21.14 VDp+hLNV0.net
>>156
その批判もピント外れ。
163:今時とか関係ないからwww
164:デフォルトの名無しさん
19/06/30 15:00:07.08 VDp+hLNV0.net
>>156
「今時なあ」は君の意見じゃないのか。
何か、最初の勘違いから変に君とおかしな奴のIDを間違えるようになっちまった。
165:デフォルトの名無しさん
19/06/30 15:01:36.30 VDp+hLNV0.net
マジでIDが分からなくなってるな。
166:デフォルトの名無しさん
19/06/30 15:27:25.40 C4oDmko00.net
必死の連投w
ちょっと頭冷やせばいいのに…
167:デフォルトの名無しさん
19/06/30 15:29:48.78 VDp+hLNV0.net
どっちにしても引数知らなくてもグローバル変数批判は出来るし、実際批判したじゃないか。
168:デフォルトの名無しさん
19/06/30 16:01:59.12 C4oDmko00.net
マジで言ってるのか…
>>73
> ということは、dimしてる行を全部外に出せば良いのですかね?
これはグローバル変数を使うことを示唆してる
それに対して>>74が何も言ってないから指摘したの、わかる?
ちなみにいま読み返したら
>>75
> いや、全部じゃなく、複数のプロシージャで使うものだけね。
と、もっと直接的に言ってるアホがいたわ
しかもそいつは
>>103
> 誰もグローバル変数なんか勧めてないが。
とか言ってるしww
169:デフォルトの名無しさん
19/06/30 16:30:49.40 Pna16KLyx.net
>>150
>>151
サンガツ
よく状況が分かったよ
他人を馬鹿にしたいだけ人っているよね
初心者から抜け出せないタイプだと思うわ
170:デフォルトの名無しさん
19/06/30 16:32:22.11 C4oDmko00.net
> 他人を馬鹿にしたいだけ人っているよね
> 初心者から抜け出せないタイプだと思うわ
ブーメラン乙w
171:デフォルトの名無しさん
19/06/30 16:37:19.69 Pna16KLyx.net
ちなみにグローバル変数絶対反対っていう風潮って古いよね
ローカル変数を多用した状態管理って保守運用のフェーズでは多重階層化の弊害を招きかねないから変数スコープの制限はケースバイケースでしょ
172:デフォルトの名無しさん
19/06/30 16:40:56.82 Pna16KLyx.net
>>169
どこがブーメランなんだ?
俺は他人を馬鹿にしたい "だけ" の人間ではないし、初心者でもないんだが
馬鹿を馬鹿にするのは楽しいけどな
173:デフォルトの名無しさん
19/06/30 16:53:27.63 VDp+hLNV0.net
>>167
だからそれは引数を知らなくても出来るし、実際知らなかったろ。
引数を知っていた筈という話には全く繋がっていない。
174:デフォルトの名無しさん
19/06/30 17:37:14.13 C4oDmko00.net
「自称」非初心者がなぜか
> ローカル変数を多用した状態管理
とか頓珍漢な事を言い出したぞw
なぜわざわざ墓穴を掘りに来るんだ…
175:デフォルトの名無しさん
19/06/30 17:44:20.92 C4oDmko00.net
>>172
まだ言ってるのかよ…
お前がどう思おうと客観的な根拠もないことを何度繰り返しても真実にはならんよ
真実は
・>>65を見た>>73がグローバル変数で情報の受け渡しをすると思った
だけな
176:デフォルトの名無しさん
19/06/30 18:31:31.13 gq8hO7PC0.net
>>65で教えてもらっただけで、そんなこと全く思ってないけど??
勝手に何言ってんだ??
177:デフォルトの名無しさん
19/06/30 18:41:44.46 /mKHwNLn0.net
喧嘩のダシにしたいだけだからほっとけ
178:デフォルトの名無しさん
19/06/30 18:47:19.24 C4oDmko00.net
>>175
お前が誰かは知らんけど
>>73は
> ということは、dimしてる行を全部外に出せば良いのですかね?
って書いてるからな
179:デフォルトの名無しさん
19/06/30 18:52:36.45 V9f3dG8f0.net
>>104
全部出していいかと聞かれたから、全部は出すなと言っただけだろうが。
それのどこが推奨してることになるんだ?
もし推奨するなら、全部出せって言うわ。
180:デフォルトの名無しさん
19/06/30 18:54:13.05 gq8hO7PC0.net
それは俺なんだわ
ただ
・>>65を見た>>73がグローバル変数で情報の受け渡しをすると思った
これは全然違う
おまえ、ここで親切に教えてくれてる人に不快な思いをさせるなよ
181:デフォルトの名無しさん
19/06/30 18:57:02.48 gq8hO7PC0.net
>>179 = >>73 な
182:デフォルトの名無しさん
19/06/30 19:04:25.26 cq9JZECt0.net
飲みに行って帰って来たらまだやってて笑ったw
>>177
一日中不毛な言い争いしてて受けるw
生きてる意味ねーw
183:デフォルトの名無しさん
19/06/30 19:13:52.15 iNixG7Sv0.net
このキッズは全方位敵なん?
184:デフォルトの名無しさん
19/06/30 19:14:25.43 C4oDmko00.net
>>178-179
なら
> ということは、dimしてる行を全部外に出せば良いのですかね?
の意味を説明してみ
185:デフォルトの名無しさん
19/06/30 19:16:23.51 gq8hO7PC0.net
>>183
なんで??
186:デフォルトの名無しさん
19/06/30 19:18:46.02 C4oDmko00.net
>>181
> 生きてる意味ねーw
もうそう言う事しか言えないんだな…
187:デフォルトの名無しさん
19/06/30 19:19:59.40 C4oDmko00.net
>>184
ああ、説明できないなら無理に
188:説明しなくてもいいよ
189:デフォルトの名無しさん
19/06/30 19:21:46.32 C4oDmko00.net
>>178
> いや、全部じゃなく、複数のプロシージャで使うものだけね。
なんのためにこんなことが必要なんだろうねw
190:デフォルトの名無しさん
19/06/30 19:23:40.23 gq8hO7PC0.net
>>186
じゃあ言うなよ
191:デフォルトの名無しさん
19/06/30 19:34:27.26 V9f3dG8f0.net
>>185
生きてる意味ないのは本当だろう。
リアル社会でどんだけクズなのか知らんが、
こんなネット掲示板ですら何の役にも立たず、荒らすだけの存在なんて。
192:デフォルトの名無しさん
19/06/30 19:44:36.48 VDp+hLNV0.net
>>187
全然反論になっていない。
グローバル変数を勘違いしようがしまいが、お前が引数を知らないで、プロシージャを分けるとグローバル変数を使用するしか無くなるという頓珍漢な批判したことは変わらない。
193:デフォルトの名無しさん
19/06/30 19:46:49.51 C4oDmko00.net
>>188
ああ、すまん
そこまで困ってるとは思わなかったよww
194:デフォルトの名無しさん
19/06/30 19:47:37.07 C4oDmko00.net
>>189
自己紹介乙w
195:デフォルトの名無しさん
19/06/30 19:51:16.51 C4oDmko00.net
>>190
俺がどう批判したかなんて関係ないよ
>>75が
> 複数のプロシージャで使うものだけね。
って言った事実は消えないってだけ
可能ならその意図を説明して欲しいが、まあ無理でしょ?w
196:デフォルトの名無しさん
19/06/30 19:57:00.90 gq8hO7PC0.net
>>191
なんでお前に説明せなあかんねんって事なんだが、
なにひとりで納得してんの??
気持ちわりー
197:デフォルトの名無しさん
19/06/30 19:58:39.30 V9f3dG8f0.net
>>193
ローカルとグローバルを使い分けるという意味だが。
ローカル教のお前は理解できんだろうが。
198:デフォルトの名無しさん
19/06/30 20:08:38.94 VDp+hLNV0.net
>>193
>>75は全くその通りだが。
何がおかしいんだ?
199:デフォルトの名無しさん
19/06/30 20:10:28.82 VDp+hLNV0.net
>>195
ああ、そういう意味で>>193は批判してたのか。
うん、使い分けるという意味だよなあ。
逆に>>193が何を言ってるのか分からんかったよ。
200:デフォルトの名無しさん
19/06/30 20:10:54.63 C4oDmko00.net
>>195
は?
> 複数のプロシージャで使うものだけね。
なのにローカル?
使い分けるってことはグローバルも使うってことだよね?
まあ>>194みたいな結論になる前に黙ったほうがいいと思うよw
201:デフォルトの名無しさん
19/06/30 20:13:10.39 VDp+hLNV0.net
>>198
えっ、お前ってグローバルは少しも使っちゃいけないって意見だったの?
一体、どこの初心者だよw
202:デフォルトの名無しさん
19/06/30 20:20:42.07 V9f3dG8f0.net
>>198
何でお前はそんなに俺がグローバルを推奨してるってことにしたいんだ?
もう一度言うが、外に出して良いかと聞かれたから、
外に出して使うケースを書いただけだぞ。
203:デフォルトの名無しさん
19/06/30 20:25:27.71 gq8hO7PC0.net
結局これは何だったんだ?
↓
・>>65を見た>>73がグローバル変数で情報の受け渡しをすると思った
こいつは俺の思考を勝手に解釈して、間違って恥かいてたの??
204:デフォルトの名無しさん
19/06/30 20:34:43.47 gq8hO7PC0.net
ID:C4oDmko00 はもう人に迷惑かけるんじゃねーぞ
今流行りの犯罪者になっちゃうぞ
205:デフォルトの名無しさん
19/06/30 20:34:46.48 C4oDmko00.net
>>199
必要なら使う
必要ないなら使わない
せっかく>>65みたいに機能分割したんならグローバル変数なんて必要ないでしょ
って言うだけの話
>>200-201
もうお前らいいからw
206:デフォルトの名無しさん
19/06/30 20:44:31.53 V9f3dG8f0.net
>>203
>もうお前らいいからw
人に聞いておいて、何だその言い草は。
お前マジで人間終わってるよ。生きてて良いレベルじゃない。
207:デフォルトの名無しさん
19/06/30 20:47:56.97 VDp+hLNV0.net
>>203
はい?
何言ってんだ?
機能分割とグローバル変数は関係ないぞ。
アプリ全体で使いたければグローバル変数にするだろ。
プロシージャを何個もまたぐのに、それだけの為に全部引数で渡すのか?
プロシージャに分けるのは汎用化、独立性の為で、その為にグローバル変数じゃなく引数にするということはある。
しかし、アプリ全体を通して使いたいものは、グローバルで問題無いぞ。
208:デフォルトの名無しさん
19/06/30 21:17:09.76 C4oDmko00.net
>>204
> 外に出して使うケースを書いただけだぞ。
だからそれはなんのためにやるんだ?
って聞いてるのにローカルがどうのこう言われてもねぇ…
重ねて言うけど外に出さないケースなんて聞いてないから
209:デフォルトの名無しさん
19/06/30 21:22:26.04 V9f3dG8f0.net
>>206
もういいってお前が言ったんだぞ。
いい加減にしろ。
210:デフォルトの名無しさん
19/06/30 21:24:49.36 V9f3dG8f0.net
俺はもう降りる。
いいか?
間違っても、犯罪起こして、ネットでバカにされたせい、
全部こいつらが悪いとか言うんじゃないぞ。
211:デフォルトの名無しさん
19/06/30 21:26:36.15 C4oDmko00.net
>>205
例えばログ用のインスタンスとかならあるだろうな
でも>>65みたいなケースはちがうでしょ?
具体的に言えば例えばkumiaiinっていう変数は「転記」と「検索」でしか使ってないのにグローバル変数にするの?
って話ね
212:デフォルトの名無しさん
19/06/30 21:28:41.32 C4oDmko00.net
>>207-208
相手して欲しいのかして欲しくないのかどっちだよw
むしろ危ないのはイライラしてるお前じゃね?
213:デフォルトの名無しさん
19/06/30 22:01:39.30 Pna16KLyx.net
ワークブックとかシートとかのExcelオブジェクトでPublic変数を定義する場合と標準モジュールでPublic変数を定義する場合とでは挙動が違うっていう点も大事だと思うんだよな
214:デフォルトの名無しさん
19/06/30 22:22:52.22 cq9JZECt0.net
飲み直したらまだやっててワロタw
その人生楽しいの?w
215:デフォルトの名無しさん
19/06/30 22:24:39.11 cq9JZECt0.net
明日も仕事だしさっさと寝るわw
何の意味もない煽りあい頑張って~
バイバ~イ
216:デフォルトの名無しさん
19/06/30 22:34:33.38 /mKHwNLn0.net
貴重な土日の休みを5chのレスバで消耗するとか悲しすぎるだろ
217:デフォルトの名無しさん
19/06/30 22:36:45.08 C4oDmko00.net
そのまま寝ればいいのに構ってちゃんかよw
218:デフォルトの名無しさん
19/07/01 17:35:52.04 cYPcOUYxM.net
争いは同じレベルのもの同士でんでん
219:デフォルトの名無しさん
19/07/08 12:55:08.17 wM37za2Ap.net
vbaでpdfの入力フォームとかいじる必要がでてきたけどぜんぜんわかんねえ
220:デフォルトの名無しさん
19/07/08 22:30:38.20 IUy7ighP0.net
>>217
AdobeのPDFを編集出来るバージョンを持ってれば、参照設定でいじれるし、
ググれば結構作例が出てくるから難しくはない。
無ければ難しいだろうね。
221:デフォルトの名無しさん
19/07/08 22:33:03.25 K1lNVB+B0.net
Acrobatなしのpdf編集なんて楽勝やろ、と思ったらゲキムズで諦めた
今でも難しいんかね
222:デフォルトの名無しさん
19/07/08 22:37:09.99 IUy7ighP0.net
中身がテキストじゃなくバイナリって時点で、Acrobatなしは諦めたけど、
XFDFだっけ?
ああいうのでも良ければ何とかなるかもしれない。
223:デフォルトの名無しさん
19/07/08 23:33:33.59 UtNHHKkH0.net
>>219
まだ昔の方が比較的簡単だった
今はもう完全に不可能と思った方がいい
224:デフォルトの名無しさん
19/07/09 06:44:08.92 WKH76Tm+0.net
>>221
ありがとう
素直に無理だと言えるわ
225:デフォルトの名無しさん
19/07/09 08:30:06.28 6Bq35cxKM.net
>>221
構造は基本変わってないでしょ?
機能がたくさん付加されてるから完全対応とかはめちゃ大変だけど
226:デフォルトの名無しさん
19/07/09 12:13:15.60 DKfsNX1q0.net
ゼロからPDF形式のファイルを生成するだけなら簡単
下位互換はあるから、昔の簡単なフォーマットで作ればいいだけだから
最新バージョンの編集は、機能が増えすぎてちょっとやそっとじゃ対応できない
PDFの仕様書はネットに転がってるから、あとはやる気次第かなあ
URLリンク(itchyny.haten%61blog.com)
227:デフォルトの名無しさん
19/07/09 19:47:33.40 IlkFvBc6d.net
だからそんなのをVBAでやるなって
エクセルとかオフィス専用なんだろ?
228:デフォルトの名無しさん
19/07/09 22:23:38.13 oeycIJBCM.net
いいなぁ僕もマウントできるくらい、まくろのお勉強しないとなぁ
229:デフォルトの名無しさん
19/07/10 00:05:48.15 2g97+NtOM.net
>>217
単にWordで入力欄のあるPDFを作るのをVBAで補助するだけじゃあ駄目なの?
230:デフォルトの名無しさん
19/07/10 03:46:18.75 /43btnxd0.net
>>227
駄目だから聞いておるのだ
231:デフォルトの名無しさん
19/07/10 04:30:22.12 SDsuvs1Ha.net
>>228
聞いてないじゃん
232:デフォルトの名無しさん
19/07/10 05:04:32.44 /43btnxd0.net
>>229
このハゲー!
233:デフォルトの名無しさん
19/07/10 09:21:12.99 /DhDK/tba.net
初歩的な質問で申し訳ないんだけど、ボタンをクリックしたらテキストボックスの値を参照して、参照した値を表示するプログラムがうまくいかないんだけどどう直したらいいのか教えて欲しい。エラーはこんな感じ
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
234:デフォルトの名無しさん
19/07/10 09:31:54.02 ZjOdLx630.net
標準モジュールに書いてるの?
235:デフォルトの名無しさん
19/07/10 09:33:44.47 ZjOdLx630.net
間違えたユーザーフォームじゃないのか
たしかSheet1のモジュールに書かないと名前を認識しないはず
236:デフォルトの名無しさん
19/07/10 09:38:27.87 /DhDK/tba.net
>>232
標準モジュールに書いてる、というかボタンをつくってVBを編集すると標準モジュールにコードが書かれるんだけどSheet1にボタンのコードを書くってどうやるの?
237:デフォルトの名無しさん
19/07/10 10:10:47.92 2g97+NtOM.net
>>229
まあ作りたいものの要件も定義できないんだろうね
各種バージョンによって仕様のあるPDFをVBAで編集するなんて考えるだけ無駄なのに
238:デフォルトの名無しさん
19/07/10 10:32:27.39 /DhDK/tba.net
>>233の言うとおりにシート1に書いたコードを実行したら動くんだけど、ワークシート上のボタンを押しても反応しないのはなんでなんだ
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
239:デフォルトの名無しさん
19/07/10 10:51:52.96 ZjOdLx630.net
イベントの名前間違えてるよ
240:デフォルトの名無しさん
19/07/10 10:54:31.22 yoXwfxDh0.net
>>236
このシートにあるボタンって標準モジュールのボタン2で書いたコードと同じもの?
241:デフォルトの名無しさん
19/07/10 10:57:37.67 yoXwfxDh0.net
ボタンのプロパティを見てみて
242:デフォルトの名無しさん
19/07/10 10:58:01.30 /DhDK/tba.net
>>237
出来ればどこを間違えてるか教えて欲しい
>>238
同じもの
243:デフォルトの名無しさん
19/07/10 11:04:25.88 ZjOdLx630.net
Private Sub TextBox1_Change() の1行を
Sub ボタン2_Click()
に変えれば動くはず。
244:デフォルトの名無しさん
19/07/10 11:14:52.80 yoXwfxDh0.net
>>240
同じものであれば、>>236と同じエラーが出るってこと
ならば、txt.TextだけどSheets(1).txt.Textでないの
245:デフォルトの名無しさん
19/07/10 11:37:21.93 ZjOdLx630.net
ごめん確認したけどActiveXじゃないフォームコントロールのボタンだと
シートモジュールに書いても無理だったわ。
標準モジュールに以下のとおりやると動く
Sub ボタン1_Click()
MsgBox Worksheets(1).TextBoxes("txt").Text
End Sub
ワークシート1枚なのが前提だから調整してね。
246:デフォルトの名無しさん
19/07/10 11:44:51.66 ZjOdLx630.net
オブジェクト名だけでの直接指定ってシートモジュールでないと通じないし
でもフォームコントロールのイベントは標準モジュールに書かないと動かないっていう
247:デフォルトの名無しさん
19/07/10 11:50:01.32 /DhDK/tba.net
>>239
ボタンのプロパティが表示されない
>>242
>>243
こうなったんだけどなんでだろ
URLリンク(i.imgur.com)
248:デフォルトの名無しさん
19/07/10 11:52:33.72 /DhDK/tba.net
URLリンク(i.imgur.com)
>>243
画像こっちだった
249:デフォルトの名無しさん
19/07/10 12:02:55.71 /DhDK/tba.net
ごめんフォームコントロールじゃなくてActiveXでボタンをつくったらちゃんと動いた皆が言ってたのはこういう事だったのか
URLリンク(i.imgur.com)
250:デフォルトの名無しさん
19/07/10 12:05:52.68 ZjOdLx630.net
こっちだとこれで上手くいくんだけどね
URLリンク(i.imgur.com)
環境はoffice365
テキストボックスは挿入タブから作成
ボタンは開発タブのフォームコントロールから追加
251:デフォルトの名無しさん
19/07/10 12:07:10.09 ZjOdLx630.net
そうそうフォームコントロールよりActiveXのほうが複雑だけど融通が利くよ
252:デフォルトの名無しさん
19/07/10 12:09:25.00 yoXwfxDh0.net
>>244
まあ、「フォームコントロール」は使うなと教わった気がする
ActiveXですべてコントロール書くな
混ぜて使うと今回みたいにぐちゃぐちゃになるよな
>>245
>ボタンのプロパティが表示されない
ああ、フォームコントロールは表示しないのか、使わんほうがいいと思う
253:デフォルトの名無しさん
19/07/10 12:15:01.17 /DhDK/tba.net
ID:ZjOdLx630 ID:yoXwfxDh0色々教えてくれてありがとう
254:デフォルトの名無しさん
19/07/10 19:31:16.98 AV6w05Aj0.net
ActiveXってまだ使えるのか?
255:デフォルトの名無しさん
19/07/10 21:42:45.32 eupZ9wWw0.net
ガソリンとディーゼルのいいとこ取りじゃけんの
256:デフォルトの名無しさん
19/07/10 23:29:23.93 c8eGatqv0.net
簡単なフォーム作って動作確認したらテキストボックスの内容だけが指定セルに入力されません。
どこを修正できるかおしえてくれませんか?
Private Sub ComboBox1_Change()
If ComboBox1 = "1-1" Then
Range("A1").Select
End If
If ComboBox1 = "1-2" Then
Range("B1").Select
End If
End Sub
Private Sub CommandButton1_Click()
If ComboBox1 = "1-1" Then
Range("A1").Value = TextBox1.Text
End If
If ComboBox1 = "1-2" Then
Range("B1").Value = TextBox1.Text
End If
End Sub
257:デフォルトの名無しさん
19/07/10 23:32:43.62 kmPcU4z40.net
狙いがさっぱり分からん。
何でコンボボックス選択でセルを選択してんの?
258:デフォルトの名無しさん
19/07/10 23:35:04.06 kmPcU4z40.net
あと何でComboBox1の後を省略すんの?
259:デフォルトの名無しさん
19/07/10 23:37:12.76 c8eGatqv0.net
四半期ごとのデータを入力する際に入力するセルをコンボボックスで指定したいからですね
260:デフォルトの名無しさん
19/07/10 23:43:37.21 kmPcU4z40.net
いやいや、セルの選択は必要無いと言ってんの。
つまりComboBox_Changeのプロシージャは全部必要無いと思うと言ってる。
261:デフォルトの名無しさん
19/07/10 23:46:55.16 kmPcU4z40.net
選択してなくても入力出来るし、普通はセルを選択するコードって書かないものなんだ。
敢えて、ユーザーにここだよと知らせるために選択することなんかは有るけどね。
262:デフォルトの名無しさん
19/07/10 23:54:25.92 c8eGatqv0.net
>>258
確かにChengeプロシージャはなくていいと気づきました。クリックイベントで思いっきり指定してますね。ありがとうございます。
そこを丸々消してもテキストボックスの内容が指定したセルに入力されないところがどうしても分かりません、、、
263:デフォルトの名無しさん
19/07/11 00:39:06.69 pxThR6/X0.net
ComboBox1の後ろを省略すると、Valueなんだっけ?
Valueじゃないものがデフォルトなら、入らないと思うけど。
264:デフォルトの名無しさん
19/07/11 01:13:07.62 zjNMm0TG0.net
>>261
ようやく意味がわかりましたわ。>>256はそのことを言ってたんですね。
そこを修正してようやく入力できました。
ありがとうございました。
265:デフォルトの名無しさん
19/07/11 22:57:04.73 xkc4Rvzm0.net
レポートでexcelの問題が出たのですがexcelのeの字もわからないド素人で
全く解ける気配がないので解いていただきたいのですが
excel表↓
URLリンク(gyazo.com)
処理条件↓
URLリンク(gyazo.com)
問題↓
URLリンク(gyazo.com)
URLリンク(gyazo.com)
URLリンク(gyazo.com)
URLリンク(gyazo.com)
excel表と処理条件を見て問題を解く感じです
お手数ですがどうかお願い致します
266:デフォルトの名無しさん
19/07/11 23:07:07.18 PbC6cv/Q0.net
ここは、宿題スレじゃないですよ
267:デフォルトの名無しさん
19/07/11 23:12:11.45 xkc4Rvzm0.net
>>264
そうなのですがたexcelプログラミングに特化した方達がいるスレが他に見当たらなくて・・
何卒お願い致します><
268:デフォルトの名無しさん
19/07/11 23:14:33.66 LDGmmRwS0.net
>>263
他人の力でレポート提出するのはよくないよ
269:デフォルトの名無しさん
19/07/11 23:15:35.55 Nso1E01m0.net
最初から解く気がないからここで答え聞いても多分わからないままじゃない?
270:デフォルトの名無しさん
19/07/11 23:25:23.16 xkc4Rvzm0.net
プログラミングに興味があってしてるわけじゃないので分からないままで大丈夫です
教科書を見ても該当の問題がないので八方塞がりになってます
ですのでお願いします><;
271:デフォルトの名無しさん
19/07/11 23:31:12.20 UiyHSzM10.net
excelスレとマルチか
272:デフォルトの名無しさん
19/07/11 23:31:23.70 wWiKJ29t0.net
つーかここエクセルのスレというかエクセルのVBAのスレだしな
表計算そのものはスレ違いかと
273:デフォルトの名無しさん
19/07/11 23:42:29.20 024QjgN/0.net
>>268
馬鹿は死ね
274:デフォルトの名無しさん
19/07/12 03:16:30.68 DpggHnEF0.net
>>263
単位落とせ
ついでに退学しろ
275:デフォルトの名無しさん
19/07/12 05:15:54.45 +ZgwoyX/x.net
>>268
自力で出来ないなら諦めるしかなかろう
能力以上に背伸びしようとすると他人様に迷惑がかかるから分を弁えて生きていけよ
276:デフォルトの名無しさん
19/07/12 05:28:28.73 Q/r6ioNA0.net
難癖つけたい昭和の爺しかいないのか(´ . .̫ . `)
他をあたります
277:デフォルトの名無しさん
19/07/12 06:15:25.02 /IwseM/M0.net
これが本性です
278:デフォルトの名無しさん
19/07/12 06:24:13.28 Q/r6ioNA0.net
時間を使ってもらうことだから解答してもらえないのは不満はないけど
嫌味だけ言ってくるのはね
279:デフォルトの名無しさん
19/07/12 06:55:24.80 X0laGJXI0.net
>>268 みたいなこと書いたら火に油。
・表計算の関数式はプログラムではない。Excelのプログラム言語はVBAで、関数式ではない。
・質問内容がExcelとネット環境が使える状態ならヘルプやネット検索で得られる情報で手元検証しつつで解ける初歩の初歩レベル。やるべきはここで丸投げや教科書を調べることではなく、ヘルプやネットの調べ方や、キーワード抽出能力、試し実験する能力
これらの能力はExcelに限らず仕事全般に必要
280:デフォルトの名無しさん
19/07/12 07:29:13.34 Q/r6ioNA0.net
その一文なくても答えてくれてなかったと思うけどね
上の質問内容もレポート全ての問題ではなく調べても考えてもい解けなかった7問です
その上で質問したので丸投げとか言われても・・・。
281:デフォルトの名無しさん
19/07/12 07:33:03.45 6bL6jjvK0.net
>>278
スレの違いすらわからない丸投げの馬鹿
マルチポスト
死ねや
282:デフォルトの名無しさん
19/07/12 07:34:50.24 jfJ/52DV0.net
>>278
その努力の跡を見せるのと見せないのでは反応が全然違うのよ
次があるか分からないけど参考までに
283:デフォルトの名無しさん
19/07/12 07:37:58.23 /IwseM/M0.net
>>278
どうやって調べたか教えて欲しい
複合参照一つにしても、
「セル番地を複合参照で列を固定」質問文そのまま検索するだけで答えが出てくる
これ以下の行動が想像出来ない
納得できる理由を持ってきたら全問解いてやるぞ。
284:デフォルトの名無しさん
19/07/12 08:19:59.80 Q/r6ioNA0.net
>>281
それはあなたがexcelの基礎を熟知してるから調べたらすぐ納得出来る答えが見つかるだけです
excelの知識0未満の自分が検索しても相対参照複合参照セル参照、固定etcどんどん理解不能な専門用語が出てくるだけで
基礎知識0の人間がいくら調べたとこで応用の問題が解けるわけない
努力とか苦労とか抜きで単純に教えたくないだけでしょ
0から腰を据えて勉強する時間もないので色んなとこをあたってみます
285:デフォルトの名無しさん
19/07/12 08:28:22.02 MpRoJlc8M.net
>>282
昔自分もそうだったから気持ちわかるよ
ただわからないままでいいから答えだけ教えろって態度が良くなかったね
Excel総合相談所の方では途中まで答えてくれようとしていた人いたのに勿体無い
286:デフォルトの名無しさん
19/07/12 08:30:54.63 DpggHnEF0.net
というか聞くならこんな場末の掲示板じゃなくて同じ講義受けてる友達に聞けよ
287:デフォルトの名無しさん
19/07/12 08:32:04.14 ouq9dw9uM.net
宿題丸投げからの捨て台詞
伝統ですな
288:デフォルトの名無しさん
19/07/12 09:47:37.46 29ekbyBa0.net
どこの質スレでも、どこまでわかっててどこからわからないかとか説明しないと丸投げは答えを貰いにくい
それはともかくとして内容的にここではスレチなので該当スレに移動して聞くのがよい
そういうの無視して自己中心的な態度を取ると相応の反応しか来ないことが多い
289:デフォルトの名無しさん
19/07/12 11:24:29.37 /cn0QgdD0.net
>>263
① SUM($F5:$F9) ② SUM(F$5:F$9) ③ SUM($F$5:$F$9)
① B5 * SUM(C5:E5) ② F5 / $F$10 * 100
③ IF(G5>0.2,"〇", "")
④ Average(C5:C9) ⑤ MAX(C5:E9)
一番目は問題文が意味不明すぎて何ともいえない。答えを記入て?コピー入力時の値なの入力数式なの?
二番目、レポート第三回「算術演算子のミス」ってのが*/じゃなく×÷を使えって意味なら変えてね
290:デフォルトの名無しさん
19/07/12 11:26:26.64 /cn0QgdD0.net
三番目の0.2は20の間違いだった
291:デフォルトの名無しさん
19/07/12 14:33:40.36 2f1lWtua0.net
>>282
熟知するまでにどれほどの努力が有ったんだろうね。
全く教えがいが無い。
どうせ身に着けようとしないから3日もすれば同じ質問してくる。
292:デフォルトの名無しさん
19/07/12 14:35:55.96 2f1lWtua0.net
バカは自分のことしか考えない。
上級者がそうなる迄にどんな努力したのかとか、全く考えない。
293:デフォルトの名無しさん
19/07/12 17:23:38.01 pyjYzCB0M.net
>>282
何のレポートか知らないけどこういう試験みたいなレポート課されるってことはExcelのこと教えてくれる講義かなんかでしょ?
それ取っといて基礎知識0なわけないよね
サボってたなら自業自得だ諦めろ
294:デフォルトの名無しさん
19/07/12 18:12:35.56 4Zy3LZ5Ld.net
ここで教えてもらったり聞いたりするのも勉強だろ?
丸投げで解決するなら効率良いし
295:デフォルトの名無しさん
19/07/12 19:02:17.48 KP5K/G1D0.net
結果だけ知っても応用無理
自力でやった過程も大切
自力で訊いたとか言いそう
296:デフォルトの名無しさん
19/07/12 19:20:24.98 /IwseM/M0.net
>>292
聞き方が悪すぎてそれすら出来ていないw
礼儀正しく聞くか努力した後を見せるか、それだけで全部終わるのにな~んもせずに時間の浪費
社会に出てこなくていいかな
297:デフォルトの名無しさん
19/07/12 19:37:39.45 A5UWWPauM.net
>>292
解決できるなら効率いいけど結局解決できてないし煽られて顔真っ赤になって効率マイナスになってるぞ
298:デフォルトの名無しさん
19/07/12 19:58:53.73 0f105GfpM.net
礼儀w
ここをどこだと思ってるんだ
299:デフォルトの名無しさん
19/07/12 19:59:54.35 0f105GfpM.net
顔が赤い?
ここはインターネットだから見えないのになぜわかるw
300:デフォルトの名無しさん
19/07/12 20:11:35.98 /IwseM/M0.net
>>296
vbaスレだよ
下手に出るor努力家なら普通に教えるし、
上から目線で面白いキャラならそれはそれで笑いの対価に答えてあげる楽しいスレ
俺はどう調べたかを教えてくれれば答えるつもりだったけど、何故かそれすら無かった