トップページtech
1001コメント350KB

Excel VBA 質問スレ Part32

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/10/07(月) 22:19:55.86
ExcelのVBAに関する質問スレです

★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。

★2 ExcelのVBA以外の部分に関する質問はNGです。
   但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。

★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。

 VBAとは、『Visual Basic for Applications』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。

★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。

★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
   コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
   ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。

★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R)

前スレ:Excel VBA 質問スレ Part31
http://toro.2ch.net/test/read.cgi/tech/1376371376/

関連スレ:VBAなんでも質問スレ
http://toro.2ch.net/test/read.cgi/tech/1342087380/
0057デフォルトの名無しさん2013/11/01(金) 15:27:29.31
>>53
あっちにも回答はあったようだけど、とりあえず。

行数は変数S、Ysで変更している。
81600行ということから、Yのループで何回実行されたかを算出する。

Tのループは最大3263なので
81600 / 3263 = 25.0076・・・
ということで25回程度実行されている。

後は問題となっている行にブレークポイントを貼り付けて
Yが25回付近の時点でステップ実行しながら
変数の値をチェックしていけば何かしら分かると思う。
0058デフォルトの名無しさん2013/11/01(金) 18:15:52.37
>>56
そうなんですよね、別に書き込まなくてもいいんですよね。。。
δr、δg,δ,bを計算すればいいだけですから 笑

そうですね配列でオンメモリ使った方がわかりやすいプログラムかけますね
でも3*4000*3000の値を拾いますけど大丈夫ですかね?
>>57
はい、もっと列を活用しようとおもいます。
0059デフォルトの名無しさん2013/11/14(木) 21:23:57.50
過疎ってますね。
0060デフォルトの名無しさん2013/11/22(金) 10:00:38.91
For Nextループで
ある条件のときそのループをぬけるにはどんなコード書くんでしたっけ?
全体をぬけるExit Forではなく、その単一ループをぬけてiを次の値で繰り返したいんです。
0061デフォルトの名無しさん2013/11/22(金) 10:43:51.83
重複スレにつき本スレ誘導

Excel VBA 質問スレ Part33
http://toro.2ch.net/test/read.cgi/tech/1382015080/
0062デフォルトの名無しさん2013/11/22(金) 10:55:08.38
>>60

Cなんかにある continue ってのは無いから
for next
  if then
  end if
end enxt

でやるしかないのでは?
0063デフォルトの名無しさん2013/11/22(金) 11:08:37.69
そんな釣りに
0064602013/11/22(金) 11:17:35.03
>>62
ないのですか。ありがとう。

>>63
こら
0065デフォルトの名無しさん2013/11/22(金) 11:38:40.76
for next〜end enxtってなんだ
初心者にいいかげんなこと教えるなよ
VBAはFor〜Nextだぞ
0066デフォルトの名無しさん2013/11/22(金) 11:55:12.50
>>65
ちょっとしたタイプミスぐらいに目くじらを立てんなヴォケ
それくらい判るだろ、低能
0067デフォルトの名無しさん2013/11/22(金) 11:56:27.76
と思ったらちょっとしたタイプミスではなかった^^;
ま、判ってるからいいだろ w
0068デフォルトの名無しさん2013/11/22(金) 13:01:17.73
For ...
 ...
 If ... Then GoTo LOOPEND
 ...
LOOPEND:
Next
0069デフォルトの名無しさん2013/11/22(金) 13:21:05.22
もう一つのPart32スレ
Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151717/

の次スレは、このスレじゃなくてこっちです。

Excel VBA 質問スレ Part33
http://toro.2ch.net/test/read.cgi/tech/1382015080/
0070デフォルトの名無しさん2013/11/22(金) 13:22:55.41
>>69
一人でやってろカス
0071デフォルトの名無しさん2013/11/22(金) 13:39:06.67
>>70
Part32時代に、ほとんどの人がこのスレ>>1を忌避し、もう一つのスレしか使ってません。
よって、一人ではありません。

なし崩し的にまた>>1を復活させるのを阻止するための誘導です。

本スレはこちら↓
Excel VBA 質問スレ Part33
http://toro.2ch.net/test/read.cgi/tech/1382015080/
0072デフォルトの名無しさん2013/11/22(金) 13:51:14.72
Part31終了時はグダグダだったしPart33もスレ立て嵐っぽかったけど、結局はほとんどがもう一つのスレを
選択しテンプレ議論に終止符を打ち、さらに次スレまで用意されてたという怪我の功名。
0073デフォルトの名無しさん2013/11/22(金) 13:56:28.02
気を付けろ、巧妙の罠だ
0074デフォルトの名無しさん2013/11/22(金) 14:18:09.06
二つスレッドがあるんですか?@22歳OL
0075デフォルトの名無しさん2013/11/22(金) 15:04:52.96
キタ━━━━(゚∀゚)━━━━!!
0076デフォルトの名無しさん2013/11/22(金) 16:08:16.73
OLちゃんのいる部署で仕事したいわ
0077デフォルトの名無しさん2013/11/23(土) 00:02:08.63
つっても桃白白なんだけどな
0078デフォルトの名無しさん2013/11/23(土) 08:30:35.61
40+1 :デフォルトの名無しさん [↓] :2013/11/23(土) 06:23:37.78
>>38
ネタの質問だな。ググれば数秒で解決。
0079デフォルトの名無しさん2013/11/23(土) 08:32:39.90
44 :40 [↓] :2013/11/23(土) 08:26:50.63
>>41
続きはこのスレでやりましょう。

Excel VBA 質問スレ Part32
http://toro.2ch.net/test/read.cgi/tech/1381151995/
0080デフォルトの名無しさん2013/11/23(土) 08:39:10.39
http://toro.2ch.net/test/read.cgi/tech/1382015080/41

> 41 返信:デフォルトの名無しさん[sage] 投稿日:2013/11/23(土) 07:15:02.62
> >>40
> ネタなつもりは全くなくて、
> ググっても分からないので聞いているんですが・・・
> WMIのShadowCopyなどを使えば何となく出来る気がするんですが、
> 実際に名前やタイムスタンプを取得する方法を、
> コード上でどう記述すればいいのか未だに分かりません。
> 数秒で解決出来たなら教えて頂いても宜しいでしょうか。

VB6のサイトだけど、使えると思う。
http://www.red.oit-net.jp/tatsuya/vb/FileSystemObject.htm

ファイルシステムオブジェクトだからこれ以上のやり取りはしないけど。
0081デフォルトの名無しさん2013/11/23(土) 08:40:42.40
>>80
★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。
★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
0082デフォルトの名無しさん2013/11/23(土) 08:44:31.07
>>81
よう、テンプレ厨。
0083デフォルトの名無しさん2013/11/23(土) 08:46:33.85
>>82
このスレはテンプレが絶対のテンプレスレです。
テンプレとわずかでもずれてたら即刻出て行ってもらいます。
0084デフォルトの名無しさん2013/11/23(土) 08:48:42.62
テンプレを読まない人やテンプレを守らない人はこのスレに必要ありません。
どうぞ別スレに行ってください。
0085デフォルトの名無しさん2013/11/23(土) 08:52:15.78
>>81
ようはルールを理解してないというか、理解しようとしてないんだよな。

★3、★4の意味が全く理解できていない。
前にも話が出ていたから説明は割愛するけど、
>>80のレス程度なら問題ないと思うが。
0086デフォルトの名無しさん2013/11/23(土) 08:57:48.65
>>85
>>80は★3★4のルールに明確に違反しています。
あなたに思うところがあるのはわかりますが、このスレはルールを守ってもらうのが絶対原則です。
ルールに従えないならどうぞ出て行って、よそのスレでやってください。
0087デフォルトの名無しさん2013/11/23(土) 09:02:45.32
22歳OLです
重複スレを使うのは止めて頂けませんか?
0088デフォルトの名無しさん2013/11/23(土) 09:22:40.63
46 :デフォルトの名無しさん [↓] :2013/11/23(土) 09:17:57.33
>>45
アンチテンプレ厨の自演ネタ質問なので降りるわ。


わからないだけのくせにwちなみにこいつはテンプレ厨、このスレを建てたやつですww
0089デフォルトの名無しさん2013/11/23(土) 09:47:25.86
48 :デフォルトの名無しさん [↓] :2013/11/23(土) 09:43:33.38
>>45
何の為に必要なの?


49 :デフォルトの名無しさん [↓] :2013/11/23(土) 09:43:54.19
>>45
何の為に必要なの?


荒らしだしたw
0090デフォルトの名無しさん2013/11/23(土) 09:50:16.17
答えようとしたけど頓珍漢なこと言って
カッコつけて逃げようとしたけどバレて
ファビョって荒らす ←いまここ

>>1は毎回こんなことをやっています
0091デフォルトの名無しさん2013/11/23(土) 09:53:25.48
40+1 :デフォルトの名無しさん [↓] :2013/11/23(土) 06:23:37.78
>>38
ネタの質問だな。ググれば数秒で解決。


質問を理解せずにFileSystemObjectをググって見つけて質問を解決した気になっただけのテンプレ厨w
0092デフォルトの名無しさん2013/11/24(日) 13:39:45.22
質問ですが
LANネットワークの共有フォルダに置いてある1つのExcelのファイルを数人で書き換えている場合に
他の人が開きっぱなしにしていて何時間たっても書き込みができない状態で明らかに忘れていると思われるような場合に
VBAのコマンド等で強制的に使用者を非アクセスの状態にすることはできないのでしょうか?
0093デフォルトの名無しさん2013/11/24(日) 13:54:50.59
>>92
VBAのコマンドでほかのPCの操作ができたらびっくりするわ

複数アクセス状態で実行したらどうなるか知らんけど
Workbook.ExclusiveAccessdsで共有解除できるらしいから試してみたら?
0094デフォルトの名無しさん2013/11/24(日) 19:22:18.42
>>92
共有するのはダメなん?
0095デフォルトの名無しさん2013/11/24(日) 20:09:30.78
数値が文字列として保存されてるセルを
すべて普通の数値に変換するためにはどうすればいいですか?
対象はアクティブになってるシートのすべてのセルでそうなってるものすべて。
0096デフォルトの名無しさん2013/11/24(日) 21:33:36.05
>>95
ざっくりやればこんな感じじゃね
Dim c As Range
For Each c In ActiveSheet.UsedRange
If IsNumeric(c.Value) And c.NumberFormat = "@" Then
c.ClearFormats
End If
Next
数値の判定とかいろいろ細かい考慮点はあるかもしれんがしらん
0097デフォルトの名無しさん2013/11/24(日) 21:38:28.16
>>95
全てのセルに対して値が数値であるかどうかみて数値だったら書式を変更すればできるんじゃないの?
0098デフォルトの名無しさん2013/11/24(日) 21:45:22.51
>>96>>97
それじゃできないんですけど。

数値はたとえば
アポストロフィのあと数字を入力した'123や
書式を文字列にしたあとに123と入力したものとか
全然変換されない。
0099デフォルトの名無しさん2013/11/24(日) 21:48:13.50
>>98
そこまで言えるのなら、どうすればできるかわかってるだろうし解決できるでしょ。
0100デフォルトの名無しさん2013/11/24(日) 22:21:26.79
ネタの質問だな。ググれば数秒で解決。
0101デフォルトの名無しさん2013/11/25(月) 08:35:41.82
数秒じゃ無理だな
キーワードを入力、検索ボタンをクリック、までで数秒が過ぎてしまう
場合によってはページの読み込みを待ってる間に数秒が過ぎてしまう

結果がたくさん出る→選ぶ→読む→実行する→結果を確認する
ここまでできて初めて解決と言える
最低でも数分はかかる
0102デフォルトの名無しさん2013/11/25(月) 08:56:08.33
くだらね小学生かよ
0103デフォルトの名無しさん2013/11/25(月) 09:03:11.16
作業工程と所要時間は正確に見積もりましょう
0104デフォルトの名無しさん2013/11/25(月) 11:28:49.74
度数分布表から平均値と標準偏差を算出する一発で算出する方法はありますか?
0105デフォルトの名無しさん2013/11/25(月) 11:35:06.08
そういう関数なりプロシジャなりを作ればいい
0106デフォルトの名無しさん2013/11/25(月) 12:49:38.62
つまりないということですね
わかりました
0107デフォルトの名無しさん2013/11/26(火) 11:11:49.44
セルのコピーのことで教えてください

マクロブックからCSVファイルを開き、その1部をtokei_book(統計データ.xlsx 既にオープン済み))の最終行以降にコピーしようとしているんですが、


Range(Cells(3, 1), Cells(i - 1, 9)).Copy Destination:=Workbooks(tokei_book).Worksheets("sheet1").Cells(lastrow + 1, 1)

この部分でインデックスが有効範囲にありません
ってエラーになってしまっています。
どう直せばいいんでしょうか


tokei_bookには"統計データ"
iには6が
lastrowには504
という値がそれぞれ入っています
0108デフォルトの名無しさん2013/11/26(火) 11:51:02.51
tokei_bookに拡張子いるんじゃね
01091072013/11/26(火) 11:54:18.06
あら、ほんとだ & ".xlsx" にしたら出来た^^;
んん、ありがとうございます
0110デフォルトの名無しさん2013/11/29(金) 14:28:14.19
VBEの入力支援に出てくるアイコン?のようなものってそれぞれ意味あるかしら
0111デフォルトの名無しさん2013/11/29(金) 15:20:53.25
どうかしらね
しらべてみるわ
0112デフォルトの名無しさん2013/11/29(金) 19:04:14.25
ヘルプやオブジェクトブラウザとかで使われてるアイコンと同じだろ
クラス、メソッド、プロパティ、定数、列挙 ほかなんか有ったっけ
0113デフォルトの名無しさん2013/11/29(金) 19:54:59.51
アイコンは16年位の歴史がある
0114デフォルトの名無しさん2013/11/29(金) 20:29:49.82
アイコン16歳?
0115デフォルトの名無しさん2013/11/29(金) 21:00:05.10
>>113
>>114
おもろいやんけ
0116デフォルトの名無しさん2013/11/29(金) 21:35:56.46
110 名前:デフォルトの名無しさん[sage] 投稿日:2013/11/29(金) 14:28:14.19
VBEの入力支援に出てくるアイコン?のようなものってそれぞれ意味あるかしら

111 名前:デフォルトの名無しさん[] 投稿日:2013/11/29(金) 15:20:53.25
どうかしらね
しらべてみるわ

112 名前:デフォルトの名無しさん[sage] 投稿日:2013/11/29(金) 19:04:14.25
ヘルプやオブジェクトブラウザとかで使われてるアイコンと同じだろ
クラス、メソッド、プロパティ、定数、列挙 ほかなんか有ったっけ

113 自分:デフォルトの名無しさん[sage] 投稿日:2013/11/29(金) 19:54:59.51
アイコンは16年位の歴史がある

114 自分:デフォルトの名無しさん[sage] 投稿日:2013/11/29(金) 20:29:49.82
アイコン16歳?

115 自分返信:デフォルトの名無しさん[sage] 投稿日:2013/11/29(金) 21:00:05.10
>>113
>>114
おもろいやんけ
0117デフォルトの名無しさん2013/11/30(土) 09:17:31.61
VBScriptについて必死に話し合うスレ
http://toro.2ch.net/test/read.cgi/tech/1242136180/698
から誘導されてきました。

ExcelからJavaで作ったフォームを表示したいのですが、
java.swing.JFrameで作ったフォームを起動後、閉じるとExcelが最前面にきません。
Excel上のボタンを押す
->Javaの画面が最前面に起動
->Javaを終了するとExcelが最前面に戻ってくる
としたいのですが、なぜかExcelの上にその下にあったエクスプローラー等が表示されます。
ソースは下記です。実物が見れないので、一部間違ってる可能性はあります。

Sub Test_OnClick()
 On Error Goto EEXIT
 Application.Interactive = False
 Set Shell = CreateObject("WScript.Shell")
 Shell.Run "java -jar jframe.jar", True, True
EEXIT:
 Application.Interactive = True
End Sub

Excel 2010, Windows7です。
java側の問題かもしれませんが、宜しくお願い致します。
0118デフォルトの名無しさん2013/11/30(土) 10:53:47.24
>>117
再現が面倒なので試さずに適当に答えるけど
プロセスが終了した時のウィンドウの順番をWindows任せにしないで、
Javaアプレット側のTerminateイベントでExcelのウィンドウをアクティブにしてから抜けるようにするか
VBAで自分自身を最前面にするか、どっちでも行けるんじゃないかと思う
AppActivate試してみ
0119デフォルトの名無しさん2013/11/30(土) 12:33:56.02
>>118
ありがとうございます。
試してみます。
0120デフォルトの名無しさん2013/12/03(火) 15:30:44.33
数万行×数百列の2次元配列arrで
arr("りんご","色")としたら、"りんご"行の"色"列の値が取り出せるようにしたいです。
Enumがそれっぽいですが、"りんご"や"色"の位置はあらかじめ決まってなくて
Enum宣言時に値を入力できません。どうすればいいですか。
0121デフォルトの名無しさん2013/12/03(火) 16:45:56.53
>>120
find or filter
0122デフォルトの名無しさん2013/12/03(火) 18:00:28.45
>>120
>>121
★3、★4に明確に違反しています。スレ違いです。
0123デフォルトの名無しさん2013/12/03(火) 21:27:43.18
>>122
必死だなw
0124デフォルトの名無しさん2013/12/03(火) 22:47:21.25
VSTOはどこで聞くのがいいんだろう
0125デフォルトの名無しさん2013/12/04(水) 05:41:42.67
それぞれの言語のスレか、VSスレかじゃないかね
0126デフォルトの名無しさん2013/12/04(水) 06:12:37.46
>>120
その2次元配列とやらのデータは元々シートに書かれてるの?
0127デフォルトの名無しさん2013/12/04(水) 10:05:10.57
白桃の臭い
0128デフォルトの名無しさん2013/12/04(水) 23:35:56.61
>>125
ありがとう。
0129デフォルトの名無しさん2013/12/07(土) 22:35:46.63
2つのブックを開いた状態で
BVAが記述されたていないの方のbook2のa1セルを参照するときに
ブックをアクティブにすればすぐ参照できますが
アクティブにしなくてもbook2のa1の数値を参照することはできるのでしょうか?

If Range(A1) < 0 Then 'A1をブック2のA1を参照させるには。。
Range(a2).Value = 0
End If
0130デフォルトの名無しさん2013/12/07(土) 23:07:01.61
>>129
yes
0131デフォルトの名無しさん2013/12/07(土) 23:24:16.83
>>129
オープンしておけばアクティブにしなくてもアクセスできる。
Workbooks("ブック名").Sheets("シート名").Range("A1").Value

Range(A1)というようにブック名、シート名を省略はできないけど。
ブック名、シート名を指定するのは面倒ということなら

With Workbooks("ブック名").Sheets("シート名")
  .Range("A1").Value
End With

のようにWithステートメントを使えばいい。
0132デフォルトの名無しさん2013/12/07(土) 23:29:02.79
>>120
2次元配列のデータ元がシートの場合
2次元配列の変数に格納する必要はなく、
arr("りんご","色")という指定できるプロシージャを作ればいい。

2次元配列のデータ元がシート以外の場合
2次元配列に格納されているデータをシートに書き出してから
arr("りんご","色")という指定できるプロシージャを作ればいい。
0133デフォルトの名無しさん2013/12/07(土) 23:34:03.24
>>122
> ★3、★4に明確に違反しています。スレ違いです。

ってかさ、明確に違反しているっていうのは一方的な見方でしかない。
作り方によっては★3、★4に全く違反しないように作れるわけだが。
0134デフォルトの名無しさん2013/12/07(土) 23:38:31.11
http://toro.2ch.net/test/read.cgi/tech/1382015080/96

> 演算子と言えばXor(排他的論理和)ってのがあって
> True Xor True = False
> True Xor False = True
> False Xor True = True
> False Xor False =False
> みたいにどちらか片方のみがTrueの場合にTureを、
> そうじゃない場合はFalseを返すんだけど、
> これの使い道って何か有る?

状態が変わったことを検出したい場合とか。
0135デフォルトの名無しさん2013/12/07(土) 23:55:38.78
>>130
>>131
ありがとうございました参照数百箇所参照させたら激しく点滅して時々謎のerrorが出て困っていましたが解決できそうです。
0136デフォルトの名無しさん2013/12/08(日) 09:38:27.18
>>134
★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。

 VBAとは、『Visual Basic for Applications』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。

★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
0137デフォルトの名無しさん2013/12/08(日) 09:40:52.10
>>133
違反の可能性があるってだけで違反のわけだが。ルールとはそういうもの。
従えないなら出て行ってもらうほかないわけだが。
0138デフォルトの名無しさん2013/12/08(日) 09:45:22.28
それは言えてるね。
保有の恐れがあるので大量虐殺したイラクの件もあるし。
有ろうが無かろうが「有るかもしれない」と言われた時点で犯罪が確定する。
警察に頼めば証拠はあとからいくらでも作れるし。
0139デフォルトの名無しさん2013/12/08(日) 11:14:22.32
全く違反しないように作れると言っているのに
「違反の可能性がある」で返すとかドンだけアスペなんだろうこの人

>>137「ルールとはそういうもの。(ドヤァ)」

言葉が通じないならこの世から出て行ってもらうほかないわけだが。
0140デフォルトの名無しさん2013/12/08(日) 11:20:17.94
vbaにも、vb.netでいうところの
DataTableがほしいな。
DBから値を取得するとき不便だわ
0141デフォルトの名無しさん2013/12/08(日) 11:47:25.77
>>140
そこでADOですよ
0142デフォルトの名無しさん2013/12/08(日) 17:12:27.36
OS Windows7 Excel2003です。

Sheet1の入力データをコピペマクロで
Sheet2に貼付けまでできています。
これを仮にマクロAの登録とします。

Sheet2に貼付け、調整したデータをそのまま
同じSheet2内でコピペしたいのですが、
マクロBとして登録しようとすると、マクロAが消えて
マクロBだけが残るのですが、マクロA、Bそれぞれ
別のマクロとして残すにはどうしたら良いのでしょう?

新しいマクロで登録すれば良さそうなのですが、
上手く行きません。何か記述が悪いのでしょうか?
0143デフォルトの名無しさん2013/12/08(日) 18:34:11.07
>>142
マクロA、マクロBはそれぞれどこに登録してるのかな?
Sheet1とかSheet2とか直接シートに登録している?
それともThisWorkbookとか標準モジュールに登録している?

そもそもマクロが消えるという状況がよくわからない。
考えられるのはマクロが登録されているシートを削除してるのかなと
思うんだけど。
0144デフォルトの名無しさん2013/12/08(日) 19:26:14.11
そもそもマクロAとかBとか、何をそう言ってるのか解らん
シート2内でコピペしたいのは、セルのデータなのかマクロなのか
そのコピペは手でやりたいのかマクロでやりたいのか
0145デフォルトの名無しさん2013/12/08(日) 19:37:09.92
>>143
マクロA、BともにSheet2に置いた
Wordアートに登録してあります。

マクロが消えるというか、macroに番号が振られるのですが、
一つ登録して次を登録すると前の番号で登録したはずのマクロが消えて
今、登録したマクロだけが残るような症状です。
0146デフォルトの名無しさん2013/12/08(日) 20:37:44.67
>>145
バージョンは違うWinXP + Excel2002の環境で試してみたけど、
こういうことなのかな?

マクロA、マクロBは標準モジュールに実装してあって
WordアートにマクロA、マクロBの二つをマクロ登録したいんだけど
Wordアートのマクロ登録は一つのマクロしか登録できない。

これならマクロCを新たに作ってマクロCからマクロAとマクロB
をコールすればできるような気がするけど。
0147デフォルトの名無しさん2013/12/08(日) 21:46:33.81
>>146
ちょっと試してみます。ありがとうございました。
0148デフォルトの名無しさん2013/12/09(月) 08:30:48.91
>>146
横だが、おっさんエスパー検定何級?惚れた
0149デフォルトの名無しさん2013/12/10(火) 00:35:03.48
シート内に配置したボタンを押すとVBAが動いて、
セルの計算結果を特定のセルに書きこむ処理をしてるんですが、
この時にVBAで書きこんだ内容をExcelにある元に戻すボタンで戻せるようにする方法ってありますか?

宜しくお願い致します。
0150デフォルトの名無しさん2013/12/10(火) 01:15:07.25
事前にコピーしておく処理を追加する
もとに戻すボタンと処理を追加する
マクロの処理中に段階的にコピーをすれば親切
ブックの終了時にコピーを破棄すること
0151デフォルトの名無しさん2013/12/10(火) 07:17:22.38
>>150
> もとに戻すボタンと処理を追加する

要件変えんなよ
0152デフォルトの名無しさん2013/12/10(火) 07:42:40.74
>>151
>要件変えんなよ

要件どおりの案を書けよ
0153デフォルトの名無しさん2013/12/10(火) 07:43:41.31
知らんけど、貼り付けみたいなものを実行したら戻る対象の処理として憶えていてくれていて、元に戻すで戻れたりしないかな、知らんけど
0154デフォルトの名無しさん2013/12/10(火) 14:06:31.70
>>152
指摘されて逆ギレ、カッコ悪 (w
0155デフォルトの名無しさん2013/12/10(火) 17:34:28.49
>>149
質問をするスレの選択を間違えたね、
出来るのに回答できる人間はいない。
0156デフォルトの名無しさん2013/12/10(火) 18:12:15.78
何その不自然なレス、かなり気持ち悪い
149と155が別人なら単に155が変人なだけだが
自演なら155の他に149までが変人なんだが
あ、結局のところ変人は一人だけかワラ
■ このスレッドは過去ログ倉庫に格納されています