Excel VBA質問スレ Part8
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/08/25(月) 23:16:33前スレ http://pc11.2ch.net/test/read.cgi/tech/1212587819/
★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。
★2 ExcelのVBA以外の部分に関する質問はNGです。
但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。
★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。
VBAとは、『Visual Basic for Application』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み
コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。
★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
0002デフォルトの名無しさん
2008/08/25(月) 23:18:5401 http://pc11.2ch.net/test/read.cgi/tech/1054356121/
02 http://pc11.2ch.net/test/read.cgi/tech/1168308855/
03 http://pc11.2ch.net/test/read.cgi/tech/1180192018/
04 http://pc11.2ch.net/test/read.cgi/tech/1189814602/
05 http://pc11.2ch.net/test/read.cgi/tech/1197448064/
06 http://pc11.2ch.net/test/read.cgi/tech/1205231499/
07 http://pc11.2ch.net/test/read.cgi/tech/1212587819/
0003デフォルトの名無しさん
2008/08/25(月) 23:28:51乙
0004デフォルトの名無しさん
2008/08/25(月) 23:31:24入力文字列の書式が「999-9999-9999」か「9999-99-9999」だけなら、
x = split(入力文字列,"-")
x(0)="(" & x(0) & ")"
debug.print join(x,"-")
0005デフォルトの名無しさん
2008/08/25(月) 23:32:460006デフォルトの名無しさん
2008/08/25(月) 23:51:55これだけコンパクトに洗練されたIDEってほかにないだろ?
しかもお手頃。Excelに最初からついてくるんだぜ。
そんでExcelからマクロの記録とかやれば馬鹿でもチョンでもコードがかけるの。
こんな素晴らしい機能は他に類をみないよね。
もうビルゲイツさまさまってかんじ?
ろくにシェルスクリプトもかけないのにわざわざLinuxとか使ってる奴もったいねーw
とりあえずビルゲイツさまが提供してくださるOSとソフトウェアを使っていればいいんだよ。
0007デフォルトの名無しさん
2008/08/26(火) 00:00:040008デフォルトの名無しさん
2008/08/26(火) 20:56:28ならんぞ。どういうパターンの話?
もしかして型変換起こしてるとか?
0009デフォルトの名無しさん
2008/08/26(火) 22:43:02です。
いろいろなことを教えていただきありがとうございます。
ひとつひとつやってみます。
またなにか聞くかもしれませんそのときはお願いいたします。
0010デフォルトの名無しさん
2008/08/27(水) 12:59:04関数も持たせたいのですが可能でしょうか?
0011デフォルトの名無しさん
2008/08/27(水) 13:56:150012デフォルトの名無しさん
2008/08/27(水) 15:18:29ちょっと調べてみます。
0013デフォルトの名無しさん
2008/08/27(水) 22:06:17並べて表示させるのはなんとなくわかるのですが、すべて削除するマクロがわかりません。
その列以外にもオートシェイプがあるのでDrawingObjects.Delete は使えないと思いますし、
マクロを記録しながら、オブジェクトの選択を選んで消したい箇所をドラッグしてDELしても
ActiveSheet.Shapes.Range(Array("AutoShape 260", "AutoShape 261")).Select
Selection.Delete
とオートシェイプの番号を指定して削除しているのでマクロには使えなさそうです。
マクロで使えるオートシェイプの削除方ってありませんか?
0014デフォルトの名無しさん
2008/08/27(水) 22:19:540015デフォルトの名無しさん
2008/08/27(水) 22:50:39もう少し詳しくお願いします。
0016デフォルトの名無しさん
2008/08/28(木) 00:40:08んで作成時にkeyプロパティに座標(行,列)を文字列で格納しておくんだ。
あとはActiveSheet内のシェイプを走査して、特定の座標のシェイプを指定
して削除できると思うよ。
ActiveSheetの行or列orセルが削除されたらシェイプのkeyプロパティに格納
されている座標を更新する処理を加えれば完璧じゃね?
0017デフォルトの名無しさん
2008/08/28(木) 20:54:48ExecuteExcel4macroでやると速いんですが、
書式が通常と全く異なるので記述が難しい。
順番が決まってるし、""で囲む部分とかどうやったら良いのやら。
誰か上手いこと解説して下さい。
0018デフォルトの名無しさん
2008/08/28(木) 22:37:59何度も同じ処理をcallする場合に、処理を記述するのは、
sub と function、どちらにすべきでしょうか。
引数無しの記述なので、どちらで記述して呼び出しても同じ結果が出るのですが、
正しい使い方を覚えたいと思います。
よろしくお願いします。
0019デフォルトの名無しさん
2008/08/28(木) 22:39:390020デフォルトの名無しさん
2008/08/28(木) 22:40:420021デフォルトの名無しさん
2008/08/29(金) 08:38:25Excel でコンマおよび引用符を区切り文字としてデータをテキスト ファイルにエクスポートするマクロ
http://support.microsoft.com/kb/123183/ja
上記のようなマクロを求めています。
例えばexcel上に、
1 2 3
4 5 6
という表があれば、
"1","2","3"
"4","5","6"
というテキストファイルに吐き出したいのです。
例では、囲い文字='"' 、 区切り文字=',' としましたが、両方とも簡単に変更出来るとなお良いです。
どなたかとっかかりでも良いですからアドバイスを下さい。よろしくお願いします。
0022デフォルトの名無しさん
2008/08/29(金) 08:43:20釣りじゃないなら、「名前をつけて保存」のcsvを飽きるほど試してみるんだ。
0023デフォルトの名無しさん
2008/08/29(金) 08:54:11回答ありがとうございます。
保存形式にcsvを選べばカンマ区切りのテキストファイルが得られるのは知っていますが、
それでは囲い文字までは指定できないと思います・・・。
それとも私の知らない機能があるのでしょうか?
0024デフォルトの名無しさん
2008/08/29(金) 09:33:100025デフォルトの名無しさん
2008/08/29(金) 10:27:01セルの書式を文字列に変更してcsv形式で保存しましたが、
""で括られることはありませんでした。ごめんなさい。
ちなみにセルの内容自体を"1"などとしてcsvで保存すると、
なぜか"が増えて"""1"""となってしまいます。
EXCELの機能のみで実現できるのならばそれにこしたことはないのですが、
色々調べた結果、これはマクロを組まなければ実現できないみたいなんです。
どうか、マクロを使った方法を教えていただけないでしょうか?
私の足りない頭では、まずベタにcsvで吐き出した後、
テキストエディタを使って正規表現で , や先頭を置換していく方法しか分かりません。
1ファイルだけならそんなに手間はかかりませんが、大量のファイルを処理したい場合、
マクロを使えたら便利だと思い質問させて頂いてます。
002624
2008/08/29(金) 10:46:51んじゃ、1を'1にしたらどう?
# つーか、理由が判らんから喰い付きが悪いんじゃないだろか。
■ このスレッドは過去ログ倉庫に格納されています