>>951 それって、100%ExcelVBAのような気がするけど・・・
953 :
デフォルトの名無しさん :2008/05/29(木) 09:23:10
共有されていないブックを、"読み取り専用"で開いているメンバーを VBAで調べるのは不可能ですか。
VBAにCで言うDefineのようなものはないのでしょうか。 StaticステートメントをDefineのように使うのはおかしくないですか?
自分の家でつくったユーザーフォームが友達のPCで開いたら 背景色が変わってたんだけどなんで? 俺excel2000 友excel2002
956 :
デフォルトの名無しさん :2008/05/29(木) 14:31:16
ユーザーフォームの色は、絶対指定と、OSの設定にあわせる方法と 二種類あって、おそらく後者を適用しているのでしょう。
957 :
デフォルトの名無しさん :2008/05/29(木) 17:38:31
VBAに日本語化パッチを当てるにはどうすればいいのでしょうか
いろいろと検索してもわからなかったので質問させていただきます。 CSVファイルをエクセルファイルに変換したいのですが、特定の列だけを 文字列として処理を行いたいのです。 また、変換元のCSVファイルの指定をBATファイルを利用したいのですが、 よい手段がわかりませんでした。 なにかいい方法はありませんか??
VB Editor じゃなくて、自分の好きなエディタでマクロを書きたいのんですが、 何かいい方法ありますか? 今はエディタから全コピーしてVBA側に全ペーストしてます;;
俺は秀丸派でCもJAVAも書いてたんだけど VBA使ってみてビビった。あれはVBAが 元始にして究極のエディタだと思うんだが。 関数の保管とかしてくれるしもう最高。
×保管 ○補完
UserFormで変数を持つにはどうすれば良いですか? UserFormにTextBoxを貼り付けてTextBox1を変数として使うのもよいのですが 内部で使う変数なので表示はしたくないです。 何をやりたいかというと、このUserFormでOKボタンを押されたことをBOOL変数に記録し、 そして呼び出し元で、OKが押されたかどうか判断したいです。 つまりMFCで言えば CDialog dlg; if(dlg.DoModal() == IDOK) { UserFormObj.Show IF UserFormObj.bOk = TRUE THEN 処理 END IF 見たいな事をしたいです。
964 :
デフォルトの名無しさん :2008/05/30(金) 00:50:38
UserFormで変数を持つにはどうすれば良いですか? UserFormにTextBoxを貼り付けてTextBox1を変数として使うのもよいのですが 内部で使う変数なので表示はしたくないです。 何をやりたいかというと、このUserFormでOKボタンを押されたことをBOOL変数に記録し、 そして呼び出し元で、OKが押されたかどうか判断したいです。 つまりMFCで言えば CDialog dlg; if(dlg.DoModal() == IDOK) 処理 みたいな。 VBAだと UserFormObj.Show IF UserFormObj.bOk = TRUE THEN 処理 END IF って感じだと思ってます。
すみません。2重カキ子しちゃいました。。
>>963 は無視してね
すみません。2重カキ子しちゃいました。。
>>963 は無視してね
>>964 UserFormにOKプロパティを作る
又は、手軽に標準モジュールにPublic変数を宣言する
すみません。2重カキ子しちゃいました。。
>>964 は無視してね
>>967 ありがとうございます。
OKプロパティーというのがあるのですね。勉強になります。
#今日は書き込みがやたらエラーになる(:_:)。スレ汚しすみません。
>>969 ごめん、UserFormにOKプロパティ作っても、UserFormが閉じたら変数破棄されるからダメだね
Public変数でどうぞ
VCで作成したDLLを使用してVBAでプログラマしてます。 Private Declare Function DataRead Lib "ExcelVBA.dll" Alias "_CareerDataRead@4" (strFileName As String) As String・・・@ だと「DLLが見つかりません」と出てきます。そんで、Dllのパスをフルパスにしてやると動作するんですが、そすると他のPCで パスがないので「Dllが見つかりません。」と出てきちゃいます。 できれば、ブックのあるフォルダにDLLをおいて@のように呼び出したいのですが、無理なのでしょうか?
973 :
デフォルトの名無しさん :2008/05/31(土) 10:10:45
セルに挿入されているハイパーリンクを普通にクリックして、ページ先に飛ぶようなことを VBAから実行することは可能でしょうか。 あと、ユーザーフォームにハイパーリンクを張ることは可能ですか?
例えば、PC起動時にあるソフトをアップデートしたいとき、VBAできたりするんですか?
そんなもんメールで告知しろ。 内部的なソフトで、アップデート(上書き)したいだけなら バッチファイルとスタートアップのショートカットを駆使すりゃいいやん
VBAからSystem.Text.StringBuilderを使うとき、 オーバロードがどのAppend_数字に対応しているか調べるには どうすればよい?
977 :
デフォルトの名無しさん :2008/06/01(日) 18:51:45
エクセル2000で 指定した名前で CSVファイルで保存する方法ってわかりますか?
978 :
デフォルトの名無しさん :2008/06/01(日) 19:29:10
>>977 使ったことないけど、getsaveasfilename でいいんじゃない?
980 :
側近中の側近 ◆0351148456 :2008/06/01(日) 20:32:46
>>977 (っ´▽`)っ
Excel2000のVBAでCSV保存すると、
日付型はことごとく文字化けするけどなー☆
981 :
デフォルトの名無しさん :2008/06/01(日) 20:44:27
ビジュアル ベーシック フォー 哀川翔
984 :
側近中の側近 ◆0351148456 :2008/06/02(月) 20:44:29
>>983 (っ´▽`)っ
Jan 1 2007とかにならんかね?
986 :
側近中の側近 ◆0351148456 :2008/06/02(月) 20:54:18
>>985 (っ´▽`)っ
これは文字化けじゃないか。
細かいことは気にするな☆
いわゆるマクロウイルスとかいうやつのコードの書き方教えて。 ウイルスチェックで引っかかるところを見てみたいだけです。
988 :
デフォルトの名無しさん :2008/06/03(火) 12:49:33
携帯からたどり着きました。スレ違いだったらすみません。 よかったらご教授願います。多分とても簡単な事だと思うのですが…超初心者です。 OSはXP、Excel2003です。 ファイルAの内容を、カメラ機能を使って、ファイルBに取り込もうとしています。 ファイルAのシート名は1〜31までの整数です。(1日1シート) ファイルB上でマクロを実行した時、実行日に相当するシートの範囲を読むようにしたいのですが、以下のマクロでは、エラーになってしまいます。手直しして頂けないでしょうか。宜しくお願いします。 Sub カメラのリンクを編集() Dim i As String i = Day(Date) ActiveSheet.Shapes("camera").Select Selection.Formula "='G:\平成20年\[ファイルA.xls]i'!$A$1:$K$60" End Sub
ここは手直しスレじゃないんだが。 せめてどんなエラーになったか位書こうよ。 あー、シート名が変数i(不適当な名前だw)に入っているのなら、文字列を組み立てないとダメだね。 >988では"i"と言う名前のシートを探そうとしてしまう。
×ご教授 ○ご教示
991 :
デフォルトの名無しさん :2008/06/03(火) 14:55:10
>989、990 文字列を組み立てるというアドバイスの元見直しをして、無事完成しました。 スレ違い失礼しました、「ご教示」ありがとうございました。
質問したいけど構文ここに書くの面どくせえ
・・・ If ActiveCell.Column = 6 Then Range("A1:A10").Copy ActiveCell Else MsgBox "ここは駄目" End If ・・・ これだと6列目を先頭としてA1〜A10のセルをコピーでき、 6列目以外は入力不可でmsgboxが出るのですが、 例えば6列目〜10列目を入力可能にするにはどうしたら良いでしょうか?
994 :
デフォルトの名無しさん :2008/06/03(火) 22:18:12
オートシェイプの始点やら終点ってどういう単位? Sheets(2).Shapes.AddLine(Xs, Ys, Xe, Ye).Select たとえば、こうやって変数で当てて500から520までかけ。次に520から540までかけ ってやっても線がつながらんのだが。
>>994 ちゃんとつながるぞ。単位はポイント
Sheets(1).Shapes.AddLine(50, 100, 100, 50).Select
Sheets(1).Shapes.AddLine(100, 50, 150, 100).Select
Sheets(1).Shapes.AddLine(150, 100, 100, 150).Select
Sheets(1).Shapes.AddLine(100, 150, 50, 100).Select
VBAを使用して作成したExcelファイルを立ち上げようとすると、 「問題が発生したため、Microsoft Excel for Windows を終了します。 ご不便をおかけして申し訳ありません。」 というMicrosoftのエラーになり、Excelが開かなくなってしまいました。 中のモジュールを何とか見る方法はないでしょうか?
997 :
デフォルトの名無しさん :2008/06/04(水) 20:06:50
あるセルにある文字列が入っています。特定の文字列では無いのですが、 この文字列から、条件を満たす物を抽出したく考えております。 具体的には、「*」 で囲まれた文字列を抜き出したく考えております。 (「」で囲まれた物以外を削除) 調べてみたのですが、このような処理は可能でしょうか。 可能でありましたらば、教えてくださいませ。よろしくお願いします。
regexp
999 :
デフォルトの名無しさん :2008/06/04(水) 22:58:25
1000 :
デフォルトの名無しさん :2008/06/04(水) 23:08:39
10000ならオマエラの人生幸せ それ以外なら一生不幸
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。