!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:3lTArmdf019デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/10(日) 10:48:51.96ID:px4mCHlG0 >>8
昔は、メモリーの領域を分け合って使ってたけど
いまわ全てオブジェクトと思え
エクセルは色々このオブジェクトの使い方が説明されていて
機能も多い
いやならすべて作ればとなるが、所詮何も出来ないだろ
昔は、メモリーの領域を分け合って使ってたけど
いまわ全てオブジェクトと思え
エクセルは色々このオブジェクトの使い方が説明されていて
機能も多い
いやならすべて作ればとなるが、所詮何も出来ないだろ
20デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/10(日) 10:52:53.82ID:px4mCHlG021デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/10(日) 10:57:18.71ID:px4mCHlG0 したがって、プロシージャ名は配列で宣言し、サブルーチンの時の処理が必要になるが
これは、システムが管理しているのを使うべきだな、すまない
これは、システムが管理しているのを使うべきだな、すまない
22デフォルトの名無しさん (ワッチョイ e188-drk2)
2019/02/10(日) 11:29:32.47ID:adWOvpgi023デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/10(日) 12:19:38.78ID:px4mCHlG0 まあなんだな、質問して回答を実行してできたことが答えじゃなくて
何故できなくて、何で出来たのが答えなんだけどな
何故できなくて、何で出来たのが答えなんだけどな
24デフォルトの名無しさん (アークセー Sxd1-Hrf8)
2019/02/10(日) 12:35:46.47ID:YUFMtInCx >>22
今回の質問はエクセルのオブジェクトモデルに忠実に従えば解決するものだよ
VBS含め他のどんな言語を選択しようが、そのあたりの事情は変わらない
具体的には、今回はSelectionへのアクセス方法がおかしかったわけで、
MSDNリファレンスのプロパティ一覧を見たり、VBEのオブジェクトブラウザでプロパティを検索したりすれば、
Worksheetオブジェクトには現在の選択範囲へのアクセスを提供するSelectionプロパティがないことや、
SelectionプロパティはApplicationオブジェクトのメンバとして実装されていることが分かる
今回の質問はエクセルのオブジェクトモデルに忠実に従えば解決するものだよ
VBS含め他のどんな言語を選択しようが、そのあたりの事情は変わらない
具体的には、今回はSelectionへのアクセス方法がおかしかったわけで、
MSDNリファレンスのプロパティ一覧を見たり、VBEのオブジェクトブラウザでプロパティを検索したりすれば、
Worksheetオブジェクトには現在の選択範囲へのアクセスを提供するSelectionプロパティがないことや、
SelectionプロパティはApplicationオブジェクトのメンバとして実装されていることが分かる
25デフォルトの名無しさん (ワッチョイ 8dda-OF6d)
2019/02/10(日) 12:45:32.26ID:7rlN1EyT0 >>22
無理に移るんじゃなくて、併用するとか。
無理に移るんじゃなくて、併用するとか。
26デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/10(日) 12:48:09.50ID:px4mCHlG0 前スレでもあったが、シートを選択してなければ、そのシートの選択範囲は取れない
ただそれだけだろ
ただそれだけだろ
27デフォルトの名無しさん (アークセー Sxd1-Hrf8)
2019/02/10(日) 12:56:37.91ID:YUFMtInCx >>26
元の質問のサンプルはsheet.Selectionという式の構文が間違っているので、仮にシートを選択していようが選択範囲は取れない
あと、シート上のSelectionの情報を取るだけなら画面遷移を伴うSelectではなくActivateで十分だろう
元の質問のサンプルはsheet.Selectionという式の構文が間違っているので、仮にシートを選択していようが選択範囲は取れない
あと、シート上のSelectionの情報を取るだけなら画面遷移を伴うSelectではなくActivateで十分だろう
28デフォルトの名無しさん (ワッチョイ e188-drk2)
2019/02/10(日) 13:00:02.97ID:adWOvpgi0 >>24
全く同じことをjsとvbsでやってみました。jsはうまく動作しますが、vbsは動きません
selectedにRowはないと言ってきます。レンジの選択はちゃんと出来ています
jsのコード
var book = GetObject("C:\\file.xls");
var sheet = book.Worksheets( 1 );
sheet.Select;
sheet.Range( "A1", "B10" ).Select
var selected = book.Application.Selection;
var x = selected.Column + selected.Columns.Count - 1;
var y = selected.Row + selected.Rows.Count - 1;
WScript.echo( "x=",x,", y=", y );
book = null;
WScript.Quit(2);
vbsのコード
Set book = GetObject("C:\\file.xls")
Set sheet = book.Worksheets( 1 )
sheet.Select
sheet.Range( "A1", "B10" ).Select
Set selected = book.Application.Selection
Set x = selected.Row ' ここでエラー
MsgBox "x:" & x
Set book = Nothing
全く同じことをjsとvbsでやってみました。jsはうまく動作しますが、vbsは動きません
selectedにRowはないと言ってきます。レンジの選択はちゃんと出来ています
jsのコード
var book = GetObject("C:\\file.xls");
var sheet = book.Worksheets( 1 );
sheet.Select;
sheet.Range( "A1", "B10" ).Select
var selected = book.Application.Selection;
var x = selected.Column + selected.Columns.Count - 1;
var y = selected.Row + selected.Rows.Count - 1;
WScript.echo( "x=",x,", y=", y );
book = null;
WScript.Quit(2);
vbsのコード
Set book = GetObject("C:\\file.xls")
Set sheet = book.Worksheets( 1 )
sheet.Select
sheet.Range( "A1", "B10" ).Select
Set selected = book.Application.Selection
Set x = selected.Row ' ここでエラー
MsgBox "x:" & x
Set book = Nothing
29デフォルトの名無しさん (ワッチョイ 1df9-n/rh)
2019/02/10(日) 13:03:50.84ID:px4mCHlG0 >>27
すまないな
>シート上のSelectionの情報を取るだけなら画面遷移を伴うSelectではなくActivateで十分
実質的にどう違うかわからないので申し訳ありませんが教えていただけませんか
すまないな
>シート上のSelectionの情報を取るだけなら画面遷移を伴うSelectではなくActivateで十分
実質的にどう違うかわからないので申し訳ありませんが教えていただけませんか
30デフォルトの名無しさん (アークセー Sxd1-Hrf8)
2019/02/10(日) 13:14:52.82ID:YUFMtInCx31デフォルトの名無しさん (ワッチョイ 9111-gf/b)
2019/02/10(日) 13:26:46.13ID:BFbUXkOH032デフォルトの名無しさん (ワッチョイ e188-drk2)
2019/02/10(日) 13:31:40.65ID:adWOvpgi0 >>31
出来た。 なんだかなあ、、、w
出来た。 なんだかなあ、、、w
33デフォルトの名無しさん (ワッチョイ e188-drk2)
2019/02/10(日) 13:44:31.83ID:adWOvpgi0 >>24
いろいろ試してみてわかりました
もともと、エクセルのマクロで
y = Selection.Row + Selection.Rows.Count - 1
x = Selection.Column + Selection.Columns.Count - 1
と書いていたものをjsでそのままやったら動かないので、
sheet.Selectionとしたり、book.Selectionとしたりいろいろと試したのですが、
Appliction.Selectionだったんですね
x = book.Application.Selection.Row + book.Application.Selection.Rows.Count - 1
とすれは、jsでもvbsでも両方で動きました
実際は、
Set selected = book.Application.Selection
と一旦とってからの方がやりやすいですね。ありがとうございました
いろいろ試してみてわかりました
もともと、エクセルのマクロで
y = Selection.Row + Selection.Rows.Count - 1
x = Selection.Column + Selection.Columns.Count - 1
と書いていたものをjsでそのままやったら動かないので、
sheet.Selectionとしたり、book.Selectionとしたりいろいろと試したのですが、
Appliction.Selectionだったんですね
x = book.Application.Selection.Row + book.Application.Selection.Rows.Count - 1
とすれは、jsでもvbsでも両方で動きました
実際は、
Set selected = book.Application.Selection
と一旦とってからの方がやりやすいですね。ありがとうございました
34デフォルトの名無しさん (ワッチョイ e188-drk2)
2019/02/10(日) 15:20:48.09ID:adWOvpgi035デフォルトの名無しさん (ワッチョイ a98e-Gewk)
2019/02/10(日) 15:55:33.83ID:hManQYIw036デフォルトの名無しさん (ワッチョイ 911f-Q5xa)
2019/02/10(日) 16:05:34.34ID:ZjJO7g3i0 >>6
だれかこれ分かる人おらん?
だれかこれ分かる人おらん?
37デフォルトの名無しさん (ワッチョイ 0201-3tWi)
2019/02/10(日) 16:25:54.76ID:vOpxNkmL038デフォルトの名無しさん (ワッチョイ 868c-RyKv)
2019/02/10(日) 18:24:50.29ID:kyKghR0l0 C#わからんから無責任発言するけどC++でdll作りゃ問題ないならそうすれば?
39デフォルトの名無しさん (ドコグロ MM09-/S9r)
2019/02/10(日) 18:46:31.86ID:96GWWqq3M C++で橋渡しするならC++/CLIでできるね
でもそんな面倒なことをするより普通にexe作るかpowershell書くかして別プロセスとして呼べばいいよ
データの受け渡しはコマンドライン引数なり標準入出力なりを使えばよい
でもそんな面倒なことをするより普通にexe作るかpowershell書くかして別プロセスとして呼べばいいよ
データの受け渡しはコマンドライン引数なり標準入出力なりを使えばよい
40デフォルトの名無しさん (ワッチョイ 0201-3tWi)
2019/02/10(日) 19:52:43.32ID:vOpxNkmL0 なんでより面倒な方法をドヤ顔で書いてるんだよ w
C#で書いてちゃんと設定すりゃインテリセンスも効くというのにコマンドラインとかありえねー
C#で書いてちゃんと設定すりゃインテリセンスも効くというのにコマンドラインとかありえねー
41デフォルトの名無しさん (アウアウウー Sa05-BKX2)
2019/02/10(日) 20:43:54.86ID:fHWqGmK3a42デフォルトの名無しさん (ワッチョイ 868c-RyKv)
2019/02/10(日) 21:28:15.49ID:kyKghR0l043デフォルトの名無しさん (ワッチョイ aeda-OF6d)
2019/02/11(月) 02:36:20.89ID:QZQ3TitU0 >>5
はるか昔に似たようなことやろうとしたが断念して↓で落ち着いた
MsgBox "Err." & err.Number & " " & err.Description, vbCritical, "モジュール名"
はるか昔に似たようなことやろうとしたが断念して↓で落ち着いた
MsgBox "Err." & err.Number & " " & err.Description, vbCritical, "モジュール名"
44デフォルトの名無しさん (ワッチョイ 911f-Q5xa)
2019/02/11(月) 14:06:13.76ID:2OxsMAwm0 >>37
やっぱ直接は無理か。管理者権限とかCOM経由しか無理なら諦めます。
やっぱ直接は無理か。管理者権限とかCOM経由しか無理なら諦めます。
45デフォルトの名無しさん (ワッチョイ 911f-Q5xa)
2019/02/11(月) 14:07:58.69ID:2OxsMAwm0 >>41
直接は無理そうなんで諦めます。
直接は無理そうなんで諦めます。
46デフォルトの名無しさん (JP 0H16-KbRv)
2019/02/11(月) 15:17:21.04ID:PhhkhwtYH >>5
CodeModuleプロパティでなんかできそうだけど使ったことないからわかんね
CodeModuleプロパティでなんかできそうだけど使ったことないからわかんね
47デフォルトの名無しさん (ワッチョイ a969-z8kj)
2019/02/11(月) 17:58:03.71ID:fFRcOW+J0 エクセルのシートやセルのオブジェクトにどんなメソッドやプロパティがあるのか見れるところないですか
48デフォルトの名無しさん (アウウィフ FF05-DOJB)
2019/02/11(月) 18:04:33.43ID:itY+kGJRF49デフォルトの名無しさん (ワッチョイ dd0b-VUEs)
2019/02/11(月) 18:43:45.66ID:fA09NaPq050デフォルトの名無しさん (ワッチョイ e1b5-drk2)
2019/02/11(月) 18:49:07.13ID:TpVFRub80 >>49
ん? これ、何のファイル?
ん? これ、何のファイル?
51デフォルトの名無しさん (ワッチョイ cdca-/S9r)
2019/02/11(月) 22:38:05.08ID:9CUrx5/r0 このスレの人ってやっぱりプログラマーが多いんですか?
それなりにVBA使えるようになった事務職なんですが、転職を考えています
想像してはいたんですが、VBAで職探しするとプログラマーばっかりですね
VBA活かせる仕事ってやっぱりプログラマーになっちゃうんですかね
それなりにVBA使えるようになった事務職なんですが、転職を考えています
想像してはいたんですが、VBAで職探しするとプログラマーばっかりですね
VBA活かせる仕事ってやっぱりプログラマーになっちゃうんですかね
52デフォルトの名無しさん (ドコグロ MMca-/S9r)
2019/02/11(月) 22:48:43.99ID:+VAWjoKJM >>51
プログラマの定義から自明だろう
VBAのスキルだけで仕事するってことはVBAでマクロ作ること自体を仕事にするってことだろ?
それは即ちプログラマに他ならない
嫌なら他のスキルを身につけた上でその補助道具としてVBAを使うことを考えなさい
プログラマの定義から自明だろう
VBAのスキルだけで仕事するってことはVBAでマクロ作ること自体を仕事にするってことだろ?
それは即ちプログラマに他ならない
嫌なら他のスキルを身につけた上でその補助道具としてVBAを使うことを考えなさい
53デフォルトの名無しさん (アウアウウー Sa05-BKX2)
2019/02/11(月) 22:54:21.26ID:QKPibkACa >>51
プログラマはVBAほとんど書きません
プログラマはVBAほとんど書きません
54デフォルトの名無しさん (ドコグロ MMca-/S9r)
2019/02/11(月) 23:04:40.76ID:+VAWjoKJM あとはIT業界でプログラマ以外で入りやすいのはシステムオペレータやコールセンター
VBAを使う機会は少ないかもしれないけどVBAを習得できる程度の頭があるならそれなりに責任たある立場(バイトリーダーくらいを想像すればいい)にはなれるんじゃないかな
VBAを使う機会は少ないかもしれないけどVBAを習得できる程度の頭があるならそれなりに責任たある立場(バイトリーダーくらいを想像すればいい)にはなれるんじゃないかな
55デフォルトの名無しさん (ワッチョイ 6e2c-V6Wy)
2019/02/11(月) 23:51:16.39ID:X8tlYFxV0 Excel エンジニアから、ステップアップしてプログラマーになった人は、たいてい、Ruby on Rails !
まず、Ruby・Sinatra から、web フレームワークを始める
YouTube にも、そういう成功した人たちの動画がある
まず、Ruby・Sinatra から、web フレームワークを始める
YouTube にも、そういう成功した人たちの動画がある
56デフォルトの名無しさん (ワッチョイ cdca-/S9r)
2019/02/11(月) 23:54:44.08ID:9CUrx5/r0 >>52
経理財務畑で10年働いてるので、その補佐としてVBA使ってる現状です
VBA楽しいので、そればっかりの仕事はしたくないんです
たぶん嫌になっちゃうので。
なのでIT業界に行きたいわけじゃないんです
でも、VBAで探すとITばっかりだなーって悩んでるんです
経理財務畑で10年働いてるので、その補佐としてVBA使ってる現状です
VBA楽しいので、そればっかりの仕事はしたくないんです
たぶん嫌になっちゃうので。
なのでIT業界に行きたいわけじゃないんです
でも、VBAで探すとITばっかりだなーって悩んでるんです
57デフォルトの名無しさん (ワッチョイ f901-XNIb)
2019/02/12(火) 00:22:18.17ID:6UhGKpIA0 VBAは習得にかかる時間は他の言語覚えるのと同じくらい?
それとも簡単?
それとも簡単?
58デフォルトの名無しさん (ワッチョイ 25ce-0b7p)
2019/02/12(火) 00:40:28.65ID:boZzpQWE0 >>57
同じ
同じ
59デフォルトの名無しさん (ドコグロ MMca-/S9r)
2019/02/12(火) 00:57:29.86ID:J2uuh0x+M60デフォルトの名無しさん (ワッチョイ f901-KbRv)
2019/02/12(火) 01:28:22.73ID:bkolxWEM0 for i
for j
for k
for l
if cells(i,j)=cells(k,l) then
m=m+1
cells(m,1)=cells(k,l)
end if
next
next
next
next
できました!
for j
for k
for l
if cells(i,j)=cells(k,l) then
m=m+1
cells(m,1)=cells(k,l)
end if
next
next
next
next
できました!
61デフォルトの名無しさん (ワッチョイ 827c-/3is)
2019/02/12(火) 01:54:53.42ID:w+cVMhLi0 >>60
なんかシンメトリーできれい
なんかシンメトリーできれい
>>57
VB6 と同じ程度なのでは?
VB6 と同じ程度なのでは?
63デフォルトの名無しさん (アウアウエー Sa0a-DOJB)
2019/02/12(火) 07:32:55.78ID:SvKCMiwAa64デフォルトの名無しさん (ブーイモ MMcd-RyKv)
2019/02/12(火) 08:01:42.96ID:yCgE5JHqM >>56
仕事を効率化するシステムはある程度自分で作るのが当たり前の時代が来る(かもしれない)から
IT業界でなくてもプログラミングは必須になる(かも略
ただしそのツールの主流はVBAじゃないだろうね
いろんなツールや他言語も覚えて他人の仕事をどんどん奪ってください。
そうすれば時代の流れを加速することになるのでヒーローになれます。
仕事を効率化するシステムはある程度自分で作るのが当たり前の時代が来る(かもしれない)から
IT業界でなくてもプログラミングは必須になる(かも略
ただしそのツールの主流はVBAじゃないだろうね
いろんなツールや他言語も覚えて他人の仕事をどんどん奪ってください。
そうすれば時代の流れを加速することになるのでヒーローになれます。
65デフォルトの名無しさん (ワッチョイ fe7c-SgG7)
2019/02/12(火) 11:26:12.35ID:8lolhehX0 MSがExcelにPython載せるっつってたから
君が卒業して社会に出る頃にはVBAは消えてるかも知れない
君が卒業して社会に出る頃にはVBAは消えてるかも知れない
66デフォルトの名無しさん (ブーイモ MMcd-/3is)
2019/02/12(火) 13:55:06.88ID:w218beJOM67デフォルトの名無しさん (ワッチョイ a98e-Gewk)
2019/02/12(火) 13:56:32.19ID:vLhvVMgO0 >>65
馬鹿は嘘情報を検証もなく信じる
馬鹿は嘘情報を検証もなく信じる
68デフォルトの名無しさん (ブーイモ MMcd-RyKv)
2019/02/12(火) 14:29:27.10ID:yCgE5JHqM69デフォルトの名無しさん (ブーイモ MMcd-uR/r)
2019/02/12(火) 14:34:04.56ID:yiYRNC81M >>66
まんまRPAじゃね
まんまRPAじゃね
70デフォルトの名無しさん (ワッチョイ aeda-OF6d)
2019/02/12(火) 14:40:47.72ID:CHFilx2O071デフォルトの名無しさん (ブーイモ MM22-/3is)
2019/02/12(火) 15:57:24.73ID:gVOhdcQpM72デフォルトの名無しさん (ブーイモ MM22-/3is)
2019/02/12(火) 16:00:06.68ID:gVOhdcQpM >>69
そそ、それをより深くしてさらに汎用化させた感じ
そそ、それをより深くしてさらに汎用化させた感じ
73デフォルトの名無しさん (ワッチョイ fe02-tgDq)
2019/02/12(火) 18:57:41.03ID:WG+Lzv66074デフォルトの名無しさん (ワッチョイ 822f-Y3YF)
2019/02/12(火) 19:46:07.38ID:u96ReIy/0 先人たちの時代には難しかっただろう
しかし今のPC環境ならグラフィカルなプログラミングも実用化できるんじゃね
しかし今のPC環境ならグラフィカルなプログラミングも実用化できるんじゃね
75デフォルトの名無しさん (ワッチョイ 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
あり
あり
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 【悲報】あまりにも高市早苗の頭が悪過ぎて「これは確かに野党が配慮して質問するべきだったのでは」と結論が出てしまう [517791167]
- 【正論】木原官房長官「高市さんの答弁は従来の政府の立場を変えるものではない。撤回には応じられない」特定野党を完全論破 [519511584]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 中国と戦争になったら高市早苗が外患誘致で死刑になるの? [809488867]
- 【悲報】安倍晋三と高市早苗、どっちがヤベーの🤔 [616817505]
