[過去ログ]
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net (1002レス)
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1432173164/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
989: デフォルトの名無しさん [sage] 2021/08/25(水) 17:06:39.36 ID:qYcBJ8fd あんま実験してないから文句いうなよ まずはさ、アホでも考えられるような地道な形でやるべきだと思うわ そのあとに、効率性とか考えて無駄排除したりすればいいわ Sub MainProcess() Dim text As String text = Sheet1.Cells(1, 1) 'A1に括弧が含まれる文字列をいれろ Const right1 As String = "「" Const left1 As String = "」" Const right2 As String = "『" Const left2 As String = "』" text = MakeText(text, right1, left1) text = MakeText(text, right2, left2) 'B1に結果が返ってくるぞ。途中結果はメッセージボックスで順次表示されるからループ終わるまで何度もOKおせ Sheet1.Cells(1, 2) = text End Sub http://mevius.5ch.net/test/read.cgi/tech/1432173164/989
990: デフォルトの名無しさん [sage] 2021/08/25(水) 17:06:59.82 ID:qYcBJ8fd >>989の続き Function MakeText(text As String, rightChar As String, leftChar As String) As String Dim startPosition As Integer Dim endPosition As Integer Dim InstrStartPosition As Integer InstrStartPosition = 1 Do While InStr(InstrStartPosition, text, rightChar) <> 0 startPosition = InStr(InstrStartPosition, text, rightChar) If startPosition <> 0 Then endPosition = InStr(startPosition + 1, text, leftChar) End If Dim midText As String midText = Mid(text, startPosition, endPosition - startPosition + 1) Dim midTextChanged As String midTextChanged = Replace(midText, vbLf, "") text = Replace(text, midText, midTextChanged) InstrStartPosition = startPosition + Len(midTextChanged) MsgBox "無限ループになっちゃった時はctrl + Breakを押せ" & vbCrLf & vbCrLf & text Loop MakeText = text End Function http://mevius.5ch.net/test/read.cgi/tech/1432173164/990
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.032s