- 1 名前:デフォルトの名無しさん [2017/05/16(火) 08:24:45.78 ID:iIGA/64l0.net]
- !extend:checked:vvvvv:1000:512
スレ立ての際は一行目に !extend:checked:vvvvv:1000:512 と入れてスレ立てして下さい ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part47 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1489557874/ ※関連スレ VBAなんでも質問スレ Part2 echo.2ch.net/test/read.cgi/tech/1432173164/ Access VBA 質問スレ Part1 echo.2ch.net/test/read.cgi/tech/1328536426/ Excel総合相談所 125 echo.2ch.net/test/read.cgi/bsoft/1481369538/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
- 202 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:01:45.26 ID:ADqqpGm90.net]
- 以前、ここでシフト表を作りたいって人がいて、んで別スレまで出来てあれこれ皆が頑張っていたけど、途中で多分本人がやる気なくしてw
アボンだったな
- 203 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:07:18.85 ID:z+zsvOR8p.net]
- >>193
残業代(金額)が、労働時間-8時間(時間) とかw 好意的に解釈して残業代じゃなくて残業時間だとしても -8時間かどうかは就業規則を読まないと判らないだろ
- 204 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:34:24.97 ID:D2f+EUmlM.net]
- >>191
timevalue関数はご存知かな? 日時の時間部分だけをDate型に変換してくれるけど、Date型の値は24時間(=1日)を1とした数値として扱える。 以下、日付を跨ぐ値は1(=24時間)を足してます。 深夜開始 = TimeValue("22:00:00") 深夜終了1 = TimeValue("5:00:00") 深夜終了2 = TimeValue("5:00:00") + 1 出勤 = TimeValue(Range("A1").Value) 退勤 = TimeValue(Range("A2").Value) If 出勤 > 退勤 Then 退勤 = 退勤 + 1 休憩 = TimeValue(Range("A3").Value) 労働時間 = 退勤 - 出勤 - 休憩 深夜労働時間 = IIf(出勤 < 深夜終了1, 深夜終了1 - 出勤, 0) If 出勤 < 深夜終了2 And 退勤 > 深夜開始 Then 深夜労働時間 = 深夜労働時間 + IIf(退勤 < 深夜終了2, 退勤, 深夜終了2) - IIf(出勤 > 深夜開始, 出勤, 深夜開始) End If たぶんこんな感じ。 出勤表なんて作ったことないからテキトーですw おかしかったら誰か直して〜
- 205 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:55:16.52 ID:Y2XmHkKh0.net]
- ?cells(1,1).Address
で絶対参照の$A$1は取得できますが、 行のみ相対参照の$A1を取得する方法はありますか?
- 206 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:59:09.40 ID:p/2ZNHs9p.net]
- それくらいヘルプ見れ
https://msdn.microsoft.com/ja-jp/library/office/ff837625.aspx
- 207 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:08:02.98 ID:Y2XmHkKh0.net]
- >199
ありがとうございます、解決しました
- 208 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:10:34.50 ID:Y2XmHkKh0.net]
- Range.Address プロパティ (Excel)について質問です
AddressはRangeオブジェクト内の関数ですが、vbaだと、値を取得する場合はプロパティと呼ぶのでしょうか? 引数があってもプロパティと呼ぶのですか? 他言語ではオブジェクトのメンバを直接取得したり値を設定するのがプロパティ、式がメソッドと思っていたのですが、 vbaが特別なのでしょうか。それとも他にこういう区分けの言語はあるのでしょうか piyo-js.com/01/keyword.html
- 209 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:39:33.41 ID:kSdgf1uK0.net]
- プログレスバー使ったら値更新するたびにフォーカス奪うようになって別ウィンドウで文字入力とかスクロールしてると邪魔される
せっかくの長い処理中に別作業できるメリットが損なわれるようになってしまって困ってるんだけど何か解決策ないでしょか…? プログレスバーないと処理中不安になって長く感じるのでできれば使いたいです ちなみにWindows7上で使ってるExcel 2010です
- 210 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:44:33.10 ID:CFQVOeJer.net]
- >>201
Addressは要はgetterですよね Rangeクラス内部から見ればメソッドのように見え、クラス利用側から見るとメンバ変数のように振る舞いますが、 実態はString型の変数を返すメソッドでふ メソッドがパラメーターを持つのは普通のことじゃないですかね
- 211 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:47:22.57 ID:CFQVOeJer.net]
- でふって何だよ馬鹿かよ俺
- 212 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:52:40.77 ID:Y2XmHkKh0.net]
- >>191
暇だから作った www.dotup.org/uploda/www.dotup.org1258917.xlsx.html >>203 そうそう、そうなんです で、vbaではそれをプロパティと呼ぶの?という質問なんです このリンク先ではaddressをプロパティと言っています https://msdn.microsoft.com/ja-jp/library/office/ff837625.aspx
- 213 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:55:26.87 ID:CFQVOeJer.net]
- >>201
引数つきのgetter/setter(プロパティへのアクセサ)を作れるかどうかは言語仕様によります。 VBでは作れる、というだけの話
- 214 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 00:16:59.54 ID:jVvBcvpG0.net]
- 今日飲んだビール.TopValue
- 215 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 01:48:09.41 ID:nPuq94IW0.net]
- >>205
自作クラスで言うと、 property get/set/let で定義するのがプロパティ、 sub/function で定義するのがメソッド。 range.addressみたく、getだけ定義されているプロパティとfunctionは外から見たら同じようなものだし、気にする意味がないと思う。
- 216 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 07:02:03.86 ID:NmLbt9VS0.net]
- >>206>>208
なるほど、ありがとうございました 色々な考え方があるのですね >>207 韓国産でしたっけ?危険ですのでやめたほうが良いと思います お金のために健康を捨てるのはもったいないです
- 217 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:47:49.12 ID:ktSIKEk8H.net]
- >>202
ステータスバーに進捗状況を表示するようにしたら?
- 218 名前:デフォルトの名無しさん [2017/05/24(水) 14:14:59.56 ID:9bsixbB10.net]
- VBA勉強中の初心者です。
最終的にやりたいのはテキストエディタから一部データを抜き出すのをしたいんですが抜き出し方がわかりません。 メモ帳にログが取り込まれてそこから必要なデータを取り除きたいです。 コンビニのレシートがデータしてるものと考えてください。 それでそのレジの最後の一台当たりの発売金額がわかるんですけど発売金額を抜き出したいのですが何をどうしたらいいのでしょうか? まだ変数と制御構文くらいしか理解していません。
- 219 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 14:38:10.49 ID:ktSIKEk8H.net]
- >>211
正規表現(RegExp)を使うと、指定したパターンに適合する文字列を抜き出せる。 以下は、"発売金額 \1,000"という文字列から"1,000"を抜き出すコード。 Sub foo() Set regex = CreateObject("VBScript.RegExp") regex.Pattern = "発売金額 \\([\d,]+)" Set res = regex.Execute("aaa発売金額 \1,000 bbb") If res.Count > 0 Then Set res2 = res(0).SubMatches Debug.Print res2(0) End If End Sub
- 220 名前:デフォルトの名無しさん [2017/05/24(水) 14:44:53.85 ID:9bsixbB10.net]
- おお!ありがとうございます。
これを元に一つ一つググりながら理解していこうと思います。
- 221 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 14:53:05.51 ID:9OGm2Cju0.net]
- >>211
VBAからADO使ってログファイル読み込みその際にSQL使って絞り込み >>212 fooを使うんじゃねえhg
- 222 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:37:48.65 ID:NmLbt9VS0.net]
- なんでfoo使うのダメなの?
- 223 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:45:27.67 ID:BVqzNkwop.net]
- >>214
何でテキストファイルを読み込むのにSQLとかADO使うの?
- 224 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:52:32.09 ID:qKRKK3Glx.net]
- >>216
適材適所
- 225 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:02:38.69 ID:LTICL+DVa.net]
- HYPERLINK関数(mailto:)を使って、メールを送信するシートを作成しました。
B2からB30セルまで、ハイパーリンクが設定されている状態です。 この、B列に並んだハイパーリンクを全てクリックして自動で実行したいのですが、どのようなコードを使えばよいのか分かりません。 Hyperlink.Followメソッドでは、関数によるハイパーリンクを開けないことは分かったのですが、何か代替手段はあるでしょうか?
- 226 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:18:29.39 ID:NmLbt9VS0.net]
- >>218
マクロ4.0でいけるっぽい https://oshiete.goo.ne.jp/qa/7192323.html
- 227 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:09:08.13 ID:YRGsLxEEr.net]
- >>218
なぜハイパーリンクしてるの? VBAでセルの文字列データを取得して、それを使ってふつうにメールアイテムを作成して送信すれば良さそうだが
- 228 名前:デフォルトの名無しさん [2017/05/24(水) 20:17:47.99 ID:WW1YGaoR0.net]
- >>220
それはあらゆる場面において最低の解法 なぜかは自分で考えてね
- 229 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:48:39.32 ID:42FTyawn0.net]
- だから、ちゃんと教える気がないなら黙ってろと
- 230 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:49:24.31 ID:NmLbt9VS0.net]
- >>221
横からだけどさっぱり分からない 教えてください
- 231 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:12:42.89 ID:9OGm2Cju0.net]
- >>216
>>211見てなんで使わないと思ったの?
- 232 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 21:23:52.71 ID:YRGsLxEEr.net]
- >>221
あらゆる場面で、というのは随分と強い主張だな シートのUI上でハイパーリンクを設定すべきかどうか、コード側でメールアイテム作成を制御すべきかどうかは設計次第だろ
- 233 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:00:58.40 ID:LLuwxDnS0.net]
- >>193
>>205 ありがとうございます。入力フォーマットが既に決まっていて変更できず休憩時間を手入力させるのは難しいです 21:00〜6:00の場合、22:00〜5:00の時間が何時間含まれているかわかればいいんですがいいロジックが思い浮かびません 今思い浮かんだのは1ヶ月間を0〜744時と考えて、24(n-1)を足せば求められるんではと考えてしまいます あと今日VBAでSQLのクエリ文を作っていたのですがString型って文字数制限があるんですか? それにに引っかかったみたいで途中クエリが消えてしまい原因がわからずかなり苦戦しました
- 234 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:03:01.52 ID:BVqzNkwop.net]
- >>224
何でテキストをsqlで読もうとするの?
- 235 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:06:50.11 ID:NmLbt9VS0.net]
- >>226
数式読みなよ、全部書いてる www.dotup.org/uploda/www.dotup.org1258917.xlsx.html あとstringに制限は事実上ない 一旦varchar(255)辺りに入れてない?テーブルの制限に引っかかってる気がする
- 236 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 00:02:05.58 ID:rwwycwh80.net]
- >>227
>>211見てなんで使わないと思ったの?
- 237 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 00:54:27.96 ID:UDUA6Pg7p.net]
- >>229
sqlって何する為のものか知ってる?
- 238 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 01:14:28.72 ID:+tui60Va0.net]
- SQLはOracleに代表されるようなDBMSを制御するための言語 ExcelでもDMMSを相手にして使えるがそれはDBMSあってのこと
- 239 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 01:15:33.62 ID:+tui60Va0.net]
- ×DMMSを相手に ○DBMSを相手に
- 240 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 04:05:21.88 ID:VTDAVdX70.net]
- 別にADOは便利なツールとしても使えるだろ。
けど、俺もテキストエディタだったらもっと単純にゴリゴリしたの考えるな。 LeftとかMidとかRightとかInstrとかInstrRevとかを使ったようなの。
- 241 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 04:15:26.23 ID:VTDAVdX70.net]
- あっ、テキストエディタ作りたいんじゃ無くて、テキストからデータ取り出したいだけ?
だったら、やっぱりMidとかInstrとか基本的な関数で十分な気がするね。 >>211 発売金額はテキストの中でどんな風に位置してるの? 例えば10行目の20文字目から10桁みたいな感じ?
- 242 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 04:18:03.03 ID:VTDAVdX70.net]
- >>211
あと、何でメモ帳使いたいのかな? 別にメモ帳上でいろいろ操作することも出来るけど、少しだけ高度になるんだよね。
- 243 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 08:42:10.69 ID:QSuakdFza.net]
- >>219
ありがとうございます! リンク先に記載のコードを試してみたのですが、残念ながら「指定されたファイルを開くことができません」のエラーが出てしまいました。 普通にセルをクリックするとメールが立ち上がるのですが、vbaを使うと、このようになってしまいます… >>220 大変レベルが低い話なのですが、 滅多に触ることのない超初心者のため、作る労力とメンテナンスのことを考えて、できることは関数ですませ、vbaは最低限にしている次第です。
- 244 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 08:53:36.25 ID:MawhMErZ0.net]
- >>236
「ハイパーリンクをクリック」 逆に難易度が上がってるぞ
- 245 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:02:32.06 ID:KGZHRfFH0.net]
- >>236
>>219の方法でやるなら HYPERLINK関数の 第二引数を省略した形で Evaluate しないとだめよん よって ・元々の HYPERLINK関数で 第二引数を省略してしまう ・VBAで HYPERLINK関数の第二引数をカットしてからの Evaluate のどっちかにするしかない がんばってね
- 246 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:10:08.17 ID:slr5zzcza.net]
- >>238
第二引数を省略したら、無事にメール作成できました! 今の自分のレベルでは、仕組みが理解できていませんが、本当に助かりました。 ありがとうございます! >>237 こちらの方がレベルが高かったのですか… そういったことの判断すらできず、vbaでノーツメールを直接作るコードを調べてみて、複雑そうなので、諦めてしまっていました。 もう少し勉強しようと思います。
- 247 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:33:52.09 ID:6krMH9aUr.net]
- >>239
クリック等のイベントをトラップしようとすると、既定オブジェクトのモジュールやクラスモジュール等にコードを書いてハードコーディングしなきゃならなくやる イベントの発生タイミングを考えてエラー回避の制御なども追加しなきゃならない イベントはコードディングと保守の難易度を上げる、と認識すると良いよ メーラーアプリのオブジェクトインスタンスを作成して操作するやり方は一見複雑そうだけど、やってることはエクセルの既定オブジェクトの操作と一緒 基本的には標準モジュール一個でコードが収まるから楽だよ
- 248 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:27:17.14 ID:BhGEKkNfa.net]
- >>240
別にそんなにハードル上がってるわけじゃないでしょ。 こういう場合、自分はまずメールを作るプロシージャを作る。 それはメールに必要な宛先、タイトル、本文等の引数を元にしたプロシージャとなるだろう。 そして当然汎用的なものだから標準モジュールに書くことになるだろう。 後はそれをどのようによび出すかを考えれば良い。 B2からB30までのアドレスを元にメールを作るのだからメニュー(コマンドバー)から呼び出すとかシートに貼り付けたボタンから呼び出すとかが考えられる。 呼び出す処理ではB2からB30までのループ処理の中で標準モジュールに作ったメール作成プロシージャを呼び出すようにすれば良い。 尚、この場合ハイパーリンクはプログラムと関係が無い。 個別に開くために設定しても良いし、設定しなくても良い。 単純に空のメールを一度に複数開きたいだけならハイパーリンク使う方が簡単な気もするけど、そんな需要で完結するとは思えない。 だから自分だったら両方作って片方をコメントアウトしとくだろうな。
- 249 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:42:30.82 ID:yXnULsJhH.net]
- 俺語りうぜぇ
- 250 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:44:23.96 ID:9Akggys5x.net]
- >>242
お前の感想は もっと要らない
- 251 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:58:40.94 ID:yXnULsJhH.net]
- >>229
> >>211見てなんで使わないと思ったの? なんでって普通使わないから。
- 252 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 17:43:48.64 ID:6krMH9aUr.net]
- >>241
メールアイテム作成が複雑そうと言ってるのは質問者なので、そこは間違えないでね
- 253 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 17:58:07.99 ID:yS9f0RVc0.net]
- VBAに滅多に触ることのない超初心者になに難しいこと語っちゃってんだよw
- 254 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:04:11.11 ID:yX9RoGiCa.net]
- データの取り出し方とか質問するならせめてデータ構造の例ぐらい出しておかないと返事のしようがないような
- 255 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:13:41.54 ID:DyEVqbiqd.net]
- テキストファイルをSQLで扱うときってどのドライバを使うもんなの?
- 256 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:18:45.36 ID:yXnULsJhH.net]
- >>248
> テキストファイルをSQLで扱うときってどのドライバを使うもんなの? だから、普通はしないってば。 相手がCSVならかろうじてする場合もあるかもレベル。
- 257 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:08:00.44 ID:BhGEKkNfa.net]
- いや、だから便利にADO使う場合もあるってば。
例えばUTF8の読み書きとか。 他にも
- 258 名前:色々利用できるものがある。 []
- [ここ壊れてます]
- 259 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:19:07.99 ID:IjFnSfL20.net]
- >>250
色々って例えば何?
- 260 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:35:14.21 ID:eYj1KCTuM.net]
- 曖昧だなぁ
- 261 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:12:54.49 ID:MawhMErZ0.net]
- テキストファイルにSQL使える事に驚き
- 262 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:35:50.77 ID:Prbt/S0pa.net]
- >>251
例えばネットからファイルをダウンロードする場合、普通はURLDownloadToFileを使うと思うが認証付きの場合はADOが使える場合がある。
- 263 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:27:40.96 ID:bN5MkpLw0.net]
- 名前の判別でRかLのはいったやつを分けるマクロが書きたいんですがRとLは,かスペースに挟まれてるか最後一文字です
ただし最後一文字ならその前にスペースが入ってます こういう場合スマートな判別ってどうしますか?
- 264 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:47:25.62 ID:o/KEVGaTr.net]
- >>255
正規表現で解決じゃね
- 265 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:08:23.52 ID:rwwycwh80.net]
- >>247
まぁそうだけど大体ログと言えば規則的に並んでいると推測できるよね 視野が狭い人多い そもそも>>211と>>216をよく読んで理解せずに発言してる人多過ぎ
- 266 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:14:32.15 ID:Priyoi2O0.net]
- 煽ってるわけじゃないが、>>211は全力で意味を理解しようと思って読んでも
どういう状態を説明しているのか、よく分からなかった(特に後半) みんなスゴイね(まじで)
- 267 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:23:44.35 ID:rwwycwh80.net]
- >>255
>>212のように正規表現がいいけど 細かい話をするとスマートが何を指しているのか 早さとかコードの見た目とかね >>258 ド素人の言い回しって大体わかるじゃん?たまにぶっとんでるのいるけど だいたいこういうのは、CSVで出力されたPOSデータの計行のみ抽出したいってぱとぅーん だから>>214、もちろんその後でMIDとか使う必要はあると思う
- 268 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:24:53.01 ID:rwwycwh80.net]
- >>258
分かってない奴の事を分かっていないで理解しようとしないから タイヤブランコみたいなのが出来ちゃうんだよww
- 269 名前:デフォルトの名無しさん [2017/05/25(木) 23:29:21.59 ID:trQS6AD+0.net]
- >>259
正規表現は何がスマートなのか 早さ?がスマートな例は コードの見た目がスマートな例は たった3種類なんだから答えてあげれば?
- 270 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:31:18.48 ID:rwwycwh80.net]
- >>261
そういうのいいからw仲良くやろうぜ
- 271 名前:デフォルトの名無しさん [2017/05/25(木) 23:33:20.64 ID:trQS6AD+0.net]
- >>262
お前がいじわるなつっこみするから俺もいじわるしただけだ
- 272 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:35:49.43 ID:MawhMErZ0.net]
- この件で言えばスマートなのはどう考えても正規表現だろう
ifやmidで無理矢理解決するのは力技ではなく、単に勉強不足だ
- 273 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:36:09.55 ID:rwwycwh80.net]
- マにありがちな意地悪なw
突っ込まれたいとか>>263ホモ警報w
- 274 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:37:26.93 ID:rwwycwh80.net]
- >>255は多分釣り
分かってて書いてる感
- 275 名前:デフォルトの名無しさん [2017/05/25(木) 23:40:28.47 ID:trQS6AD+0.net]
- >>265
あ?調子に乗りすぎだお前
- 276 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:43:35.70 ID:rwwycwh80.net]
- >>267
255の正規表現を誰かが書くと、とたんに俺が書いた正規表現の方がスマートだ合戦開始の流れだよなw
- 277 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:45:17.90 ID:o/KEVGaTr.net]
- midとかifだと、検索対象文字列のパターンが変更されたらいちいち検索処理の制御構造を変えなきゃならないかもしれない
正規表現だったら大抵RegExpオブジェクトのプロパティの設定値を変えるだけで修正が終わる
- 278 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:49:52.88 ID:2PvZEflm0.net]
- 俺なら正規表現とか難しいのわかんないからこれで済ませちゃうな
スマートさのかけらもないけど Function isRL(str) As Boolean isRL = str Like "*[, ][RL][, ]*" Or str Like "* [RL]" End Function
- 279 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:53:17.40 ID:rwwycwh80.net]
- >>270
それだと ,R_ みたいなのも反応しちゃうような _はスペースね これも全角半角スペース区別とか不明だからまあ
- 280 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:57:37.38 ID:2PvZEflm0.net]
- >>271
日本語がどっち指してるかわからなかったからそれも含まれると解釈したんだけど それ入らないならOrいっこ増やすだけだし もちろんもっと複雑さが増してくれば正規表現調べようって気にもなってくるけどね
- 281 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:01:53.74 ID:WxppAu020.net]
- >>272
>>263と同じで突っ込みたかっただけ、めんごめんごw あとLikeだと大文字小文字区別しないよね、だから RLもrlも混同してしまうマッチだけにwww
- 282 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:08:29.13 ID:JFu5myv50.net]
- >>273
おまえいいやつだな それでも突っ込むとOption Compare Text書いてなければ大文字小文字区別するよ
- 283 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:09:45.41 ID:WxppAu020.net]
- >>274
勘違いしてたすまん、女だから許してw
- 284 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:15:45.66 ID:Q8wFVHRlr.net]
- 女だから許してで草
今度から俺も使おうw
- 285 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:16:58.01 ID:WxppAu020.net]
- >>276
だってせっかくこれ言いたかったら間違えたのに 誰も突っ込んでくれないからさ >RLもrlも混同してしまうマッチだけにwww
- 286 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:24:41.93 ID:JFu5myv50.net]
- Option Compare Gender
- 287 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:48:48.42 ID:Q8wFVHRlr.net]
- 混同でマッチで喜ぶとかババァで草
- 288 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 06:10:08.78 ID:7RhNv1Zw0.net]
- >>257
そんなのただの推測に過ぎないだろ
- 289 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 08:11:41.20 ID:Y2pnKR05a.net]
- >>257
そりゃそうだが、たまに意味わからん形式のログあったりするし 説明のしやすさに直結するだろ
- 290 名前:255 mailto:sage [2017/05/26(金) 08:38:47.74 ID:iQOaaYC+M.net]
- いろいろな意見ありがとうございます
釣りではないですが正規表現で良さそうとは感じていました ただ正規表現の書き方がわからなかったのと本当に正規表現が一番適した書き方かわからないのでああいう聞き方になりました なんか混乱させてしまったようですみません
- 291 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 09:24:25.07 ID:HjxgyacU0.net]
- すまん俺も女だわ
髭そって会社いくか・・
- 292 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 09:50:48.59 ID:Vk+zDyie0.net]
- 正規表現が良いとは限らんよ。
構造を元にした固定の場所の方が良い場合もある。 だからデータの中から取り出したい値がどの様に配置されてるかが重要。 質問する時に出来ればそれを示して欲しかったね。
- 293 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 09:52:42.09 ID:Vk+zDyie0.net]
- >>282
ごめん。 >>255で書いてあったか。 正規表現だね。
- 294 名前:デフォルトの名無しさん [2017/05/26(金) 10:23:01.77 ID:4SMbnGa40.net]
- 初心者です。
ユーザーフォームを最近覚えて作成中です。 中身はとりあえずメッセージBOXで工事中にしてユーザーフォームを凝ってみようと思うんですけど いい見本とかありませんか? アプリっぽく作ってシートへのハイパーリンクで満足しようかと思います。
- 295 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 11:05:39.54 ID:FvwfjnU+H.net]
- >>250
> 例えばUTF8の読み書きとか。 それは、ADODB.Streamを使うということであって、SQL(クエリ)を使うということじゃないよね。 故意になのか無意識なのかしらないけど、それを混同させてどうしたいのか。
- 296 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 19:27:53.93 ID:HjxgyacU0.net]
- >>286
イマイチ何がしたいかわからんが、 よく使われるもの、googleかamazon辺りを参考にしてみては
- 297 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 19:40:01.56 ID:KALLaxQr0.net]
- 昨日正規表現で質問したものです。
リファレンスブックを読みながら正規表現で[,\s]R[,\s$]ってな感じで検索して マッチした数値>0で
- 298 名前:ェ別ってプログラムを組んだのですが、一つ問題が…
取得した文字列の最後が,Rとなっていたときに反応しないです… 正規表現としてはこれであっていると思うのですが何か勘違いしてるんでしょうか? [] - [ここ壊れてます]
- 299 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:03:21.45 ID:HjxgyacU0.net]
- >>289
こうだとうまくいく [,\s](R[,\s]|R$) []内に$はダメなんかね
- 300 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:07:54.29 ID:I1+YwiguM.net]
- >>289
文字列の最後としての $ は文字じゃないから [ ] の中には入れられない (入れると文字としての $ と見なされると思う) > 名前の判別でRかLのはいったやつを分けるマクロが書きたいんですがRとLは,かスペースに挟まれてるか最後一文字です これちょっと曖昧 ",R," とか " R " はいいとして " R," とか ",R " もいいのか? とりあえずいいとしてスマートかどうかを問わなきゃ "(?:[\s,][LR][\s,].*|\s[LR])$" 辺りでどうか
- 301 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:08:59.71 ID:WxppAu020.net]
- >>289
勘違いしてます ([,\s][R][,\s]?$) あとそれだと、,R,だけじゃなくて,R_みたいなのも反応するけどいいの? って聞いたんだけどお前全然人のレス読んでないのなw
- 302 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:19:12.02 ID:WxppAu020.net]
- 質問者 >>255 (ドコグロ MM3f-fCG8) ID:iQOaaYC+M
回答者 >>291 (ドコグロ MM3f-ijLw) ID:I1+YwiguM やはりお姉さんの言った通り(>>266)釣りだった感
|

|