!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:3lTArmdf024デフォルトの名無しさん (アークセー 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
あり
あり
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
エクセル再起動しろ
エクセル再起動しろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【外交】元台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」★2 [1ゲットロボ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★8 [ぐれ★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
- 俺の代わりに中国がバカウヨを倒してくれる [805596214]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- 高市が首相になってから進次郎の評価が爆上がりしてる件について
- (´ん`)「公明党、お前だったのか。自民党から国民を守ってくれていたのは...」 [603416639]
