Excel VBA 質問スレ Part59

■ このスレッドは過去ログ倉庫に格納されています
2019/02/09(土) 15:12:30.70ID:3lTArmdf0
!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
2019/02/09(土) 22:15:26.08ID:J8bfqgzv0
C#で作成したライブリファイルをビルドしてtest.dllファイルを作成し仮にデスクトップに置きました。
中身は
public string[] GetData(string path,string file)
{
//処理
}

これをVBAで実行したのですが、標準モジュールでどう宣言したらできますか?
そもそも出来るんですか?

Declare Function strData Lib "???" Alias "???" () As string()
これを使うんですよね?
2019/02/09(土) 22:30:32.98ID:nXE2v5Lv0
そうやって作ったのって、やっぱ実行速度はC#並みになるのかな。
VBAレベルに落ちちゃうなら、VBAに翻訳しちゃうとか。
2019/02/09(土) 22:39:52.86ID:M8bBhNwV0
エクセルvba勉強始めてるんですけど
言語がなんかすきになれないです
オブジェクトを生成してそれを操作するってのばっかりにみえるんですが
それならいっそパイソンやら使いやすい言語でcomオブジェクトからエクセルを操作したほうがいいんでしょうか?
2019/02/10(日) 00:05:20.18ID:cpoaXViK0
要望2だけ反映させてました
https://www.axfc.net/u/3958630
変更点
乱数はマイナスも作成できるようになりました
文字シャッフル機能を追加しました
ケンブリッジのあれも取り入れてみました

要望1はいいと言うことなのでこれで終わりたいと思います。
スレ汚し失礼しました。
2019/02/10(日) 03:10:28.77ID:T8b1EA5w0
>>5
無かったと思うな…
あるとしても ThisModuleな感じか…
2019/02/10(日) 03:26:25.40ID:5I+kynYZ0
>>8
別の言語でエクセルの操作はおすすめできない
やるならワークブック/ワークシートオブジェクトなどを操作した方がいい
オブジェクトを操作するだけならわざわざ高いOfficeも買わなくていいし
2019/02/10(日) 03:36:45.00ID:cpoaXViK0
デバッグしてたらとまりませんね・・・
何個かバグつぶしたので上げなおします
https://www.axfc.net/u/3958695
13デフォルトの名無しさん (アウアウクー MM91-eF01)
垢版 |
2019/02/10(日) 08:29:51.15ID:nwYV/fdtM
なんかすみませんね。深夜睡眠をけずってまでやってらったようで、、。ツールありがとうございます。
あとはこちらでいただいたツールをベースに必要に応じてカスタマイズします。
2019/02/10(日) 09:22:45.87ID:adWOvpgi0
JScriptでエクセルやってます
いろいろ出来るようになったのですが、VBAで選択した範囲の右下をとるときに、

y = Selection.Row + Selection.Rows.Count - 1
x = Selection.Column + Selection.Columns.Count - 1

としますが、JScripで、

var sheet = book.Worksheets( 1 );
var y = sheet.Selection.Row

とかしてもありませんと怒られます。どうしたらいいでしょうか
また、いろいろとググっているのですが、JScriptで使えるエクセル専用のオブジェクトやプロパティを
調べられるサイトってないのでしょうか。なかなか見つけられないのですがわかる方、教えてください
VBAならいろいろあるようですが
2019/02/10(日) 09:40:27.91ID:7rlN1EyT0
>>14
そこだけVBSにするとか。
2019/02/10(日) 09:54:47.81ID:px4mCHlG0
>>14
JScriptは良くわからんが・・Javaは結構したけど
見当違いなら申し訳ないが
既にExcelが起動していて、シート1が選択され
範囲が選択されている状況で、JScriptを動かしているんで良いですよね
2019/02/10(日) 10:14:14.92ID:px4mCHlG0
>>5
単にプロシージャ名の変数を宣言しておき
各プロシージャ実行時にプロシージャ名に名前をセットして実行
エラー表示でプロシージャ名の変数を表示するだけでは
2019/02/10(日) 10:29:08.47ID:D1+mLGbSx
>>14
var sheet = book.Worksheets(1);
sheet.Activate;
var selected = book.Application.Selection;
var x = selected.Row + selected.Rows.Count - 1;
var y = selected.Column + selected.Columns.Count - 1;

でいけるんじゃないかな
試してないから間違ってたらごめん
2019/02/10(日) 10:48:51.96ID:px4mCHlG0
>>8
昔は、メモリーの領域を分け合って使ってたけど
いまわ全てオブジェクトと思え
エクセルは色々このオブジェクトの使い方が説明されていて
機能も多い
いやならすべて作ればとなるが、所詮何も出来ないだろ
2019/02/10(日) 10:52:53.82ID:px4mCHlG0
>>17
これは間違いだな、サブルーチンから戻った時を考えてない
サブルーチンでは、元の名前を保存しておき元に戻す処理が必要になるが
こんなの今時やらないな
2019/02/10(日) 10:57:18.71ID:px4mCHlG0
したがって、プロシージャ名は配列で宣言し、サブルーチンの時の処理が必要になるが
これは、システムが管理しているのを使うべきだな、すまない
2019/02/10(日) 11:29:32.47ID:adWOvpgi0
>>18
ありがとうございます!

それで動きました。 どこでそういうのは調べるのでしょうか。 なかなかググってもわかりません

>>15
最初にJScriptを始めたとき、ネットでJScriptの方が初心者向けにエクセルの操作とかわかりやすい記述が
見つかったので、JScriptを始めたのですが、VBSだと、VBAとぼとんど同じプロパティで同じことができますか?
そうなら、VBSに移ろうかな
2019/02/10(日) 12:19:38.78ID:px4mCHlG0
まあなんだな、質問して回答を実行してできたことが答えじゃなくて
何故できなくて、何で出来たのが答えなんだけどな
2019/02/10(日) 12:35:46.47ID:YUFMtInCx
>>22
今回の質問はエクセルのオブジェクトモデルに忠実に従えば解決するものだよ
VBS含め他のどんな言語を選択しようが、そのあたりの事情は変わらない

具体的には、今回はSelectionへのアクセス方法がおかしかったわけで、
MSDNリファレンスのプロパティ一覧を見たり、VBEのオブジェクトブラウザでプロパティを検索したりすれば、
Worksheetオブジェクトには現在の選択範囲へのアクセスを提供するSelectionプロパティがないことや、
SelectionプロパティはApplicationオブジェクトのメンバとして実装されていることが分かる
2019/02/10(日) 12:45:32.26ID:7rlN1EyT0
>>22
無理に移るんじゃなくて、併用するとか。
2019/02/10(日) 12:48:09.50ID:px4mCHlG0
前スレでもあったが、シートを選択してなければ、そのシートの選択範囲は取れない
ただそれだけだろ
2019/02/10(日) 12:56:37.91ID:YUFMtInCx
>>26
元の質問のサンプルはsheet.Selectionという式の構文が間違っているので、仮にシートを選択していようが選択範囲は取れない
あと、シート上のSelectionの情報を取るだけなら画面遷移を伴うSelectではなくActivateで十分だろう
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
2019/02/10(日) 13:03:50.84ID:px4mCHlG0
>>27
すまないな
>シート上のSelectionの情報を取るだけなら画面遷移を伴うSelectではなくActivateで十分
実質的にどう違うかわからないので申し訳ありませんが教えていただけませんか
2019/02/10(日) 13:14:52.82ID:YUFMtInCx
>>29
Selectによる画面遷移はユーザーとの対話を想定した処理で、当然描画処理の負荷がかかる
プログラム上で参照するアクティブなオブジェクトを切り替えるだけならSelectはしなくて良い
2019/02/10(日) 13:26:46.13ID:BFbUXkOH0
>>28
>>Set x = selected.Row ' ここでエラー

x = Selected.Row
2019/02/10(日) 13:31:40.65ID:adWOvpgi0
>>31
出来た。 なんだかなあ、、、w
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
と一旦とってからの方がやりやすいですね。ありがとうございました
2019/02/10(日) 15:20:48.09ID:adWOvpgi0
>>30
jsで、Activateでやってみましたが、ワークシートも切り替わってますよ
Selectとの違いがわかりません
vbsではやってません
2019/02/10(日) 15:55:33.83ID:hManQYIw0
>>34
スレチだ
いい加減にしろ、死ねよ
2019/02/10(日) 16:05:34.34ID:ZjJO7g3i0
>>6
だれかこれ分かる人おらん?
2019/02/10(日) 16:25:54.76ID:vOpxNkmL0
>>36
直接は呼べなくてCOM経由でしか呼べない
VBA C# dll 呼び出し
とかでググれ
2019/02/10(日) 18:24:50.29ID:kyKghR0l0
C#わからんから無責任発言するけどC++でdll作りゃ問題ないならそうすれば?
2019/02/10(日) 18:46:31.86ID:96GWWqq3M
C++で橋渡しするならC++/CLIでできるね
でもそんな面倒なことをするより普通にexe作るかpowershell書くかして別プロセスとして呼べばいいよ
データの受け渡しはコマンドライン引数なり標準入出力なりを使えばよい
2019/02/10(日) 19:52:43.32ID:vOpxNkmL0
なんでより面倒な方法をドヤ顔で書いてるんだよ w
C#で書いてちゃんと設定すりゃインテリセンスも効くというのにコマンドラインとかありえねー
2019/02/10(日) 20:43:54.86ID:fHWqGmK3a
>>36
わかるけどスマホからサンプルコード書くのはしんどいわ
C# ComVisible Excelあたりでググって
2019/02/10(日) 21:28:15.49ID:kyKghR0l0
>>39
自分でC++dll書けるなら呼び出す側はかなり簡便になるように作れるよ
なによりワークシートの大量データを配列で丸ごと渡せるからね。
コマンドラインじゃ無理でしょ
2019/02/11(月) 02:36:20.89ID:QZQ3TitU0
>>5
はるか昔に似たようなことやろうとしたが断念して↓で落ち着いた

MsgBox "Err." & err.Number & " " & err.Description, vbCritical, "モジュール名"
2019/02/11(月) 14:06:13.76ID:2OxsMAwm0
>>37
やっぱ直接は無理か。管理者権限とかCOM経由しか無理なら諦めます。
2019/02/11(月) 14:07:58.69ID:2OxsMAwm0
>>41
直接は無理そうなんで諦めます。
46デフォルトの名無しさん (JP 0H16-KbRv)
垢版 |
2019/02/11(月) 15:17:21.04ID:PhhkhwtYH
>>5
CodeModuleプロパティでなんかできそうだけど使ったことないからわかんね
2019/02/11(月) 17:58:03.71ID:fFRcOW+J0
エクセルのシートやセルのオブジェクトにどんなメソッドやプロパティがあるのか見れるところないですか
48デフォルトの名無しさん (アウウィフ FF05-DOJB)
垢版 |
2019/02/11(月) 18:04:33.43ID:itY+kGJRF
https://docs.microsoft.com/ja-jp/office/vba/access/concepts/settings/set-references-to-type-libraries
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/can-t-find-project-or-library
49デフォルトの名無しさん (ワッチョイ dd0b-VUEs)
垢版 |
2019/02/11(月) 18:43:45.66ID:fA09NaPq0
>>12
のダウンロードした回数多くないか?
有用なツールだと認められた証だろう。作った人は自慢していいよ
2019/02/11(月) 18:49:07.13ID:TpVFRub80
>>49
ん? これ、何のファイル?
2019/02/11(月) 22:38:05.08ID:9CUrx5/r0
このスレの人ってやっぱりプログラマーが多いんですか?
それなりにVBA使えるようになった事務職なんですが、転職を考えています
想像してはいたんですが、VBAで職探しするとプログラマーばっかりですね

VBA活かせる仕事ってやっぱりプログラマーになっちゃうんですかね
2019/02/11(月) 22:48:43.99ID:+VAWjoKJM
>>51
プログラマの定義から自明だろう
VBAのスキルだけで仕事するってことはVBAでマクロ作ること自体を仕事にするってことだろ?
それは即ちプログラマに他ならない
嫌なら他のスキルを身につけた上でその補助道具としてVBAを使うことを考えなさい
2019/02/11(月) 22:54:21.26ID:QKPibkACa
>>51
プログラマはVBAほとんど書きません
2019/02/11(月) 23:04:40.76ID:+VAWjoKJM
あとはIT業界でプログラマ以外で入りやすいのはシステムオペレータやコールセンター
VBAを使う機会は少ないかもしれないけどVBAを習得できる程度の頭があるならそれなりに責任たある立場(バイトリーダーくらいを想像すればいい)にはなれるんじゃないかな
2019/02/11(月) 23:51:16.39ID:X8tlYFxV0
Excel エンジニアから、ステップアップしてプログラマーになった人は、たいてい、Ruby on Rails !
まず、Ruby・Sinatra から、web フレームワークを始める

YouTube にも、そういう成功した人たちの動画がある
2019/02/11(月) 23:54:44.08ID:9CUrx5/r0
>>52
経理財務畑で10年働いてるので、その補佐としてVBA使ってる現状です
VBA楽しいので、そればっかりの仕事はしたくないんです
たぶん嫌になっちゃうので。
なのでIT業界に行きたいわけじゃないんです

でも、VBAで探すとITばっかりだなーって悩んでるんです
57デフォルトの名無しさん (ワッチョイ f901-XNIb)
垢版 |
2019/02/12(火) 00:22:18.17ID:6UhGKpIA0
VBAは習得にかかる時間は他の言語覚えるのと同じくらい?
それとも簡単?
2019/02/12(火) 00:40:28.65ID:boZzpQWE0
>>57
同じ
2019/02/12(火) 00:57:29.86ID:J2uuh0x+M
>>57
同じレベルを求めるなら同じ
でもVBAは自称「VBAできます(キリッ」のレベルが他言語比で大幅に低いから、
人前で習得したと言っていいレベルに達するまでの時間は他言語よりずっと短い
60デフォルトの名無しさん (ワッチョイ 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

できました!
2019/02/12(火) 01:54:53.42ID:w+cVMhLi0
>>60
なんかシンメトリーできれい
2019/02/12(火) 04:41:36.02ID:afakhEje0
>>57
VB6 と同じ程度なのでは?
63デフォルトの名無しさん (アウアウエー Sa0a-DOJB)
垢版 |
2019/02/12(火) 07:32:55.78ID:SvKCMiwAa
>>60
エラー処理(例外処理)が緩すぎる
やり直し
2019/02/12(火) 08:01:42.96ID:yCgE5JHqM
>>56
仕事を効率化するシステムはある程度自分で作るのが当たり前の時代が来る(かもしれない)から
IT業界でなくてもプログラミングは必須になる(かも略
ただしそのツールの主流はVBAじゃないだろうね
いろんなツールや他言語も覚えて他人の仕事をどんどん奪ってください。
そうすれば時代の流れを加速することになるのでヒーローになれます。
65デフォルトの名無しさん (ワッチョイ fe7c-SgG7)
垢版 |
2019/02/12(火) 11:26:12.35ID:8lolhehX0
MSがExcelにPython載せるっつってたから
君が卒業して社会に出る頃にはVBAは消えてるかも知れない
2019/02/12(火) 13:55:06.88ID:w218beJOM
>>64
まず型はいらない。
コマンドや関数はフローチャートの図形みたいな視覚化とパラメータで作成。
論理エラー以外のエラーは出ない仕組み。
やろうとすればいくらでもできるんじゃね?
2019/02/12(火) 13:56:32.19ID:vLhvVMgO0
>>65
馬鹿は嘘情報を検証もなく信じる
2019/02/12(火) 14:29:27.10ID:yCgE5JHqM
>>66
そんな軟弱な
それじゃ小学生向けのプログラミング教室と変わらないじゃん
2019/02/12(火) 14:34:04.56ID:yiYRNC81M
>>66
まんまRPAじゃね
2019/02/12(火) 14:40:47.72ID:CHFilx2O0
https://www.publickey1.jp/blog/17/excelpython.html
2019/02/12(火) 15:57:24.73ID:gVOhdcQpM
>>68
一般の個人がやるならこのくらいが普通。
HTML手書きの敷居を下げたホームページビルダーだってそうだろ。
プログラムがCUIっていうのに違和感を持つべきだと思う。
2019/02/12(火) 16:00:06.68ID:gVOhdcQpM
>>69
そそ、それをより深くしてさらに汎用化させた感じ
2019/02/12(火) 18:57:41.03ID:WG+Lzv660
>>66
やろうとすればというかもうとっくに先人たちが取り組んで諦めた分野だよ
学生の頃に配線型のプログラミング言語を使ったことあるけど難しすぎて習得を諦めた
2019/02/12(火) 19:46:07.38ID:u96ReIy/0
先人たちの時代には難しかっただろう
しかし今のPC環境ならグラフィカルなプログラミングも実用化できるんじゃね
2019/02/12(火) 19:49:06.70ID:gxc4B4g80
>>13さんもう見てないかな
自分で使ってみたけどなんか違う・・・と思って考えてみたら
問題のシャッフル出題(各問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.
になおす。

要は、中途半端な改行がある文を、一行にまとめる。
2019/02/12(火) 21:11:53.35ID:yCgE5JHqM
>>74
みんなそんなに全力でテキストベースのプログラミングを避けたいのかねえ?
使いこなせば強力な武器になるとは思わんのか?
2019/02/12(火) 21:30:27.20ID:u96ReIy/0
>>76
改行をなくすだけなら比較的簡単にできる
適切な位置で改行しろってなら、適切な位置を事前に完全に定義すればまぁできる

>>77
おれは別に避けたいとは思ってないしその必要もないけど
テキスト以外のプログラミングには従来のプログラミング言語にない可能性だってあるしな
79デフォルトの名無しさん (ワッチョイ 827c-1PgY)
垢版 |
2019/02/12(火) 21:39:40.48ID:w+cVMhLi0
DOSはDOSで使いやすかったと思う。
Windows出たときいらねーべって思ってたけど今思うと3.1はやっぱりいらない。
80デフォルトの名無しさん (ササクッテロル Spd1-P0T6)
垢版 |
2019/02/12(火) 21:45:44.99ID:N98Fn342p
>>78
76です。
すみません。それでは、
.で改行できるようにお願い致します。
2019/02/12(火) 21:52:09.03ID:qNrXOr6p0
>>80
一旦改行を全て削除して、そのあとでピリオド、クエスチョンマーク、エクスクラメーションマークで改行すればいいんでは。
82デフォルトの名無しさん (ササクッテロル Spd1-P0T6)
垢版 |
2019/02/12(火) 21:55:12.47ID:N98Fn342p
>>81
改行を削除できますか。

仕事で、大量の英文を整理したいので困ってます。
2019/02/12(火) 22:00:43.06ID:1aNudvIBa
線つなぐやつはサブルーチンが正体不明のアイコンになるからものすごくわかりにくい
逆にわかりやすいプログラムを描くには高度なアイコンデザインセンスが必要ということだ
そんなの天才にしか使いこなせない
2019/02/12(火) 22:17:01.28ID:qNrXOr6p0
>>82
もうVBA関係なくなっちゃうけど、普通のエディタ使って置換機能を使えばいいだけでは。
85デフォルトの名無しさん (アウアウクー MM91-q7hS)
垢版 |
2019/02/12(火) 22:41:31.90ID:CcMjC8kpM
>>84
セル内の文字列を対象にしてると思うからエディタでは無理では?分からないから適当に言うんだけど。
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
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
88デフォルトの名無しさん (アウアウクー MM91-q7hS)
垢版 |
2019/02/12(火) 23:44:44.19ID:CcMjC8kpM
>>75
最新版は5ですよね?使ってみましたがオブジェクトエラーが起きてどこで停止しているかみてみると、ソート処理時に停止する。

そこで4_2をベースにこちらでカスタマイズして、ボタン1つでセル内の文字列をシャッフルするコードをネットから拾ってきました。
ついでに縦横の切り替えもボタンで実現してます。

やりていことこ実現できているので満足です
2019/02/12(火) 23:58:53.49ID:gxc4B4g80
そうでしたか、なんかすみません
じゃ本当に終わります。
2019/02/13(水) 02:27:50.55ID:NEpE3zFw0
Python などの形態素解析で、文末でも判定すれば?
91デフォルトの名無しさん (ワッチョイ e101-P0T6)
垢版 |
2019/02/13(水) 06:35:13.37ID:9485a3fT0
>>84
例えば?メモ帳とか?

改行を無くす置換はありますか?
2019/02/13(水) 07:12:30.92ID:i20vW39tM
>>82
改行置換ならVBAも要らん
https://excelkamiwaza.com/excel_kaigyou_tikan.html
93デフォルトの名無しさん (ワッチョイ 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か。知らなかった。ほかのワードとかでも使えるかな
2019/02/13(水) 07:44:47.38ID:zGo41KJe0
セルを指定する時とか”A1”とかちまちま書くのが普通?
めんどくさいんだけどそんなもの?
96デフォルトの名無しさん (JP 0H16-KbRv)
垢版 |
2019/02/13(水) 08:07:53.15ID:kNKWDOP4H
>>95
ヘッダの話なら1個ずつ書いてくしかない
2019/02/13(水) 08:46:40.27ID:LdPPLa0i0
>>95
状況とやりたいことによる
範囲指定する書き方も出来るし、変数で楽できる場合もある
2019/02/13(水) 08:48:18.23ID:LdPPLa0i0
>>93
Excelと関係ない英文を整形したいだけならテキストエディタを使った方が早いぞ
せめてWordにしとけ
2019/02/13(水) 09:17:10.81ID:s1ZD6WV/0
「何の条件」で「何を」「どのようにしたいか」の中で「何の条件で」が出てないな
「何を」「どのようにしたいか」も一部の条件しか出てない気がする
連想ゲームじゃないんだから質問はちゃんとかけよ
2019/02/13(水) 10:05:00.38ID:s1ZD6WV/0
>>76
この質問は
Excelの枠に配置で、折り返して全体を表示するに
以下の改行のない文を貼り付けた時に
How are you? I’m looking forward to see you.
セルの幅に合う位置で改行されるのを思いの位置で改行したい
ってことだろ、思いの位置が明文化されないとな
例えば英文であるかわからんが「...」みたいな文とか「!!」みたいなとかもありそうだしな
101デフォルトの名無しさん (JP 0H16-KbRv)
垢版 |
2019/02/13(水) 10:59:06.69ID:kNKWDOP4H
>>95
あと以下のようにしておくと面倒でなくなるよ

cns_COL_ID = “A”
Range(cns_COL_ID & 1) = “ID”
2019/02/13(水) 11:08:47.69ID:s1ZD6WV/0
>>95
貼り付けられたイベントで処理するのも普通だけどな
位置は分かるから、そのセル・レンジを処理する
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」に対して処理を書くんだな
2019/02/13(水) 14:06:51.14ID:cLVWJ/NN0
セル上でドラッグドロップしたら、それでプログラムが動くようなことってできますか
たとえば、縦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
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況