!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part73
https://mevius.5ch.net/test/read.cgi/tech/1631485799/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part74
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ d3fd-v8OD)
2021/12/20(月) 01:40:59.22ID:jnlr9GaR02デフォルトの名無しさん (ワッチョイ be8e-qezp)
2021/12/20(月) 15:47:59.42ID:xbGcPk/a0 いつものあいつの釣りとあまりに馬鹿過ぎる質問はお断りです
また、Excelの使い方すらわからない人はお帰りください
また、Excelの使い方すらわからない人はお帰りください
3デフォルトの名無しさん (ワッチョイ 4f68-FJAE)
2021/12/20(月) 21:37:30.62ID:PDhvjiKy04デフォルトの名無しさん (ワッチョイ 9710-+zQR)
2021/12/20(月) 22:50:29.00ID:xtbVIhZ20 >>3
とRubyキチガイこといつものあいつが書いてます
とRubyキチガイこといつものあいつが書いてます
5デフォルトの名無しさん (ワッチョイ c3da-oCf7)
2021/12/21(火) 00:54:48.99ID:LQhGMorE0 本当にそう
Excelをろくに使えないヤツは質問禁止
Excelをろくに使えないヤツは質問禁止
6デフォルトの名無しさん (ブーイモ MM17-kSWT)
2021/12/21(火) 02:17:40.60ID:A4PyOyUjM 俺が超初心者の質問に答えるのを誰も止められない
7デフォルトの名無しさん (ワッチョイ ea42-pg3T)
2021/12/21(火) 07:05:08.85ID:zyzYO5qO0 誰かやつを止めろー
8デフォルトの名無しさん (スップ Sd2a-kSWT)
2021/12/21(火) 08:50:24.71ID:OQH8SbIad ここで回答者のメンバーを紹介しとこう!!
丸投げの竜!
宿題のケン!
エスパー塚本!
後出しの抜か八!
丸投げの竜!
宿題のケン!
エスパー塚本!
後出しの抜か八!
9デフォルトの名無しさん (ワッチョイ ea63-22vh)
2021/12/21(火) 14:03:53.42ID:b1cO/LEr0 Excelで値のVLOOKUPが簡単にできないのはどう考えてもおかしい
10デフォルトの名無しさん (ワッチョイ 0f11-2STp)
2021/12/21(火) 19:59:23.56ID:NGMac6Im0 set phoneticが遅いんですが何か良い方法ありませんか・・・
11デフォルトの名無しさん (スップ Sd2a-LgDt)
2021/12/21(火) 20:21:57.86ID:JWVO4cJHd シoア「使わなければどうということはない」
12デフォルトの名無しさん (スプッッ Sd22-kSWT)
2021/12/21(火) 21:27:31.69ID:4sL7eE9Ld 帰る前か寝る前に走らせておけば翌日には終わってる
13デフォルトの名無しさん (ワッチョイ 6668-kSWT)
2021/12/21(火) 21:31:17.19ID:U18xdpJw0 奴隷かな
14デフォルトの名無しさん (ワッチョイ c3da-0poa)
2021/12/22(水) 01:37:54.14ID:ArdRbsOD0 ここってExcel質問板の親戚なのでつか?
15デフォルトの名無しさん (スフッ Sd8a-kSWT)
2021/12/22(水) 07:24:45.48ID:eXWgualad そんなやつは知らん
赤の他人
赤の他人
16デフォルトの名無しさん (ワッチョイ c3da-rE+C)
2021/12/22(水) 17:49:42.98ID:ArdRbsOD0 互いにディスっている噂はマジもんだったのね
あっちは崩壊してる
あっちは崩壊してる
17デフォルトの名無しさん (ブーイモ MMe6-Se6g)
2021/12/22(水) 18:18:46.40ID:qznVJzlcM Excelの機能だけを使うかVBAで書くかは時と場合によるだろ
どちらかというとVBAの方が少しだけ得意とか少しだけ知ってるって人が回答側に回ってるだけでExcelの機能を蔑ろにはせんよ
俺なんか未だにピボットテーブルとか苦手だから使える人って凄いなって常々思ってる
どちらかというとVBAの方が少しだけ得意とか少しだけ知ってるって人が回答側に回ってるだけでExcelの機能を蔑ろにはせんよ
俺なんか未だにピボットテーブルとか苦手だから使える人って凄いなって常々思ってる
18デフォルトの名無しさん (ブーイモ MMe6-U1kc)
2021/12/22(水) 20:20:19.34ID:R6Lyz+3SM SUMIF関数こねくりまわすよりピボットテーブルの方が頭使わない
19デフォルトの名無しさん (ワッチョイ 4f68-FJAE)
2021/12/22(水) 21:22:09.96ID:THY0vMt/020デフォルトの名無しさん (ワッチョイ f363-22vh)
2021/12/22(水) 21:34:22.82ID:VzwTDf6r0 パワハラ野郎が一週間っつってるからだいたい一年か
むずかしそうだな
むずかしそうだな
21デフォルトの名無しさん (ワッチョイ f3b0-gTtA)
2021/12/22(水) 23:34:45.09ID:2iFoBA3x0 >>19
MOSなど取らなくてもピボットテーブルくらいは使えるけど、一週間でとれるMOSをわざわざ取る意味はありますか?
MOSなど取らなくてもピボットテーブルくらいは使えるけど、一週間でとれるMOSをわざわざ取る意味はありますか?
22デフォルトの名無しさん (スフッ Sd8a-kSWT)
2021/12/23(木) 00:13:10.86ID:WhAc8Omnd >>21
マウントの第一歩は資格から
マウントの第一歩は資格から
23デフォルトの名無しさん (ワッチョイ 4f68-FJAE)
2021/12/23(木) 00:13:50.78ID:cFA/EfYi0 >>21
面接する側としては、MOS取ってるとすごく楽
「x年エクセル使ってきました!」→罫線引けるだけなのか、vlookup使えるのか、vba使えるのか、全然分からん
を
「MOS取ってます」→ピボット使えるのが一発で分かる。他に聞きたい事を色々と聞ける
技術も良いけど、「何を勉強すべきか」をわかってるという点も安心材料になる
面接する側としては、MOS取ってるとすごく楽
「x年エクセル使ってきました!」→罫線引けるだけなのか、vlookup使えるのか、vba使えるのか、全然分からん
を
「MOS取ってます」→ピボット使えるのが一発で分かる。他に聞きたい事を色々と聞ける
技術も良いけど、「何を勉強すべきか」をわかってるという点も安心材料になる
24デフォルトの名無しさん (ワッチョイ 7eda-g56a)
2021/12/23(木) 00:41:43.27ID:z8TMb8cl0 資格取るかどうかぐらい自分で決めろよ、迷う程度なら無くても困らんだろ
25デフォルトの名無しさん (ワッチョイ ea7c-BU5C)
2021/12/23(木) 00:50:29.82ID:T5zamiY2026デフォルトの名無しさん (ワッチョイ 6a8e-qezp)
2021/12/23(木) 01:25:21.58ID:yhxVrEG50 派遣かよ(笑)
27デフォルトの名無しさん (ワッチョイ 6a4f-7LcG)
2021/12/23(木) 05:40:54.98ID:ogtrdNkS028デフォルトの名無しさん (ワッチョイ 3b01-jbri)
2021/12/23(木) 06:26:23.14ID:W/nbBjGX0 うちの上さんにピボット教えたら課長に昇格したで
もともとは非正規社員だったのに
もともとは非正規社員だったのに
29デフォルトの名無しさん (ワッチョイ 535f-o58R)
2021/12/23(木) 06:56:30.81ID:wGiTcijP0 レベルの低い会社だな
30デフォルトの名無しさん (ブーイモ MMd6-kSWT)
2021/12/23(木) 08:39:33.26ID:XNOwqpXCM 鶏口牛後
31デフォルトの名無しさん (テテンテンテン MMaa-+zQR)
2021/12/23(木) 08:45:45.04ID:F08Xg9SRM ピボットは高速だからいいよ
32デフォルトの名無しさん (ブーイモ MM17-nM2l)
2021/12/23(木) 10:02:50.98ID:drYqNVEKM33デフォルトの名無しさん (ワッチョイ c3da-rE+C)
2021/12/23(木) 15:44:49.15ID:u3bNwovs0 VBAできればそんな機能やらなんとか関数なんて覚えなくていいんじゃないの?
職場に全部VBAでExcelを運用している上司がそう言っていた。
「Excelはマクロで動かせば良いんだよ」って
職場に全部VBAでExcelを運用している上司がそう言っていた。
「Excelはマクロで動かせば良いんだよ」って
34デフォルトの名無しさん (スフッ Sd8a-kSWT)
2021/12/23(木) 15:48:58.80ID:hP3nIsI3d それぞれ長所と短所があんだから、適切に使い分けれないのは無能
35デフォルトの名無しさん (ワッチョイ a301-h5UB)
2021/12/23(木) 17:12:00.17ID:7F8qfhQc0 >>33
クソみたいな会社だね
クソみたいな会社だね
36デフォルトの名無しさん (ワッチョイ c3da-rE+C)
2021/12/23(木) 17:27:03.01ID:u3bNwovs0 VBA=上級者なんでしょ?
37デフォルトの名無しさん (ワッチョイ 7eda-g56a)
2021/12/23(木) 18:14:09.06ID:z8TMb8cl0 上級者=人間です
38デフォルトの名無しさん (ワッチョイ 6a4f-7LcG)
2021/12/23(木) 18:37:09.81ID:ogtrdNkS0 そんなことより明日はクリスマスイブですよ
39デフォルトの名無しさん (ワッチョイ 6668-kSWT)
2021/12/23(木) 18:50:00.82ID:YP7dkfo90 今日はイブイブですよ
40デフォルトの名無しさん (ブーイモ MMe6-ZNBl)
2021/12/23(木) 19:03:15.92ID:Q2iVuQydM 上皇陛下生誕記念日ですよ
41デフォルトの名無しさん (ワッチョイ 3fda-t0J7)
2021/12/24(金) 11:39:11.20ID:CMtgWUns0 >>38-39
プレゼントくれ
プレゼントくれ
42デフォルトの名無しさん (ワッチョイ bdda-cLUP)
2021/12/24(金) 13:14:14.04ID:dZUCpvkt0 どうせクリスマスイヴもクリスマスもExcelの練習してるんでしょ?
自分もだけど泣
自分もだけど泣
43デフォルトの名無しさん (ワッチョイ ef3d-rVE/)
2021/12/24(金) 13:38:02.83ID:YbcytTda0 Win11でIEが廃止されたんで、VBA/VBscriptでIEを操作できなくなったと思ったんですが、
最新のWin11だとIEが復活してないですか?
https://i.imgur.com/owo3i91.jpg
Win11を最新にしたら、IEが起動して操作ができるようになってる。
最新のWin11だとIEが復活してないですか?
https://i.imgur.com/owo3i91.jpg
Win11を最新にしたら、IEが起動して操作ができるようになってる。
44デフォルトの名無しさん (ブーイモ MM5b-bp1O)
2021/12/24(金) 14:20:05.78ID:4not7NKLM45デフォルトの名無しさん (ワッチョイ 9b4f-DbOn)
2021/12/24(金) 14:48:58.10ID:6jALRLih0 VBAの廃止はちょっと困るなぁ
VBSの廃止も少し困るけどいざとなったら
Javascriptに逃げる
VBSの廃止も少し困るけどいざとなったら
Javascriptに逃げる
46デフォルトの名無しさん (ワッチョイ 6bda-t0J7)
2021/12/24(金) 23:15:00.50ID:pZVHkbp70 VBAで文字列x内のn文字以降で,文字Aと文字Bの間が数字だけの部分のBの位置を知る方法があれば教えて下さい.
47デフォルトの名無しさん (ワッチョイ eb68-425w)
2021/12/24(金) 23:19:31.78ID:my/u7ogk0 >>46
n=4
aaaergjoeriA3543Behwfhewu ←これのBの位置
bbbA3fewfew354Bffewo
cccfjewpfAf3e54f3w54Bfjeei
正規表現でA・Bの間が数字だけ、それをfindで見つける気がするけど飲みすぎて無理だー
n=4
aaaergjoeriA3543Behwfhewu ←これのBの位置
bbbA3fewfew354Bffewo
cccfjewpfAf3e54f3w54Bfjeei
正規表現でA・Bの間が数字だけ、それをfindで見つける気がするけど飲みすぎて無理だー
48デフォルトの名無しさん (ワッチョイ 6bda-me64)
2021/12/25(土) 00:32:33.67ID:VJJcYh0C0 >>47
酔いが覚めたらお願いします
酔いが覚めたらお願いします
49デフォルトの名無しさん (ワッチョイ 6b8e-V3ae)
2021/12/25(土) 00:49:36.50ID:/fiswOOz0 >>48
ヒント貰ったのだから後は自分で考えろ
ヒント貰ったのだから後は自分で考えろ
50デフォルトの名無しさん (ワッチョイ 6bda-t0J7)
2021/12/25(土) 00:58:09.02ID:VJJcYh0C0 >>49
そこまではヒントをもらわんでも俺でもわかる。
この先がわからんから聞いているのよ。
それにお前関係ないやつだよな。
貢献もしてないのに横からでてきて文句をいうな。
マスク警察みたいなやつだね(笑)
そこまではヒントをもらわんでも俺でもわかる。
この先がわからんから聞いているのよ。
それにお前関係ないやつだよな。
貢献もしてないのに横からでてきて文句をいうな。
マスク警察みたいなやつだね(笑)
51デフォルトの名無しさん (ワッチョイ 6b8e-V3ae)
2021/12/25(土) 01:35:14.15ID:/fiswOOz052デフォルトの名無しさん (ワッチョイ 5b68-bp1O)
2021/12/25(土) 09:39:15.77ID:pMGYJdSE0 自分で自分の首を絞めるスタイル
53デフォルトの名無しさん (ワッチョイ 7b42-jNcW)
2021/12/25(土) 09:45:38.27ID:pDRqI2zs0 逆にそこまでわかってて何がわからないの
54デフォルトの名無しさん (ドナドナー MM3b-jn5n)
2021/12/25(土) 10:05:17.74ID:xRiGY3nRM 検索する能力がない
応用力がない
応用力がない
55デフォルトの名無しさん (ワッチョイ bdda-qFqt)
2021/12/25(土) 10:16:27.24ID:UaFD4yqA0 向いていないからVBAやめろと言っているようなもんか
56デフォルトの名無しさん (スフッ Sdaf-bp1O)
2021/12/25(土) 10:26:38.11ID:h6X2g2ddd 仕事ってのは、できるやつに頼みたいと思っても手持ちの人材をなんとかやりくりするしかないわけで
ベストは不可能だから、どうやったらベターな結果が得られるか考えるのが管理職の仕事
世の中そんなもん
ベストは不可能だから、どうやったらベターな結果が得られるか考えるのが管理職の仕事
世の中そんなもん
57デフォルトの名無しさん (ワッチョイ 6bda-me64)
2021/12/25(土) 10:40:38.77ID:VJJcYh0C0 Find はセルにしか使えない。instr関数は正規表現をサポートしてた。like 演算子は文字位置を返さない。何で行き詰まってる。
58デフォルトの名無しさん (ワッチョイ 6bda-me64)
2021/12/25(土) 10:42:03.53ID:VJJcYh0C0 すまん誤字が多かった。
Find はセルにしか使えない。instr関数は正規表現をサポートしてない。like 演算子は文字位置を返さない。なんで行き詰まってる。
Find はセルにしか使えない。instr関数は正規表現をサポートしてない。like 演算子は文字位置を返さない。なんで行き詰まってる。
59デフォルトの名無しさん (ワッチョイ eb68-425w)
2021/12/25(土) 10:42:44.93ID:PWqR92MK0 正規表現使えばいいじゃん(いいじゃん)
60デフォルトの名無しさん (ブーイモ MM5b-bp1O)
2021/12/25(土) 10:51:58.85ID:CtJIiN4vM >>58
WorksheetFunction.Find
WorksheetFunction.Find
61デフォルトの名無しさん (ドナドナー MM3b-jn5n)
2021/12/25(土) 10:58:39.79ID:6NqLFNqCM 正規表現でA-Bの文字列を取り出して
その文字列をfindかinstrにかければAの位置がわかる
あとはA-B文字列の長さを出せばBの位置もわかる
その文字列をfindかinstrにかければAの位置がわかる
あとはA-B文字列の長さを出せばBの位置もわかる
62デフォルトの名無しさん (ワッチョイ eb68-425w)
2021/12/25(土) 11:14:22.36ID:PWqR92MK0 飲みながら正規表現はキツイ
Sub foo()
a = "aaaergjoeriA3543Behwfhewu ←これのBの位置"
b = "bbbA3fewfew354Bffewo"
c = "cccfjewpfAf3e54f3w54Bfjeei"
n = 4 'n文字以降
str_start = "A"
str_end = "B"
'RegExpオブジェクトの作成
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp")
'正規表現の指定
reg.Pattern = ".{" & n & "}" & str_start & "[0-9]*?" & str_end 'パターンを指定
reg.IgnoreCase = False '大文字と小文字を区別するか(False)、しないか(True)
Debug.Print reg.Pattern
'main1 この引数が検索対象
Set matches = reg.Execute(a)
Sub foo()
a = "aaaergjoeriA3543Behwfhewu ←これのBの位置"
b = "bbbA3fewfew354Bffewo"
c = "cccfjewpfAf3e54f3w54Bfjeei"
n = 4 'n文字以降
str_start = "A"
str_end = "B"
'RegExpオブジェクトの作成
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp")
'正規表現の指定
reg.Pattern = ".{" & n & "}" & str_start & "[0-9]*?" & str_end 'パターンを指定
reg.IgnoreCase = False '大文字と小文字を区別するか(False)、しないか(True)
Debug.Print reg.Pattern
'main1 この引数が検索対象
Set matches = reg.Execute(a)
63デフォルトの名無しさん (ワッチョイ eb68-425w)
2021/12/25(土) 11:14:27.46ID:PWqR92MK0 '無かったら終了
If matches.Count = 0 Then
MsgBox "見つからないので終了します"
Exit Sub
End If
'main2
For Each Match In matches
文字列長 = Len(Match.Value)
発見場所 = Match.firstindex
結果 = 文字列長 + 発見場所
Debug.Print 結果 & "文字目に見つかりました"
Next Match
End Sub
If matches.Count = 0 Then
MsgBox "見つからないので終了します"
Exit Sub
End If
'main2
For Each Match In matches
文字列長 = Len(Match.Value)
発見場所 = Match.firstindex
結果 = 文字列長 + 発見場所
Debug.Print 結果 & "文字目に見つかりました"
Next Match
End Sub
64デフォルトの名無しさん (ワッチョイ 6bda-t0J7)
2021/12/25(土) 11:44:00.82ID:VJJcYh0C0 >>62,63
おお、ありがとうございます。
これです。
RegExpでVBAでも正規表現が使えるところまでは調べたのですが、具体的な使い方がわかりませんでした。
勉強します。
このような素晴らしい解決策をご教示していただける前は下のような手作り感満載の関数でしのいでおりました。
あとから見た時にわからなくなりそうなのでもっと定式化された解決策を探しておりました。
なお必要なのは最初にマッチした位置だけでいいです。
Function patternSearch(x As String, pattern As String, start As Long)
Dim i As Long
Dim isStartEndMatching As Boolean
Dim isNum As Boolean
Dim cond_StartEnd As String '前後の文字の一致を調べる
Dim cond_Numeric As String '間が数字であることを調べる
cond_StartEnd = Left(pattern, 1) & "*" & Right(pattern, 1)
cond_Numeric = Mid(pattern, 2, Len(pattern) - 2)
For i = 1 To Len(x) - (start - 1)
isStartEndMatching = Mid(x, start, i) Like cond_StartEnd
isNum = IsNumeric(cond_Numeric)
If isStartEndMatching And isNum Then
patternSearch = start - 1 + i
Exit For
End If
Next i
patternSearch = 0
End Function
おお、ありがとうございます。
これです。
RegExpでVBAでも正規表現が使えるところまでは調べたのですが、具体的な使い方がわかりませんでした。
勉強します。
このような素晴らしい解決策をご教示していただける前は下のような手作り感満載の関数でしのいでおりました。
あとから見た時にわからなくなりそうなのでもっと定式化された解決策を探しておりました。
なお必要なのは最初にマッチした位置だけでいいです。
Function patternSearch(x As String, pattern As String, start As Long)
Dim i As Long
Dim isStartEndMatching As Boolean
Dim isNum As Boolean
Dim cond_StartEnd As String '前後の文字の一致を調べる
Dim cond_Numeric As String '間が数字であることを調べる
cond_StartEnd = Left(pattern, 1) & "*" & Right(pattern, 1)
cond_Numeric = Mid(pattern, 2, Len(pattern) - 2)
For i = 1 To Len(x) - (start - 1)
isStartEndMatching = Mid(x, start, i) Like cond_StartEnd
isNum = IsNumeric(cond_Numeric)
If isStartEndMatching And isNum Then
patternSearch = start - 1 + i
Exit For
End If
Next i
patternSearch = 0
End Function
65デフォルトの名無しさん (ドコグロ MM93-uAVb)
2021/12/25(土) 11:52:30.46ID:S32KpRlOM■ このスレッドは過去ログ倉庫に格納されています
