!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part58
https://mevius.5ch.net/test/read.cgi/tech/1542577644/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
Excel VBA 質問スレ Part59
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ d2a3-A3MQ)
2019/02/09(土) 15:12:30.70ID:3lTArmdf075デフォルトの名無しさん (ワッチョイ a2a2-/WZR)
2019/02/12(火) 19:49:06.70ID:gxc4B4g80 >>13さんもう見てないかな
自分で使ってみたけどなんか違う・・・と思って考えてみたら
問題のシャッフル出題(各問1回だけシャッフルして出題)が足りないという結論に
バグもつぶしたし、まだ見てるならレスください
自分で使ってみたけどなんか違う・・・と思って考えてみたら
問題のシャッフル出題(各問1回だけシャッフルして出題)が足りないという結論に
バグもつぶしたし、まだ見てるならレスください
76デフォルトの名無しさん (ササクッテロル Spd1-P0T6)
2019/02/12(火) 21:06:37.12ID:N98Fn342p すみません、こういうのは出来ますか。
How are you? I’m looking
forward to see you.
を
How are you?
I’m looking forward to see you.
になおす。
要は、中途半端な改行がある文を、一行にまとめる。
How are you? I’m looking
forward to see you.
を
How are you?
I’m looking forward to see you.
になおす。
要は、中途半端な改行がある文を、一行にまとめる。
77デフォルトの名無しさん (ブーイモ MMcd-RyKv)
2019/02/12(火) 21:11:53.35ID:yCgE5JHqM78デフォルトの名無しさん (ワッチョイ 822f-HdPi)
2019/02/12(火) 21:30:27.20ID:u96ReIy/079デフォルトの名無しさん (ワッチョイ 827c-1PgY)
2019/02/12(火) 21:39:40.48ID:w+cVMhLi0 DOSはDOSで使いやすかったと思う。
Windows出たときいらねーべって思ってたけど今思うと3.1はやっぱりいらない。
Windows出たときいらねーべって思ってたけど今思うと3.1はやっぱりいらない。
80デフォルトの名無しさん (ササクッテロル Spd1-P0T6)
2019/02/12(火) 21:45:44.99ID:N98Fn342p81デフォルトの名無しさん (ワッチョイ d9e9-OF6d)
2019/02/12(火) 21:52:09.03ID:qNrXOr6p0 >>80
一旦改行を全て削除して、そのあとでピリオド、クエスチョンマーク、エクスクラメーションマークで改行すればいいんでは。
一旦改行を全て削除して、そのあとでピリオド、クエスチョンマーク、エクスクラメーションマークで改行すればいいんでは。
82デフォルトの名無しさん (ササクッテロル Spd1-P0T6)
2019/02/12(火) 21:55:12.47ID:N98Fn342p83デフォルトの名無しさん (アウアウウー Sa05-BKX2)
2019/02/12(火) 22:00:43.06ID:1aNudvIBa 線つなぐやつはサブルーチンが正体不明のアイコンになるからものすごくわかりにくい
逆にわかりやすいプログラムを描くには高度なアイコンデザインセンスが必要ということだ
そんなの天才にしか使いこなせない
逆にわかりやすいプログラムを描くには高度なアイコンデザインセンスが必要ということだ
そんなの天才にしか使いこなせない
84デフォルトの名無しさん (ワッチョイ d9e9-OF6d)
2019/02/12(火) 22:17:01.28ID:qNrXOr6p0 >>82
もうVBA関係なくなっちゃうけど、普通のエディタ使って置換機能を使えばいいだけでは。
もうVBA関係なくなっちゃうけど、普通のエディタ使って置換機能を使えばいいだけでは。
85デフォルトの名無しさん (アウアウクー MM91-q7hS)
2019/02/12(火) 22:41:31.90ID:CcMjC8kpM >>84
セル内の文字列を対象にしてると思うからエディタでは無理では?分からないから適当に言うんだけど。
セル内の文字列を対象にしてると思うからエディタでは無理では?分からないから適当に言うんだけど。
86デフォルトの名無しさん (ワッチョイ 822f-HdPi)
2019/02/12(火) 23:08:07.22ID:u96ReIy/0 >>80
質問はうけつけん
Sub RemoveCRLF()
Dim target As Range
Dim str As String
Set target = Sheet1.Range("A1")
str = target.Value
str = Replace(str, vbCr, "")
str = Replace(str, vbLf, "")
str = Replace(str, ".", "." & vbNewLine)
target.Value = str
End Sub
質問はうけつけん
Sub RemoveCRLF()
Dim target As Range
Dim str As String
Set target = Sheet1.Range("A1")
str = target.Value
str = Replace(str, vbCr, "")
str = Replace(str, vbLf, "")
str = Replace(str, ".", "." & vbNewLine)
target.Value = str
End Sub
87デフォルトの名無しさん (ワッチョイ f901-YOpM)
2019/02/12(火) 23:38:26.31ID:ja5MNGvN0 >>76
あまりいけてないけど、ぼくも考えた
Dim str As String
str = Range("A1")
Dim re As Object
Set re = CreateObject("VBScript.RegExp")
re.Global = True
re.Pattern = "[\r\n]"
str = re.Replace(str, "")
re.Pattern = " +"
str = re.Replace(str, " ")
re.Pattern = "([?.]) *"
str = re.Replace(str, "$1" & vbLf)
Range("A2") = str
あまりいけてないけど、ぼくも考えた
Dim str As String
str = Range("A1")
Dim re As Object
Set re = CreateObject("VBScript.RegExp")
re.Global = True
re.Pattern = "[\r\n]"
str = re.Replace(str, "")
re.Pattern = " +"
str = re.Replace(str, " ")
re.Pattern = "([?.]) *"
str = re.Replace(str, "$1" & vbLf)
Range("A2") = str
88デフォルトの名無しさん (アウアウクー MM91-q7hS)
2019/02/12(火) 23:44:44.19ID:CcMjC8kpM >>75
最新版は5ですよね?使ってみましたがオブジェクトエラーが起きてどこで停止しているかみてみると、ソート処理時に停止する。
そこで4_2をベースにこちらでカスタマイズして、ボタン1つでセル内の文字列をシャッフルするコードをネットから拾ってきました。
ついでに縦横の切り替えもボタンで実現してます。
やりていことこ実現できているので満足です
最新版は5ですよね?使ってみましたがオブジェクトエラーが起きてどこで停止しているかみてみると、ソート処理時に停止する。
そこで4_2をベースにこちらでカスタマイズして、ボタン1つでセル内の文字列をシャッフルするコードをネットから拾ってきました。
ついでに縦横の切り替えもボタンで実現してます。
やりていことこ実現できているので満足です
89デフォルトの名無しさん (ワッチョイ a2a2-/WZR)
2019/02/12(火) 23:58:53.49ID:gxc4B4g80 そうでしたか、なんかすみません
じゃ本当に終わります。
じゃ本当に終わります。
90デフォルトの名無しさん (ワッチョイ 6e2c-V6Wy)
2019/02/13(水) 02:27:50.55ID:NEpE3zFw0 Python などの形態素解析で、文末でも判定すれば?
91デフォルトの名無しさん (ワッチョイ e101-P0T6)
2019/02/13(水) 06:35:13.37ID:9485a3fT092デフォルトの名無しさん (ドコグロ MM09-CTVZ)
2019/02/13(水) 07:12:30.92ID:i20vW39tM93デフォルトの名無しさん (ワッチョイ f901-P0T6)
2019/02/13(水) 07:30:01.13ID:AhLCWHg20 >>92
ありがとうございます。一つのセルに最大どんだけテキスト貼れるかですね
ありがとうございます。一つのセルに最大どんだけテキスト貼れるかですね
94デフォルトの名無しさん (ワッチョイ f901-P0T6)
2019/02/13(水) 07:36:07.18ID:QsqoJnTp0 >>92
cntl+jか。知らなかった。ほかのワードとかでも使えるかな
cntl+jか。知らなかった。ほかのワードとかでも使えるかな
95デフォルトの名無しさん (ワッチョイ f901-XNIb)
2019/02/13(水) 07:44:47.38ID:zGo41KJe0 セルを指定する時とか”A1”とかちまちま書くのが普通?
めんどくさいんだけどそんなもの?
めんどくさいんだけどそんなもの?
96デフォルトの名無しさん (JP 0H16-KbRv)
2019/02/13(水) 08:07:53.15ID:kNKWDOP4H >>95
ヘッダの話なら1個ずつ書いてくしかない
ヘッダの話なら1個ずつ書いてくしかない
97デフォルトの名無しさん (ワッチョイ 25ce-0b7p)
2019/02/13(水) 08:46:40.27ID:LdPPLa0i098デフォルトの名無しさん (ワッチョイ 25ce-0b7p)
2019/02/13(水) 08:48:18.23ID:LdPPLa0i099デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/13(水) 09:17:10.81ID:s1ZD6WV/0 「何の条件」で「何を」「どのようにしたいか」の中で「何の条件で」が出てないな
「何を」「どのようにしたいか」も一部の条件しか出てない気がする
連想ゲームじゃないんだから質問はちゃんとかけよ
「何を」「どのようにしたいか」も一部の条件しか出てない気がする
連想ゲームじゃないんだから質問はちゃんとかけよ
100デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/13(水) 10:05:00.38ID:s1ZD6WV/0 >>76
この質問は
Excelの枠に配置で、折り返して全体を表示するに
以下の改行のない文を貼り付けた時に
How are you? I’m looking forward to see you.
セルの幅に合う位置で改行されるのを思いの位置で改行したい
ってことだろ、思いの位置が明文化されないとな
例えば英文であるかわからんが「...」みたいな文とか「!!」みたいなとかもありそうだしな
この質問は
Excelの枠に配置で、折り返して全体を表示するに
以下の改行のない文を貼り付けた時に
How are you? I’m looking forward to see you.
セルの幅に合う位置で改行されるのを思いの位置で改行したい
ってことだろ、思いの位置が明文化されないとな
例えば英文であるかわからんが「...」みたいな文とか「!!」みたいなとかもありそうだしな
101デフォルトの名無しさん (JP 0H16-KbRv)
2019/02/13(水) 10:59:06.69ID:kNKWDOP4H102デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/13(水) 11:08:47.69ID:s1ZD6WV/0103デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/13(水) 11:41:27.51ID:s1ZD6WV/0 Private Sub Worksheet_Change(ByVal Target As Range)
まあ、Changeイベントで
If Application.CutCopyMode = xlCopy Then
End if
コピーされた場合「Range」に対して処理を書くんだな
まあ、Changeイベントで
If Application.CutCopyMode = xlCopy Then
End if
コピーされた場合「Range」に対して処理を書くんだな
104デフォルトの名無しさん (ワッチョイ e188-drk2)
2019/02/13(水) 14:06:51.14ID:cLVWJ/NN0 セル上でドラッグドロップしたら、それでプログラムが動くようなことってできますか
たとえば、縦1列に20個のデータが入っていて、その1つを別の場所に
ドラッグドロップすると順番が入れ替わるようにするとか
たとえば、縦1列に20個のデータが入っていて、その1つを別の場所に
ドラッグドロップすると順番が入れ替わるようにするとか
105デフォルトの名無しさん (JP 0H16-KbRv)
2019/02/13(水) 14:22:50.50ID:kNKWDOP4H >>104
こうかな
Sub Worksheet_change(ByVal Target As Range)
if target.column = 貼り付けた列番号 then 配列に突っ込む
配列をソートする
配列をセルに書き込む
End Sub
こうかな
Sub Worksheet_change(ByVal Target As Range)
if target.column = 貼り付けた列番号 then 配列に突っ込む
配列をソートする
配列をセルに書き込む
End Sub
106デフォルトの名無しさん (ワッチョイ e188-drk2)
2019/02/13(水) 14:36:01.74ID:cLVWJ/NN0 >>105
出来るんですね。 ありがとう
出来るんですね。 ありがとう
107デフォルトの名無しさん (JP 0H16-KbRv)
2019/02/13(水) 14:45:16.60ID:kNKWDOP4H >>106
あとApplication.Enableevents = Falseしないと配列をセルに書く時にWorksheet_changeが起きて無限ループするから気を付けて
あとApplication.Enableevents = Falseしないと配列をセルに書く時にWorksheet_changeが起きて無限ループするから気を付けて
108デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/13(水) 14:45:50.22ID:s1ZD6WV/0 >>104
それって、切取りと切り取ったセルの挿入のことじゃない
それって、切取りと切り取ったセルの挿入のことじゃない
109デフォルトの名無しさん (ワッチョイ c5e6-yKLa)
2019/02/13(水) 18:05:52.67ID:YjEmAg3Q0110デフォルトの名無しさん (ササクッテロル Spd1-P0T6)
2019/02/13(水) 19:29:04.53ID:yofO24jUp >>94
置換前にcntl+jと入れると、置換ボタンが押せない。
置換前にcntl+jと入れると、置換ボタンが押せない。
111デフォルトの名無しさん (ワッチョイ d9e9-OF6d)
2019/02/13(水) 19:30:45.49ID:JQT8xzoY0 検索で正規表現を使えないというのもあれだな。
112デフォルトの名無しさん (アメ MMcd-oukl)
2019/02/13(水) 20:11:24.50ID:1az0o1MYM ワードラップの問題だろ改行関係ない
113デフォルトの名無しさん (ワッチョイ f901-XNIb)
2019/02/13(水) 20:17:10.65ID:zGo41KJe0114デフォルトの名無しさん (ワッチョイ f901-KbRv)
2019/02/13(水) 20:39:49.89ID:9c/UwGiq0115デフォルトの名無しさん (アウアウウー Sa05-BKX2)
2019/02/13(水) 20:49:54.38ID:9vYYaAAUa プロパティ使ったほうが定数よりずっとわかりやすいよ
116デフォルトの名無しさん (ワッチョイ f901-qEuu)
2019/02/13(水) 20:50:53.76ID:Hdk7qA5y0 決まりきったセル(範囲)参照する時は名前定義なりテーブル化した方がいいと思うけどな
117デフォルトの名無しさん (オイコラミネオ MM16-duX/)
2019/02/13(水) 20:54:23.96ID:vtryBqN5M vba初心者です。
マウスイベントやスリープなどのapi を使って
会社で使うツールを半自動化してますが、
こういうアナログな方法ではなく、
マウスでクリックしなくてもツールがアクティブになったり、
スリープではなく画面が遷移したのを読み取って次の命令を実行してくれるような
ものを作るにはどういう学問を学べばいいですか?
マウスイベントやスリープなどのapi を使って
会社で使うツールを半自動化してますが、
こういうアナログな方法ではなく、
マウスでクリックしなくてもツールがアクティブになったり、
スリープではなく画面が遷移したのを読み取って次の命令を実行してくれるような
ものを作るにはどういう学問を学べばいいですか?
118デフォルトの名無しさん (ワッチョイ f901-XNIb)
2019/02/13(水) 20:57:56.29ID:zGo41KJe0 >>114
あり
あり
119デフォルトの名無しさん (ワッチョイ a969-z8kj)
2019/02/13(水) 21:14:49.27ID:0iV7VQWH0 ウインドウズのイベントをフックする
120デフォルトの名無しさん (ワッチョイ f901-qEuu)
2019/02/13(水) 21:25:30.47ID:Hdk7qA5y0121デフォルトの名無しさん (ワッチョイ 911f-Q5xa)
2019/02/13(水) 23:29:11.25ID:vsTJ7JQU0 自作したdllファイルに文字列を投げて配列を受け取りたい場合
Public Declare Function 〇〇 Lib "△△" Alias "□□" (string path)As string()
〇 自分で付ける関数名??
△ dllファイルの場所フルパス??
□ dllファイル内の何か?
それぞれ何を指すんですか?
ちなみにこれでも似たような事ができるんですか?
Dim tarApp As Variant
Set tarApp = CreateObject(“◎◎“)
tarApp.Documents.Open FileName:="〇〇"
Set wdApp = Nothing
Public Declare Function 〇〇 Lib "△△" Alias "□□" (string path)As string()
〇 自分で付ける関数名??
△ dllファイルの場所フルパス??
□ dllファイル内の何か?
それぞれ何を指すんですか?
ちなみにこれでも似たような事ができるんですか?
Dim tarApp As Variant
Set tarApp = CreateObject(“◎◎“)
tarApp.Documents.Open FileName:="〇〇"
Set wdApp = Nothing
122デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/14(木) 10:46:56.68ID:oxBa5+ju0 >>121
まあ、気楽に回答しておく
>〇 自分で付ける関数名??
その通り
>△ dllファイルの場所フルパス??
Pathが通ってればフルパスでなくてもよい
>□ dllファイル内の何か?
別名宣言できる・・・まあ、調べろ
>ちなみにこれでも似たような事ができるんですか?
>Dim tarApp As Variant
>Set tarApp = CreateObject(“◎◎“)
> tarApp.Documents.Open FileName:="〇〇"
>Set wdApp = Nothing
書いている意味が理解できてないだろう、Office系のソフトはちゃんとしたルールで作られてるが
こんなこと気にする前に、有効なDllを作ってみろよ
尚、理解できてないことが丸わかり
まあ、気楽に回答しておく
>〇 自分で付ける関数名??
その通り
>△ dllファイルの場所フルパス??
Pathが通ってればフルパスでなくてもよい
>□ dllファイル内の何か?
別名宣言できる・・・まあ、調べろ
>ちなみにこれでも似たような事ができるんですか?
>Dim tarApp As Variant
>Set tarApp = CreateObject(“◎◎“)
> tarApp.Documents.Open FileName:="〇〇"
>Set wdApp = Nothing
書いている意味が理解できてないだろう、Office系のソフトはちゃんとしたルールで作られてるが
こんなこと気にする前に、有効なDllを作ってみろよ
尚、理解できてないことが丸わかり
123デフォルトの名無しさん (ドコグロ MM1f-l5h6)
2019/02/14(木) 12:07:22.70ID:xvzsmsEPM (´;ω;`)イベントが起こらなくなりました
124デフォルトの名無しさん (ワッチョイ e7e6-r8GT)
2019/02/14(木) 12:08:59.63ID:FmdtC3Uo0 >>123
エクセル再起動しろ
エクセル再起動しろ
125デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/14(木) 12:20:00.82ID:oxBa5+ju0126デフォルトの名無しさん (ワッチョイ 874f-5sVJ)
2019/02/14(木) 13:20:00.69ID:chn4JYyT0 たとえば、A1からC50までデータがあってA列をキーにソートしたいのですが、
途中たとえば、10行、15行、20−25行は抜かしたいのです。 これらにはコメントや他のものが入ってるので
でもそれらを抜かして全体でソートしたいのですが、Unionで繋いでやったら複数のレンジは出来ないみたいな
エラーを返されました
何かいい方法はないでしょうか
途中たとえば、10行、15行、20−25行は抜かしたいのです。 これらにはコメントや他のものが入ってるので
でもそれらを抜かして全体でソートしたいのですが、Unionで繋いでやったら複数のレンジは出来ないみたいな
エラーを返されました
何かいい方法はないでしょうか
127デフォルトの名無しさん (ワッチョイ 874f-5sVJ)
2019/02/14(木) 13:50:43.73ID:chn4JYyT0 例えば、画面表示は止めて、メモリ上で行を移動させてソートする行をまとめてからソートして、
また行をもとに移動させてから、画面上に結果を表示とか、出来ると可能性があると思うのですが
また行をもとに移動させてから、画面上に結果を表示とか、出来ると可能性があると思うのですが
128デフォルトの名無しさん (ワッチョイ ff6f-dKms)
2019/02/14(木) 14:23:28.89ID:sSBdRoDO0129デフォルトの名無しさん (オイコラミネオ MMdb-Fd8k)
2019/02/14(木) 16:52:27.07ID:PSNlkVOrM >>126
行を非表示にしたら対象から外してくれんかな…(試してない)
行を非表示にしたら対象から外してくれんかな…(試してない)
130デフォルトの名無しさん (ブーイモ MM7f-O/Qv)
2019/02/14(木) 17:20:39.55ID:L4IMpAFUM131デフォルトの名無しさん (ワッチョイ c701-mnSR)
2019/02/14(木) 17:59:11.87ID:bFGkVmlp0 dllってよくわかんないだけどvbsのexecuteglobalみたいな感じ?
132デフォルトの名無しさん (ワッチョイ 874f-5sVJ)
2019/02/14(木) 19:55:09.02ID:chn4JYyT0 >>129
マジかあ。 やってみた。 出来てる
なんだよ、プログラム作っっちゃった。 ソートしないところを一旦別に移して圧縮してソートしてから
下に戻すってやつ
なんだよ、 この2時間返して w
マジかあ。 やってみた。 出来てる
なんだよ、プログラム作っっちゃった。 ソートしないところを一旦別に移して圧縮してソートしてから
下に戻すってやつ
なんだよ、 この2時間返して w
133デフォルトの名無しさん (アメ MM6b-+q6E)
2019/02/14(木) 22:52:59.46ID:nNkHGtvOM134デフォルトの名無しさん (アメ MM6b-+q6E)
2019/02/15(金) 00:17:44.61ID:lL6vjf9tM135デフォルトの名無しさん (ワッチョイ dfeb-A2tD)
2019/02/15(金) 00:49:30.00ID:6QKgXGI40 よろしくお願いいたします。
VBAで、半角カナ文字列を与えると、その文字列の中にある、
ァィゥェォャュョッ などの小さい字をアイウエオヤユヨツなどの大きい字(半角カナ)に変換して返す
functionを作りたいのですが、どう書いていいのかわかりません。
ひとつずつ、ァをアに変換、ィをイに変換、のように書くしかありませんか?
まとめて書く方法ってあるのでしょうか?
VBAで、半角カナ文字列を与えると、その文字列の中にある、
ァィゥェォャュョッ などの小さい字をアイウエオヤユヨツなどの大きい字(半角カナ)に変換して返す
functionを作りたいのですが、どう書いていいのかわかりません。
ひとつずつ、ァをアに変換、ィをイに変換、のように書くしかありませんか?
まとめて書く方法ってあるのでしょうか?
136デフォルトの名無しさん (ワッチョイ 7f2c-Ioh3)
2019/02/15(金) 01:15:28.74ID:BkaZ3+610 Ruby のNKF とか、文字列.tr とか、正規表現とか
137デフォルトの名無しさん (ワッチョイ 5f7c-blJ9)
2019/02/15(金) 01:18:13.72ID:vhn0rFgQ0 60項目7万件のjsonデータ読んで保存した。
開いたらモジュールとフォームが破損って何なんだよ。うう吐きそうだ。
10Gじゃメモリたりなかったのか?いや、それならそうメッセージがでるはず。
まさかこんなんでコード飛ぶとは思わなかったからバックアップは取ってない。
10分おきの自動バックアップのデータはあったけどデータ取るのに2日かかったからとっくに消えてる。
もう作る気おきない。
参った。
開いたらモジュールとフォームが破損って何なんだよ。うう吐きそうだ。
10Gじゃメモリたりなかったのか?いや、それならそうメッセージがでるはず。
まさかこんなんでコード飛ぶとは思わなかったからバックアップは取ってない。
10分おきの自動バックアップのデータはあったけどデータ取るのに2日かかったからとっくに消えてる。
もう作る気おきない。
参った。
138デフォルトの名無しさん (ワッチョイ 5f7c-blJ9)
2019/02/15(金) 01:20:07.21ID:vhn0rFgQ0 >>135
文字コードを差分だけ加算すればいい。
文字コードを差分だけ加算すればいい。
139デフォルトの名無しさん (アウアウエー Sa1f-ngFe)
2019/02/15(金) 01:21:08.10ID:EWf/hEPba140デフォルトの名無しさん (ワッチョイ 872d-7G9U)
2019/02/15(金) 01:23:24.10ID:NXuVhChr0 >>135
dictionaryオブジェクトで連想配列作れば?
Dim myDic As Object
Set myDic = CreateObject("Scripting.Dictionary")
myDic.Add "ァ", "ア"
myDic.Add "ィ", "イ"
myDic.Add "ゥ", "ウ"
Dim str As String
str = myDic.Item("ァ") #<--ここに参照したい文字を渡す
MsgBox str, vbInformation
https://www.sejuku.net/blog/29736
動くかわからんけどお試しあれ。
dictionaryオブジェクトで連想配列作れば?
Dim myDic As Object
Set myDic = CreateObject("Scripting.Dictionary")
myDic.Add "ァ", "ア"
myDic.Add "ィ", "イ"
myDic.Add "ゥ", "ウ"
Dim str As String
str = myDic.Item("ァ") #<--ここに参照したい文字を渡す
MsgBox str, vbInformation
https://www.sejuku.net/blog/29736
動くかわからんけどお試しあれ。
141デフォルトの名無しさん (ワッチョイ e7ce-1ffV)
2019/02/15(金) 01:37:27.77ID:6R3QhjK00 >>135
あんまり綺麗じゃないけど
Function kanacaps(s1) As String
For i = 1 To Len(s1)
c = Mid(s1, i, 1)
If "ァ" <= c And c <= "ッ" Then
Select Case c
Case "ァ" To "ォ"
s = 10
Case "ャ" To "ョ"
s = 40
Case Else
s = 19
End Select
Mid(s1, i) = Ch r(As c(c) + s)
End If
Next
kanacaps = s1
End Function
あんまり綺麗じゃないけど
Function kanacaps(s1) As String
For i = 1 To Len(s1)
c = Mid(s1, i, 1)
If "ァ" <= c And c <= "ッ" Then
Select Case c
Case "ァ" To "ォ"
s = 10
Case "ャ" To "ョ"
s = 40
Case Else
s = 19
End Select
Mid(s1, i) = Ch r(As c(c) + s)
End If
Next
kanacaps = s1
End Function
142デフォルトの名無しさん (ワッチョイ e7ce-1ffV)
2019/02/15(金) 01:38:16.76ID:6R3QhjK00 一部の文字列関数が、なぜか5ちゃんねる全体のNGワードになってるんで、わざとスペースを入れてある
143136 (ワッチョイ 7f2c-Ioh3)
2019/02/15(金) 01:38:19.40ID:BkaZ3+610 Ruby では、
str = "ァィゥェォャュョッあ"
puts str.tr( "ァィゥェォャュョッ", "アイウエオヤユヨツ" )
#=> アイウエオヤユヨツあ
str = "ァィゥェォャュョッあ"
puts str.tr( "ァィゥェォャュョッ", "アイウエオヤユヨツ" )
#=> アイウエオヤユヨツあ
144デフォルトの名無しさん (ワッチョイ e7ce-1ffV)
2019/02/15(金) 01:43:51.10ID:6R3QhjK00 もっとシンプルなのができた
Function kanacaps(s1) As String
t = "アイウエオヤユヨツ"
For i = 1 To Len(s1)
c = Mid(s1, i, 1)
If "ァ" <= c And c <= "ッ" Then
Mid(s1, i) = Mid(t, A sc(c) - 166, 1)
End If
Next
kanacaps = s1
End Function
Function kanacaps(s1) As String
t = "アイウエオヤユヨツ"
For i = 1 To Len(s1)
c = Mid(s1, i, 1)
If "ァ" <= c And c <= "ッ" Then
Mid(s1, i) = Mid(t, A sc(c) - 166, 1)
End If
Next
kanacaps = s1
End Function
145デフォルトの名無しさん (ワッチョイ e7ce-1ffV)
2019/02/15(金) 01:46:51.97ID:6R3QhjK00 しつこいけど、これで最後
Function kanacaps(s1) As String
t = Array("ア", "イ", "ウ", "エ", "オ", "ヤ", "ユ", "ヨ", "ツ")
For i = 1 To Len(s1)
c = Mid(s1, i, 1)
If "ァ" <= c And c <= "ッ" Then Mid(s1, i) = t(As c(c) - 167)
Next
kanacaps = s1
End Function
Function kanacaps(s1) As String
t = Array("ア", "イ", "ウ", "エ", "オ", "ヤ", "ユ", "ヨ", "ツ")
For i = 1 To Len(s1)
c = Mid(s1, i, 1)
If "ァ" <= c And c <= "ッ" Then Mid(s1, i) = t(As c(c) - 167)
Next
kanacaps = s1
End Function
146デフォルトの名無しさん (ワッチョイ e7ce-1ffV)
2019/02/15(金) 01:53:45.99ID:6R3QhjK00 最後と言いながらもう一度
これってまだまだコンパクトにできるパターンだな
Function kanacaps(s1) As String
t = Array("ア", "イ", "ウ", "エ", "オ", "ヤ", "ユ", "ヨ", "ツ")
For i = 1 To Len(s1)
c = Asc(Mid(s1, i))
If 166 < c And c < 176 Then Mid(s1, i) = t(c - 167)
Next
kanacaps = s1
End Function
これってまだまだコンパクトにできるパターンだな
Function kanacaps(s1) As String
t = Array("ア", "イ", "ウ", "エ", "オ", "ヤ", "ユ", "ヨ", "ツ")
For i = 1 To Len(s1)
c = Asc(Mid(s1, i))
If 166 < c And c < 176 Then Mid(s1, i) = t(c - 167)
Next
kanacaps = s1
End Function
147デフォルトの名無しさん (ワッチョイ e7ce-1ffV)
2019/02/15(金) 02:00:19.18ID:6R3QhjK00 1回しか使わない変数を消した
これ以上の短縮は無理かな?
Function kanacaps(s1) As String
For i = 1 To Len(s1)
c = Asc(Mid(s1, i)) - 167
If 0 <= c And c < 9 Then Mid(s1, i) = Array("ア", "イ", "ウ", "エ", "オ", "ヤ", "ユ", "ヨ", "ツ")(c)
Next
kanacaps = s1
End Function
これ以上の短縮は無理かな?
Function kanacaps(s1) As String
For i = 1 To Len(s1)
c = Asc(Mid(s1, i)) - 167
If 0 <= c And c < 9 Then Mid(s1, i) = Array("ア", "イ", "ウ", "エ", "オ", "ヤ", "ユ", "ヨ", "ツ")(c)
Next
kanacaps = s1
End Function
148デフォルトの名無しさん (アメ MM6b-+q6E)
2019/02/15(金) 09:21:30.82ID:U9ClSHCYM >>147
横レスだけど
他の言語に比べかったるいけどおいておいて
変換に使う文字列または配列はfunctionの外
変数はアドレス渡し function内で文字列を書き換え
変更が有った場合 true なかった場合false
使い勝手と動作速度を優先する
とスマホで書いてみる
横レスだけど
他の言語に比べかったるいけどおいておいて
変換に使う文字列または配列はfunctionの外
変数はアドレス渡し function内で文字列を書き換え
変更が有った場合 true なかった場合false
使い勝手と動作速度を優先する
とスマホで書いてみる
149デフォルトの名無しさん (ブーイモ MMcf-O/Qv)
2019/02/15(金) 09:40:41.96ID:GIzZTHxJM >>147
たしかにs1を書き換えつつまたそれを返すというのは無駄だ。
ByValで受けて書き換えた結果を返すかByRefのままでSubにするかだと思う。
Booleanで返すのは今時の趣味には合わないんじゃないかな。
たしかにs1を書き換えつつまたそれを返すというのは無駄だ。
ByValで受けて書き換えた結果を返すかByRefのままでSubにするかだと思う。
Booleanで返すのは今時の趣味には合わないんじゃないかな。
150デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 09:58:15.95ID:FxoJIoi60 >>149
セルを書き換えるべきか書き換えないかの判断をする
全てのセルの書き換えは時間もかかるし、空白のセルもある
必要ないデータは書き換えないでいいようにする
if kanacaps(s1) then cells(i,j) = s1
のように
セルを書き換えるべきか書き換えないかの判断をする
全てのセルの書き換えは時間もかかるし、空白のセルもある
必要ないデータは書き換えないでいいようにする
if kanacaps(s1) then cells(i,j) = s1
のように
151デフォルトの名無しさん (ブーイモ MMcf-O/Qv)
2019/02/15(金) 11:36:22.43ID:GIzZTHxJM152デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 11:44:10.23ID:FxoJIoi60 >>151
だったら、このスレ関係ないな本当にそう思うのか?
自分の主張じゃなく要求者の状況を読まなければ意味ない
150の書き方でならシート全てを変換するfunctionも簡単にできるけど
お題を読めないのは厳しいな
だったら、このスレ関係ないな本当にそう思うのか?
自分の主張じゃなく要求者の状況を読まなければ意味ない
150の書き方でならシート全てを変換するfunctionも簡単にできるけど
お題を読めないのは厳しいな
153デフォルトの名無しさん (ワッチョイ e7ce-1ffV)
2019/02/15(金) 11:49:05.00ID:6R3QhjK00 データ量と出現頻度と、呼び出し側でのデータの持ち方がわからない限り、最適解は出せないと思う
用途はなんだろう?半角カナが通るのにカナ小文字が使えないシステムなんて、大昔のオンラインシステムぐらいしか思い付かんけど
用途はなんだろう?半角カナが通るのにカナ小文字が使えないシステムなんて、大昔のオンラインシステムぐらいしか思い付かんけど
154デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 11:56:15.89ID:FxoJIoi60155デフォルトの名無しさん (ブーイモ MMcf-O/Qv)
2019/02/15(金) 11:59:50.72ID:GIzZTHxJM156デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 12:04:24.39ID:FxoJIoi60157デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 12:06:23.85ID:FxoJIoi60 基本的なことを理解せず、ソース書くやつって恥ずかしくないのかな?
158デフォルトの名無しさん (ブーイモ MMcf-O/Qv)
2019/02/15(金) 12:09:16.16ID:GIzZTHxJM >>157
不思議な意見を言う奴だな?
不思議な意見を言う奴だな?
159デフォルトの名無しさん (アメ MM6b-+q6E)
2019/02/15(金) 12:12:48.44ID:U9ClSHCYM >>158
ここは、もうやめよう
ここは、もうやめよう
160デフォルトの名無しさん (ブーイモ MM6b-OxnY)
2019/02/15(金) 12:42:06.25ID:Aa3kOoYYM 俺は理解したいけど使うの自分ならまぁ動けば良いや派です
話題変わるけど今はselenium使えないの?
firefox操作したいけど色々なサイトのコード試しても動かんのだけど最新のseleniumVBAでfirefox操作するVBA使ってる人居たらfirefox起動からログイン処理するコード貼ってほしい
話題変わるけど今はselenium使えないの?
firefox操作したいけど色々なサイトのコード試しても動かんのだけど最新のseleniumVBAでfirefox操作するVBA使ってる人居たらfirefox起動からログイン処理するコード貼ってほしい
161デフォルトの名無しさん (ドコグロ MM3b-3Kdw)
2019/02/15(金) 12:51:15.55ID:Qph8FA2WM162デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 12:54:55.89ID:FxoJIoi60 >>161
ふ〜ん、でどのように?(笑)
ふ〜ん、でどのように?(笑)
163デフォルトの名無しさん (JP 0H4f-mnSR)
2019/02/15(金) 13:05:41.84ID:QYjRxS22H 配列を使わざるを得ないなら二次元配列に変更前と変更後を並べて突っ込む
164デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 13:08:15.40ID:FxoJIoi60165デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 13:13:10.46ID:FxoJIoi60 もうやばいけど、バカって好きだな
166デフォルトの名無しさん (アメ MM6b-+q6E)
2019/02/15(金) 13:19:37.16ID:U9ClSHCYM >>161
で、何か意見は?
で、何か意見は?
167デフォルトの名無しさん (ブーイモ MMcf-O/Qv)
2019/02/15(金) 14:34:08.07ID:GIzZTHxJM168デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 14:59:45.37ID:FxoJIoi60 まあ、しょうがない罠
分かんないんだもの
分かんないんだもの
169デフォルトの名無しさん (ドコグロ MM3b-3Kdw)
2019/02/15(金) 15:22:25.20ID:Qph8FA2WM > 基本的なことを理解せず、ソース書くやつって恥ずかしくないのかな?
とか言いつつ質問者の意向もわからんのにコード書いてドヤるとか w
とか言いつつ質問者の意向もわからんのにコード書いてドヤるとか w
170デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 15:34:51.44ID:FxoJIoi60171デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 15:36:42.23ID:FxoJIoi60 あっ、すまん、ヒントを書いてもわからないんだよな
172デフォルトの名無しさん (ワッチョイ 27f9-xnHp)
2019/02/15(金) 15:43:07.43ID:FxoJIoi60173デフォルトの名無しさん (ドコグロ MM3b-3Kdw)
2019/02/15(金) 17:36:05.74ID:Qph8FA2WM >>170-172
だから
> 基本的なことを理解せず、ソース書くやつって恥ずかしくないのかな?
とかが不思議ちゃんて言われてるんだよ
セルへの書き込み程度でドヤるような奴だからしょうがないだろうけど w
だから
> 基本的なことを理解せず、ソース書くやつって恥ずかしくないのかな?
とかが不思議ちゃんて言われてるんだよ
セルへの書き込み程度でドヤるような奴だからしょうがないだろうけど w
174デフォルトの名無しさん (アメ MM6b-+q6E)
2019/02/15(金) 18:35:03.47ID:U9ClSHCYM >>173
うふ
うふ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
