[過去ログ] Excel VBA 質問スレ Part68 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
272: (ワッチョイ 9f2f-qc2B) 2020/09/17(木)00:21 ID:0EHVBisp0(1/2) AAS
値に型ってのがあるのを理解しよう
表示したいのは、"A"という値と変数hogeの値(を連結したもの)だろ

&演算子でつなぐと文字列扱いになるってのは、演算対象を文字列に変換して結合するってこと
この場合、hogeの値が文字列以外でも文字列に変換して評価するってことだ

基本を理解したいなら、なんの説明もなく&でつなぐと文字列扱いとかいう教え方するところは避けたほうが良いかな
とりあえず動けばいいってならまあすきにすればいいけど
273: (ワッチョイ f73d-luBG) 2020/09/17(木)02:20 ID:c2bYLY/G0(1) AAS
MsgBoxの第1引数は文字列型の値である必要があり、文字列型の値を表す式として典型的なのは、?文字列リテラルか、?文字列型の値が格納されている変数(文字列型変数)の参照。二重引用符は、文字列リテラルの表記方法に過ぎない。
&演算子は、本来、2つの文字列型の値を被演算数とする演算子だが、被演算数が文字列型の値と数値型の値であるような場合等は、適宜数値の方を文字列型の値に自動変換した上で本来の演算を行う……ということかと。重複になるが。
274: (ワッチョイ b7da-Cup9) 2020/09/17(木)04:55 ID:PzgKRL2g0(1) AAS
数値を文字に変換するなら CSTR がある
275: (スップ Sdbf-k5ub) 2020/09/17(木)07:47 ID:iixTl117d(1/4) AAS
>>267
法則を暗記するからそうなる。
法則の仕組みを覚えるんだ。
276
(1): (ワッチョイ b7cc-lMKa) 2020/09/17(木)11:44 ID:1/N+zsdG0(1/2) AAS
同じフォルダにある"〇〇"というCSVを開いて、そのシートの最終行を取得したいのですが
「インデックスが有効範囲にありません」というメッセージでとまります

Sub salegrp()
Workbooks.Open ThisWorkbook.Path & "\〇〇", ReadOnly:=False
MsgBox Sheets("〇〇").Cells(Rows.Count, 1).End(xlUp).Row
End Sub

他のブックの最終行を表示する方法を教えてください
(A列には最終行まで値が入っています)
277
(1): (テテンテンテン MM8f-V038) 2020/09/17(木)11:54 ID:DZPRMbPmM(1) AAS
csv開いたてからActiveWork ook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Rowすれば
278: (ワッチョイ b7ce-W2Jb) 2020/09/17(木)12:14 ID:qGYgSA/Y0(1/2) AAS
>>276
必要なのは最終行に入ってるデータの内容?行数を知りたいだけ?
全データをワークシートに入れる必要がなければテキストファイルとして開いた方が早いかも
279
(2): (ラクッペペ MM8f-gT2D) 2020/09/17(木)12:24 ID:D1QZID39M(1) AAS
Workbooks.Openの返り値をとってそれを操作する

なおRows.Countも省略せずにシート指定する
280: (ワッチョイ b7cc-lMKa) 2020/09/17(木)13:03 ID:1/N+zsdG0(2/2) AAS
>>277
できました。
281: (ワッチョイ 9f01-z5Vf) 2020/09/17(木)16:10 ID:mN4YvgPv0(1/2) AAS
>>267
Sub tessstttt()
Dim str1 As String
Dim str2 As String

str1 = "あいうえお"
str2 = "かきくけこ"

MsgBox str1 & str2 '結果「あいうえおかきくけこ」

MsgBox str1 & "かきくけこ" '結果「あいうえおかきくけこ」

MsgBox "あいうえお" & "かきくけこ" '結果「あいうえおかきくけこ」
End Sub
282: (ワッチョイ 9f01-z5Vf) 2020/09/17(木)16:17 ID:mN4YvgPv0(2/2) AAS
>>279

VBA続けるつもりならこっちでやれるようにした方が
283
(2): (ワッチョイ 9f02-5MQP) 2020/09/17(木)16:44 ID:T9Rqn+gv0(1) AAS
他のbookやsheet絡むととたんに冗長になるんだよなぁ
Range(.Cell(a,b))とか .Cellの前にもブックやシート指定しないとならんし
284: (ワッチョイ 973d-lnJt) 2020/09/17(木)17:02 ID:pIQJoJyT0(2/2) AAS
>>283
むしろ1シートだけしか使わない場合でも、実効中に人がシート変更とかしても大丈夫なようにブック明記した方がいい
285
(1): (アウアウカー Sa2b-gF9/) 2020/09/17(木)17:07 ID:N0wmq1hya(1) AAS
ブックとシート明示してworksheetオブジェクトの変数作ってそれ経由でアクセスさせるのが鉄板かね〜
286
(2): (ワッチョイ 9fad-dpHK) 2020/09/17(木)17:41 ID:dgD4TP5z0(1/2) AAS
csvの最終行だったらテキスト形式でEOFまで吸い上げてってやった方が動作時間的には良さそうな気がした
287: (テテンテンテン MM8f-V038) 2020/09/17(木)18:04 ID:aPn4iHhdM(1) AAS
CSVの読み込みをしっかりやるならPowerQuery使おうみたいな話もあったりなかったり
288
(1): (ワッチョイ 9f01-RDjc) 2020/09/17(木)18:51 ID:1zO/WKqm0(1) AAS
>>285
てか、基本でしょ
289: (アウアウウー Sa5b-lnJt) 2020/09/17(木)18:59 ID:DNVG/ozSa(1) AAS
>>288
鉄板と基本の違い教えて
290: (ワッチョイ f77c-5MQP) 2020/09/17(木)19:13 ID:ncMNPksn0(2/3) AAS
シート明示してないコードほんと多い
よくやるわ
291: (スップ Sdbf-k5ub) 2020/09/17(木)19:55 ID:iixTl117d(2/4) AAS
>>279
俺なんて、必ずBookから書くぜ。
WithとSetを多用することになるが。
292: (スップ Sdbf-k5ub) 2020/09/17(木)19:56 ID:iixTl117d(3/4) AAS
>>283
その例ならRangeの前にも"."が必要。
293: (スップ Sdbf-k5ub) 2020/09/17(木)19:58 ID:iixTl117d(4/4) AAS
>>286
うん、CSVはLine Inputで1行ずつ+Splitで分解にすることが多い。
294
(1): (ワッチョイ 9fad-dpHK) 2020/09/17(木)20:23 ID:dgD4TP5z0(2/2) AAS
VBA覚えたての頃はいちいちアクティブシート切り替えてシート指定省いてたけど
Sheet1.Cells(a,b)って書く癖は絶対つけといた方が良いって今は思ってる
可読性が段違いだもん
暫く同じシートのセルをいじくりたおすならWithで目立つように囲ってやりゃあ良いし
295: (ワッチョイ 9f2f-qc2B) 2020/09/17(木)20:32 ID:0EHVBisp0(2/2) AAS
>>286
項目中に改行含むcsvとかも存在するからなぁ
汎用的なcsvを真面目にパースするとかなり面倒
そしてEXCELは最強のCSVパーサ(笑)
296: (ワッチョイ 9fb5-mxOi) 2020/09/17(木)20:38 ID:23KXp+DW0(1) AAS
なんつーレベルの高い話だよ
初心者が覚えようと思ってどんなもんかとスレを見たのが大間違いか
297: (ワッチョイ f77c-5MQP) 2020/09/17(木)21:39 ID:ncMNPksn0(3/3) AAS
この先いつまで初心者を名乗るつもりか知らないがいちいちアピールしない方がいいよ
298: (ワッチョイ 97da-Cup9) 2020/09/17(木)21:45 ID:DqUtQRPA0(1) AAS
>>294
可読性以前に怖いんだよな。
アクティブシートが切り替わっちゃったらどうしようって。
実行中の操作とかで。
DoEvents挟まなきゃ絶対切り替わらないってならいいんだけど。
299: (ワッチョイ b7ce-W2Jb) 2020/09/17(木)22:36 ID:qGYgSA/Y0(2/2) AAS
可読性も考慮するならオブジェクト変数に入れたりWithで囲んだり、頻出する構文なら別Functionに飛ばすという手もある
めんどくさいけどバグを出すよりはマシ
300: (ワッチョイ 9f2f-qc2B) 2020/09/18(金)01:50 ID:V3SekzLi0(1/3) AAS
そもそもオブジェクト指定のないCellsがいつでもActiveSheetを参照すると思うなよ

シートモジュールに書いたCellsはそのシートを参照するんだぜ
301
(1): (JP 0Hdf-iZ3/) 2020/09/18(金)10:32 ID:68qBgcmgH(1) AAS
VBAというよりVBSかもしれませんが
いろいろ試したのですが正規表現の(肯|否)定(先|後)読みに対応していないようなのですが認識に相違ありませんか?
また、擬似的に(肯|否)定(先|後)読みに対応させたコードを誰か公開していませんか?
302
(1): (ワッチョイ b7ce-W2Jb) 2020/09/18(金)14:09 ID:1dkG1MHP0(1/2) AAS
>>301
多くのアプリで、正規表現はWindowsに標準で内蔵されてるDLLを使ってる
独自の仕様やバグがあるのは既知だから、それが気に入らない時は別のライブラリを見つけてくるしかない
303: (ワッチョイ 9f4f-aBI4) 2020/09/18(金)17:55 ID:vGT+RG4a0(1/3) AAS
VBSはスレ違いになるんだろうけどさー
今、仕事でそれで書かれたコード見てるんだよねー
VB.NetからVBAに戻るとそのインテリセンスの効かなさに辟易するけど
VBSで書かれたものはその比じゃないねー

参照もなーんも効かないところに持ってきて
インデントも正しく書いてないし
綺麗にスパゲティーコードになってるの見ると
殺意を覚えるわー

まぁVBS自体は同じファイルの中に
複数のクラスが書けたりするところは
省1
304: (アウアウウー Sa5b-l0r7) 2020/09/18(金)20:53 ID:Ej6zlwK4a(1) AAS
見てるだけで殺意はないだろ
自分で分かりやすく直していけばいい
305
(1): (アウアウエー Sadf-vKz6) 2020/09/18(金)20:57 ID:E6dIN4Hja(1) AAS
どんな人が書いたコードでも理解できるのがプロ
306
(5): (ワッチョイ b7cc-lMKa) 2020/09/18(金)20:57 ID:nL5nIenz0(1) AAS
C列に"2007/3/26"などのような書式で年月日が入っていますが
それをC=年、D列=月、E列=日にしたいのですが

↓だと年が1905,月が1、日が26日のように変換されてしまいます。

Dim r As Long, dt As date
For r = 2 To 435
dt = CDate(cells(r,3))
Cells(r, 3) = Year(dt)
Cells(r, 4) = Month(dt)
Cells(r, 5) = Day(dt)
Next r
307: (ワッチョイ 9f4f-aBI4) 2020/09/18(金)21:01 ID:vGT+RG4a0(2/3) AAS
>>306
最初date型で取ってやれば確か年や月や日を取る関数が有ったと思うよー
じゃあねー
308: (JP 0Hdf-iZ3/) 2020/09/18(金)21:05 ID:3fDNLBctH(1) AAS
>>302
私が気に入りそうなものはありますか?
肯定先読み肯定後読み以上に高度な機能は求めていないのですが
309: (ワッチョイ 9f4f-aBI4) 2020/09/18(金)21:10 ID:vGT+RG4a0(3/3) AAS
ていうかそうしてんじゃん
出力先のセルの書式はどうなってるの?
コードを見た感じじゃ少なくとも3列目は
日付型みたいだけど
310: (ワッチョイ f77c-5MQP) 2020/09/18(金)21:14 ID:Kp8J/oyZ0(1/2) AAS
>>306
year、month、dayの引数のdtの中身は2007/3/26ではない
311: (ワッチョイ f77c-5MQP) 2020/09/18(金)21:16 ID:Kp8J/oyZ0(2/2) AAS
または3、4、5列目の表示形式をそれぞれy、m、dにしてる
312: (ワッチョイ 9fad-dpHK) 2020/09/18(金)21:29 ID:LhaPjq300(1) AAS
>>306
考えなしに書くからセンス皆無なコードだけど3列目の日付が文字列で入ってるならこんなんどうよ

Dim Ary(2 to 435,1 to 3) As Long,r As Long, a As String
For LBound(Ary,1) to UBound(Ary,1)
a = Sheet1.Cells(r,3).Value
Ary(r,0) = Split(a,“/“)(0)
Ary(r,1) = Split(a,“/“)(1)
Ary(r,2) = Split(a,“/“)(2)
Next

Range(Sheet1.Cells(2,3),Sheet1.Сells(435,5)) = Ary
313
(1): (ワッチョイ b7ce-W2Jb) 2020/09/18(金)22:40 ID:1dkG1MHP0(2/2) AAS
>>306
Sub Macro1()
  Range("C2:C435").Copy
  Range("D2:E435").Select
  ActiveSheet.Paste
  Range("C2:C435").NumberFormatLocal = "yyyy"
  Range("D2:D435").NumberFormatLocal = "m"
  Range("E2:E435").NumberFormatLocal = "d"
End Sub
314: (アウアウウー Sa5b-lnJt) 2020/09/18(金)22:48 ID:mNDgEDOXa(1) AAS
>>313
くそこーどを貼るのはやめてあげて
315: (ワッチョイ 9f2f-qc2B) 2020/09/18(金)23:02 ID:V3SekzLi0(2/3) AAS
>>306
セルに表示されている文字とセルの値は別だって理解が必要

おそらく
C列の表示形式が日付になっているが、そこの値を数値の2007にした
数値の2007は日付にすると1905/6/29 その年だけが表示されている
同様に数値の3は1900/1/3、数値の26は1900/1/26

まあ、想定とは違うかもしれんが正しく動いてると思われるな
解決策は、表示したいのは数値なのか日付なのかちゃんと決めて然るべき値と書式を設定しろ
316: (ワッチョイ 9f2f-qc2B) 2020/09/18(金)23:05 ID:V3SekzLi0(3/3) AAS
つヵ、C列の値でC列に書き換えるとかしないで
元の値を別の列にもっとけば、VBAなしで関数だけで出来るだろうけど
317: (ワッチョイ 9f01-ybTh) 2020/09/19(土)04:14 ID:JSd39pzr0(1) AAS
C,D,E列に表示させたいのは「数値」であるにも関わらず
「日付」の表示形式になっているからおかしくなる

C,D,E列の書式設定→表示形式を日付から標準にする
こうするとC列は39167のような形で表示されることになるが
お構いなしにマクロを動かせば、意図した通りの動きになる

でどう?
318: (ワッチョイ 9f4f-aBI4) 2020/09/19(土)07:38 ID:kGiNzl5D0(1/4) AAS
>>305
理解出来るからこそ腹立たしいこともあるよー
例えばaとbとcってBooleanの変数を定義して
a = b = c とか書いてるやつ

まぁbとc が同じならaにTrueが、
違えばFalseが入るってことを期待して
書いてるなら見づらいけどまだ許せるよ
でもcにbが代入されてそのままaにbが
代入されるとか思って書いてたらしく
システムバグらせてそのままにしてたりとか
省3
319
(1): (ワッチョイ 9f4f-aBI4) 2020/09/19(土)07:43 ID:kGiNzl5D0(2/4) AAS
あ、逆だった
bにcが代入されてaにbが代入されると
思ってたらしいってことね

まぁこの4日間は連休だし
そうじゃなくてもテレワークだから
気楽に適当にやるつもりだよー
320
(1): (ワッチョイ b7da-Cup9) 2020/09/19(土)07:51 ID:oBjg4zik0(1/2) AAS
仕事の内容でそのソースを直せってことなら書き直せばいいんじゃねーの
そのまま残すと後任者に同じように思われるんだぜ
321: 257 (ワッチョイ bf90-W2Jb) 2020/09/19(土)10:25 ID:fwfEHGdP0(1) AAS
>>259
遅くなってしまいましてごめん。自分の欲しかった情報がこれで取れる
事ができました。

ありがと!
322
(2): (スップ Sdbf-k5ub) 2020/09/19(土)15:00 ID:TN+kKyJDd(1/5) AAS
>>320
その判断は結構難しい。
今動いてるものは、そのままにしておくというのが通常だ。

Accessでレコードセットループで回してる最中にその値でもって別のレコードセット開いたりを7、8回やって10分かけてデータ作ってるプログラムが有るんだけど、コレ、クエリ1つで出来るんじゃね?と思って試しに作ったら一瞬で出来る。

それでも、正式に変更することになるかと言えばならない。
こっちだってその辺は分かってる。
何かの時に、きちんと作り直しましょうという話になるまで置いとくもんで、むしろそんな話にならずにずっ―とそのままというのが殆ど。
323
(1): (ドコグロ MMdf-RDjc) 2020/09/19(土)15:56 ID:nGfYM+wGM(1) AAS
>>322
なら
> でもcにbが代入されてそのままaにbが
> 代入されるとか思って書いてたらしく
> システムバグらせてそのままにしてたりとか
> テストどうしてたんだとか思うよねー
とか書くなよ
どうせ盛々で語ってるだけだろw
324
(1): (スップ Sdbf-k5ub) 2020/09/19(土)15:59 ID:TN+kKyJDd(2/5) AAS
>>323
いやいや、俺はその人じゃないから。
325
(2): (ワッチョイ b7da-Cup9) 2020/09/19(土)16:24 ID:oBjg4zik0(2/2) AAS
>>322
重要な変更とは別で、こまかい高速化や最適化として変更するんだよ
それができないなら他人のコードを悪くいってはいけない
326
(2): (ワッチョイ 9f4f-aBI4) 2020/09/19(土)18:06 ID:kGiNzl5D0(3/4) AAS
そうかーみんなそんな具合に考えてるのかー
でも悪いけどその場でチャチャっと直すことはしないよ
もちろん上に話を通すのは当然だけど
こんなぐちゃぐちゃな行き当たりばったりのコード書いてんだから直すんなら他への影響調査の時間貰う
まぁ当たり前だよねー
327
(1): (ドコグロ MM2b-RDjc) 2020/09/19(土)18:37 ID:e5zvgWAXM(1) AAS
>>324
本人でもないのに
> でもcにbが代入されてそのままaにbが
> 代入されるとか思って書いてたらしく
> システムバグらせてそのままにしてたりとか
> テストどうしてたんだとか思うよねー
に対して
> 今動いてるものは、そのままにしておくというのが通常だ。
って言うの?
アホの上塗りにしかなってないけど… w
328
(1): (ワッチョイ 9f2f-qc2B) 2020/09/19(土)18:39 ID:DdZzGNwy0(1) AAS
>>319
実際にそういう動きをする言語もあるからな

>>325
それは開発方法とフェーズによる
いつでも好き勝手コード弄れるような環境ばかりではない
まあ、VBAではあまりないだろうけど
329
(1): (ドコグロ MM8b-RDjc) 2020/09/19(土)18:41 ID:HTxR1ogMM(1) AAS
>>326
お前の会社のレベルが低いだけだろ
まあそんな会社にしかいられない自分を省みたほうがいいなw
330: (ワッチョイ 9f4f-aBI4) 2020/09/19(土)20:51 ID:kGiNzl5D0(4/4) AAS
>>329
ふーん
そっちの会社ではそういうの見つけたら
調べないでチャチャっと直しちゃうのかー
よっぽど優秀なんだねー
俺みたいな無能にはとても怖くて出来ないやーw
331: (ドコグロ MM8b-RDjc) 2020/09/19(土)21:40 ID:b3MmLDI3M(1) AAS
>>326
お前以外にチャッチャッと直すなんて言ってる奴いないんだけどw

レベルの話は
> こんなぐちゃぐちゃな行き当たりばったりのコード書いてんだから
の部分な
332
(1): (スップ Sdbf-k5ub) 2020/09/19(土)22:13 ID:TN+kKyJDd(3/5) AAS
>>325
いや、そうじゃなくて…
そうか、確かにVBAはそれでメシ食ってる奴は少ないから分からんかもしれんな。

ウォーターフォールでやってて、プロジェクトの目的が決まってるのに、いくら高速化しても余計なことすれば怒られるのが当然なんだよ。
それが原因で不具合が出てみろ。
大変なことになるんだから。

確かに、思いつきでどんどん改変してく仕事も結構やったことある。
333
(1): (スップ Sdbf-k5ub) 2020/09/19(土)22:16 ID:TN+kKyJDd(4/5) AAS
>>327
開発全般によくある話として言ったまで。
cとかbとかの話に参加したわけじゃない。

動いてるなら、触らないというのはよくあることだ。
334: (スップ Sdbf-k5ub) 2020/09/19(土)22:21 ID:TN+kKyJDd(5/5) AAS
>>328
確かに少ないかもね。
考えてみれば俺も今の職場で初めて。

でも他言語じゃよく聞く話だよな。
335: (ワッチョイ 9f01-RDjc) 2020/09/19(土)22:26 ID:cNAZP0Op0(1) AAS
>>333
話の流れが読めないバカということはよくわかった
336: (ワッチョイ b7ce-W2Jb) 2020/09/19(土)22:48 ID:RlUx9i/e0(1) AAS
どんなに簡単な修正でも、思い込みやミスは誰にでもある
うっかりエンバグする可能性があるから、先方から高速化などの要求がない限りは動いてる物を勝手に修正はしないのが基本かなあ
337: (ワッチョイ f77c-5MQP) 2020/09/19(土)23:01 ID:Q45ivJBB0(1) AAS
修正するか確認してからじゃないとしないな
338
(1): (ワッチョイ b7da-Cup9) 2020/09/20(日)01:28 ID:Hljg9CcL0(1/3) AAS
>>332
それは逆だ、今のコードが悪いかのを直したせいで不具合がおきるのは直し方が悪いせい
自分できちんと直す能力もない奴が今のコードが悪いとか語るなよ
339
(1): (ワッチョイ b7da-Cup9) 2020/09/20(日)01:34 ID:Hljg9CcL0(2/3) AAS
というのは言い過ぎなのかもしれんな、直せる自信がないなら直さないでいいんじゃね
340: (ワッチョイ b7da-Cup9) 2020/09/20(日)01:38 ID:Hljg9CcL0(3/3) AAS
俺から見れば細かい変更もできない人が重要な処理を変更する方が不具合が起きるだろって思うが
341: (ドコグロ MMdf-RDjc) 2020/09/20(日)03:34 ID:G6tFT8m8M(1) AAS
なんで動いてるものの話になってるのかわからんけど元々の話は
> システムバグらせてそのままにしてたりとか
> テストどうしてたんだとか思うよねー
だから、修正ありきだろ
修正の手順はその組織で違うだろうけど
342: (アウアウエー Sadf-vKz6) 2020/09/20(日)08:02 ID:MxR9qqIJa(1) AAS
ここの会話見てると仕事してる時に戻ったみたいでイヤになる
343: (ワッチョイ 9f2f-5SD5) 2020/09/20(日)08:29 ID:lYpGB0SB0(1) AAS
技術的に可能(can)なのと
プロジェクトとして可能(may)なのはべつだって言ってるんだが

VBA使いを悪く言う気はないが
まともなプロジェクトでやってないから理解できないんだろうな
344: (アウアウウー Sa5b-FmA/) 2020/09/20(日)09:11 ID:jB/qzKKfa(1) AAS
内製なら結構気軽に弄るもんだよ
俺は以前はSIにいて今は自社サービス兼社内SEだから両方の立場がわかるけど、
システムって君のような外の人が思ってるほど重要なものでも神聖なものでもない
345: (ワッチョイ 9f01-RDjc) 2020/09/20(日)09:13 ID:WRa/xy2u0(1/3) AAS
だれも技術的に可能かどうかなんて言ってないのに意味不明なことを言い出してて笑う
346: (ワッチョイ 9701-aBI4) 2020/09/20(日)10:58 ID:uHe9qv/N0(1) AAS
企業や仕事がどういうものかを理解していない馬鹿ばっかりで草
347: (ワッチョイ f77c-5MQP) 2020/09/20(日)11:39 ID:bN/HvUsh0(1/4) AAS
内製でも気軽に弄らないなぁ
348
(1): (ワッチョイ 9f01-RDjc) 2020/09/20(日)12:04 ID:WRa/xy2u0(2/3) AAS
自分とか周りの数人しか使わないとかならリファクタリングで弄るケースもあるし全社レベルのシステムとかなら影響調査からってケースもあるわな
そのプログラムがおかしくなった時の影響度とかも関係するし
要はケースバイケース
349: (スップ Sdbf-k5ub) 2020/09/20(日)16:05 ID:Q2tD94P+d(1/5) AAS
>>338
>>339
先のAccessの話なら直せる自信ならある。
というか、ここにいる奴で俺が出来ないんだったら出来る奴はいないと思うぜ。
それぐらい自信ならある。

ただし、まとも奴なら誰でも言うがバグを出さない自信は無い。
350: (ワッチョイ 9f01-RDjc) 2020/09/20(日)16:13 ID:WRa/xy2u0(3/3) AAS
ふと、

日本人のできません
韓国人のできます
中国人のできました

を信用しちゃダメ
って言うのを思い出した… w
351: (ワッチョイ d763-lMKa) 2020/09/20(日)16:52 ID:qZo3Wq6A0(1) AAS
>>348
だよな、さすがに自分とか周りの数人しか使わないとかなら
時間見て許可取ってリファクタリングするわ
自分が作ったツールやシステムなら空き時間見て少しづつリファクタリングだな

さすがに全社レベルのシステムで勝手にリファクタリングはないな
そもそも許可取るのが大変
352
(1): (ブーイモ MMdb-8GmH) 2020/09/20(日)20:23 ID:r+WJtgDsM(1) AAS
VBAの後継言語がExcelに標準搭載されると知識も勉強時間も無駄になる
と考えてしまいVBAの学習が捗らないのですが、どうしたらよいでしょうか
353: (ワッチョイ b74b-35mx) 2020/09/20(日)20:29 ID:w1btmlsr0(1/3) AAS
開発する能力と言語の習熟は別と考えた方がいいと思うよ
弘法筆を選ばずって言うし
354: (スップ Sdbf-k5ub) 2020/09/20(日)20:39 ID:Q2tD94P+d(2/5) AAS
>>352
そんな風に考えたことは無いなあ。
その時に必要だから覚えるんだよ。
355: (アウアウウー Sa5b-lnJt) 2020/09/20(日)20:46 ID:IR23Mwdta(1) AAS
VBAなんて勉強するもんじゃなくて使っていくうちにわかるもんだし
356: (アウアウエー Sadf-8NzO) 2020/09/20(日)20:55 ID:6QmidxOBa(1) AAS
セルの中身が
--------------------------
あああ325gsdsが|
aaaojgwe |
33333 |
|
いいksが |
bbb93502g |
^^^^^^^ |
|
省6
357: (ワッチョイ f77c-5MQP) 2020/09/20(日)21:02 ID:bN/HvUsh0(2/4) AAS
vblfで分割
358
(2): (ワッチョイ b74b-35mx) 2020/09/20(日)21:04 ID:w1btmlsr0(2/3) AAS
セル内の改行コードはCRとLFとCRLFがあるのでどれかに統一して
統一した改行コードでsplitすれば
359
(2): (JP 0Hdf-iZ3/) 2020/09/20(日)21:09 ID:ce1O3kmIH(1/2) AAS
VBAやっててもオブジェクト指向が全然身につかないんだけどどうしよう
360
(1): (スップ Sdbf-k5ub) 2020/09/20(日)21:30 ID:Q2tD94P+d(3/5) AAS
>>358
セル内の改行はLFだよ。
キーボード入力ならの話だけど。
361
(1): (スップ Sdbf-k5ub) 2020/09/20(日)21:31 ID:Q2tD94P+d(4/5) AAS
>>359
VBAとは別にオブジェクト志向に親和性のある言語勉強すれば?

それがVBAにも役に立つよ。
362: (ワッチョイ b74b-35mx) 2020/09/20(日)21:35 ID:w1btmlsr0(3/3) AAS
>>360
よそからコピペしたりするとLF以外も混じるよ
念のため統一する方が安心
363
(1): (ワッチョイ 9f42-xVpC) 2020/09/20(日)22:02 ID:BARJaSzG0(1) AAS
>>359
オブジェクト指向を身につけるためにVBAをやっているのか?
364
(1): (JP 0Hdf-iZ3/) 2020/09/20(日)22:16 ID:ce1O3kmIH(2/2) AAS
>>361
>>363
フローチャートは書けても
オブジェクト指向というものがあるということがなんとなく判っていても
じゃあオブジェクト指向できっちり設計しようという発想が浮かばないというかまだ怖さがあるんだよね
MVCって言葉もネットサーフィンをして先週巡り合ったくらいの素人だから
とりあえず新たな設計手法を試そうと思っても
何に手をつければいいかわからん
365
(1): (ワッチョイ 9f59-P295) 2020/09/20(日)22:48 ID:lUm0Ft460(1/2) AAS
=EVALUATE()を使ったらマクロだよって保存するときに言われた。
見た目関数なのに実はマクロっていうものが他にどんなのがあるか知りたいんだけど、こういうのなんて言うの?
検索ワードが思い付かないんだけど知ってたら教えて。
366
(1): (スップ Sdbf-k5ub) 2020/09/20(日)22:53 ID:Q2tD94P+d(5/5) AAS
>>364
いや、VBAはあまりオブジェクト志向とは親和性がないんだよ。
VBAそのものの根幹はオブジェクトそのものを扱うし親和性も有るんだけど、それで何かを作る時には俺はあまりオブジェクト志向で作らないな。

それでも、感覚的にピッタリ来るときもある。
そういう感覚の為にも他言語の経験が役に立つ。

でも、VBAでオブジェクト志向って上級者じゃないとピッタリ来ないんじゃないかな。
367
(1): (ワッチョイ b7ce-W2Jb) 2020/09/20(日)23:22 ID:szIFBvS40(1/2) AAS
>>365
Excel 4.0 マクロ
368: (ワッチョイ 9f59-P295) 2020/09/20(日)23:26 ID:lUm0Ft460(2/2) AAS
>>367
さんきゅー
369
(1): (ワッチョイ f77c-5MQP) 2020/09/20(日)23:28 ID:bN/HvUsh0(3/4) AAS
>>358
crでセル内改行はしない
370: (ワッチョイ d7e5-LDOI) 2020/09/20(日)23:29 ID:pX+ICxi/0(1) AAS
フレームワークどうするよ
371: (ワッチョイ b7ce-W2Jb) 2020/09/20(日)23:30 ID:szIFBvS40(2/2) AAS
そもそもVBAが古いMS-BASICの言語仕様をほとんどそのまま踏襲してるもんだからオブジェクト指向との親和性はあんまり高くない
まだVB.netの方が色々やりやすい
1-
あと 631 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s