1 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 17:19:08.43 ] 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 質問スレ Part23 toro.2ch.net/test/read.cgi/tech/1327763113/
2 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 17:55:43.86 ] いちおつ 新すれなんで再投下 前>>1000 えっ えっ *やりたいこと* シート内のセル設定情報をテキストで保存して、読み出し →帳票のテキストデータ化 *必要なこと* セルに設定された各種プロパティの保存 *知りたいこと* プロパティがデフォルト以外に変更されたセルを発見する方法 *ばーじょん* xp以降 excel2000以降
3 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 19:01:32.19 ] >>2 質問内容がよくわからないけど デフォルトのセルと比較する以外にないんじゃないの?
4 名前:デフォルトの名無しさん [2012/04/13(金) 19:41:46.48 ] 会社でつこてる社内システムのWebなんだけど 30分くらいつこてなかったらログアウトされて また自分のIDとPWを入力せんとあかんのが非常にうざい。 VBAを使ってこれを防ぐ自動にIDとPWを入力する方法はないですか? 会社PCではソフトインストールはもちろんダウンロードも禁止されてるので URLに「&xx=xx&xx=xx」を追加する方法とか、htmlファイルを改造するとか、可能な方法で提案をお願い。
5 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 19:47:32.47 ] それ、Excelを使ってやることか?
6 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 19:52:17.44 ] >>4 >>1 の★3以降をよく読め
7 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 19:54:19.76 ] Excelとは限らんが?
8 名前:4 [2012/04/13(金) 20:02:21.28 ] そんなこと言わずに教えれ
9 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 20:07:53.65 ] >>4 コマンド渡してネットアクセス >>3 やっぱないのかなあ 全セルで全部のプロパティ参照して構造化するのか・・・ 読み出し時はセル範囲指定すればまだマシだけど
10 名前:4 [2012/04/13(金) 20:16:39.59 ] >>9 なんのコマンド? ネットアクセスとは? さっぱりわからん
11 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 20:22:59.98 ] >>10 VBAからコマンドプロンプトを経由してネットワークにアクセスできる。 とっても簡単。 ユーザー名、パスワード入れてエクセルからネットワークのパソコンを開けるわけだ。 コマンドプロンプトってのは、キーボードから「コマンド」を打ち込んで操作するソフトな。 例えばIPアドレスを調べたりするときに、ウインドウズのスタートからコマンドプロンプトを起動して、 「ipcomfig」とか入れてやれば出てくる。 ネットワークで繋がってるパソコンにアクセスしたりいたずらしたりできる。 あとはggr
12 名前:4 [2012/04/13(金) 21:02:46.77 ] >>11 とても興味があるのですが詳しく教えてくださらんじゃろか? 具体的にはどんな呪文を書けばいいの? ネットワークとはインターネットのアドレスも含むんですかね? ないかびっくりすることができそうだけど 具体的に教えてくださらんか? 質問の永久ログインのことに限らずいろいろと。
13 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 21:13:54.96 ] かわいいおにゃのこなら・・・
14 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 00:17:13.56 ] >>2 いったんxmlで保存して適当にゴニョゴニョすればいいんじゃない つか俺ならそのままエクセルで保存しとくか、その帳票とやらを作成するのに使った元データ保存しとくが
15 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 01:53:51.38 ] フォームコントロールで作ったCheckBoxが6つあって それが例えば リンゴ・バナナ・ミカン・イチゴ・スイカ・メロンとあったとして、 チェックの入っている項目の1文字目を一つのセルに入力したいです。 (例) リ・ミ・イ の様に。何かいい方法をご教示下さい。
16 名前:デフォルトの名無しさん [2012/04/14(土) 02:47:17.56 ] >>11 それだと別セッションになるから無理じゃない? VBAからIEを起動するようにして業務はその起動されたIEでやって 離籍するときはマクロ実行ボタンかなんか作っといてF5アタックを かけ続けるとかかなあ billboardtop100.net/excel/vba-ie/
17 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 03:05:15.99 ] F5連打するソフトをスクリーンセーバーにすれば
18 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 11:48:25.82 ] >>15 Private Sub CommandButton1_Click() Dim c As Control Dim s As String For Each c In UserForm1.Controls If TypeName(c) = "CheckBox" Then If c.Value Then If s <> "" Then s = s & "・" End If s = s & Left(c.Caption, 1) End If End If Next ActiveCell.Value = s End Sub
19 名前:デフォルトの名無しさん [2012/04/14(土) 12:15:27.58 ] セルの入力した数式がどのようなタイミングで実行されるのかがわかりません。 VBA実行する前後で数式が実行されるのでしょうか?
20 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 12:26:02.17 ] >>19 ワークシートの数式は入力した瞬間に実行される
21 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 12:59:51.05 ] >>19 support.microsoft.com/kb/214395/ja
22 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 15:49:34.34 ] >>18 ありがとうございます。 でもユーザーフォームでなくてシート上の フォームコントロールなんです。 その場合はどうしたらいいですか?
23 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 16:49:19.92 ] >>22 Shapesで回してControlFormat.Valueみるとか タイプの判別方法は解らんなぁControlFormatのプロパティいくつかたたいてエラーでるかどうかでみるぐらい?
24 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 16:50:20.05 ] >>22 Dim cb As Excel.CheckBox Dim s As String s = "" For Each cb In ActiveSheet.CheckBoxes s = s & IIf(cb.Value = 1, IIf(s = "", "", "・") & Left(cb.Caption, 1), "") Next ActiveCell.Value = s
25 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 17:01:09.35 ] >>24 ありがとうございます。完璧です! 散々苦労して出来なかったので思わずスゲーって声が出ました!
26 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 04:36:19.33 ] >ActiveSheet.CheckBoxes こんなプロパティあったのか。知らんかった つかオブジェクトブラウザで見たら、プロパティじゃなくて非表示なメソッドだな なんで非公開なんだろうな
27 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 00:55:22.81 ] ActiveChart.SeriesCollection(1).Selectを、Selectを 使わずにSeriesCollection(1)を変数に入れて使い回し対のですが、 変数への入れ方を教えて下さい。
28 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 01:11:52.27 ] >>27 SET
29 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 02:08:31.69 ] BeforeDoubleClickイベントで得たRangeオブジェクト(Target)の n個隣のRangeオブジェクトはどうやって得ればいいでしょうか? offsetでどう書けばいいか分かりません…
30 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 08:35:21.13 ] Cells(Target.Row, Target.Column - n)
31 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 12:35:53.27 ] >>29 n個右なら Target.Offset(,n) >>30 変なもの教えるなよ
32 名前:29 mailto:sage [2012/04/16(月) 23:25:26.88 ] >>31 おお、こんな簡単なのがあったとは >>30 みたいな感じでCellsプロパティから引っ張ってくるものばかりと 有難うございました
33 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 23:50:47.33 ] 質問者がoffsetでどう書けばって言ってるんだが... つか質問者もoffsetのヘルプ見れば解りそうなもんだが
34 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 23:53:51.13 ] 16進数をiniファイルへ書き込み、読み込みをするにはどうしたらいいでしょうか。 ユーザーフォーム上のコマンドボタンの色の管理のために、現在はVal関数を 使っているのですが色が今一正確に再現出来ません。 宜しく御願いします。
35 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 23:59:47.22 ] >>34 excel vba iniファイル でググればヒントがたくさん見つかるよ
36 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 22:07:37.57 ] 何らかのマクロ処理後XLSで保存するマクロを、2003と2010両方で 動くようにするには、2010では2003の形式で保存するようにすればいいと思うんだけど、 この部分って2003でも通用しますか? 自分でテストすれば良いだけなのですが、調べなからじゃないと分からないので 考え方が正しいかどうか知りたいです。 宜しく御願いします。
37 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 22:17:36.18 ] >>36 問題ありません
38 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 16:29:34.62 ] 保存せずにブックを閉じたいのですが、ThisWorkBook.Saved=True は 標準モジュールに書いても無効でしょうか? ブックのCloseイベントに書かないと駄目ですか?
39 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 16:51:10.05 ] 実行した時点で無効化が有効になる
40 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 17:05:25.98 ] ?
41 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 18:08:27.98 ] どこに書いても問題ないよ いつ実行されるかが重要なんだから
42 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 18:38:24.16 ] close部に記述すると、ブック終了時に実行されるので、有効になる。 それ以外の部分に記述すると、実行されtrueを維持している場合のみ、ブック終了時に有効。 実行していない場合はその限りではない。
43 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 20:45:13.71 ] Wordのオートシェイプにクリックイベント仕込むのは無理ですかねぇ。 Excelの用にOnActionが使えないようで・・・。 自前チェックボックスのため、押すたびに□>■になるものを作っていまして、 ラベルコントロールで代用してたのですが、ラベルって50個も置くと重くて重くて・・・。
44 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 21:04:38.20 ] >>43 Wordの質問スレに行ってみればいいんじゃない?
45 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 02:29:14.38 ] シート上のフォームコントロールで ドロップダウンリストを作成しているのですが、 エクセル一行空白を設定しており、 エクセル立ち上げ時には空白状態にしておきたいのですが、 コードが解りません。 ちなみにテキストボックスは TextBox1.Text = vbNullString の様に記述しています。 解る方ご教示下さい。
46 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 12:14:39.44 ] >>45 1行目が空行なのであればこんな感じ? Dim d As Excel.DropDown For Each d In ActiveSheet.DropDowns d.ListIndex = 1 Next
47 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 02:19:47.93 ] >>46 ありがとうございます。 出来ました。
48 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 00:57:57.99 ] いいってことよ
49 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 09:31:49.67 ] 気にすんな!
50 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 10:18:20.66 ] 誰だよwww
51 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 15:43:05.10 ] かまわんよ
52 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 09:13:43.06 ] グラフの右隣の行番号を取得するにはどうすればいいでしょうか?
53 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 10:48:08.84 ] >>52 右隣の行番号ってのが何のことかよくわからんが グラフの左上端にあるセルの行番号ならこれで取得できる Dim c As ChartObject For Each c In ActiveSheet.ChartObjects Debug.Print c.TopLeftCell.Row Next
54 名前:デフォルトの名無しさん [2012/04/22(日) 13:29:41.46 ] 質問です。 OSはwindows7 professional SP1 Excellは2007です。 現在、小文字で500〜600文字程度ある文字列が500列あります。 その中に存在する特定の文字列、たとえばaggtcaを検索し、大文字にし色を変えるというマクロを組んでおります。 それが以下になります。 Sub Try1() Dim c As Range For Each c In Selection RepChar c, "aggtca", 3 ' サブプロシージャ呼び出し Next End Sub 'c: 対象セル What:検索文字列 ColorIndex:Font色Index Sub RepChar(ByVal c As Range, What As String, ColorIndex As Long) Dim j As Long Do j = InStr(j + 1, c.Text, What) If j = 0 Then Exit Do With c.Characters(j, Len(What)) .Text = UCase$(What) ' 大文字にする .Font.ColorIndex = ColorIndex ' Font色 変更 End With Loop End Sub しかしながら、検索対象文字列が255文字までなら思う通りに動きますが、256文字以上になったら色が変わるだけになってしまいまいました。 なにかいい解決案を思い浮かぶ方がいたらご教授願います。
55 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 14:13:56.85 ] >>54 一旦文字列変数に代入して大文字に変換したあとにセルに代入し直して文字色を変えるとか
56 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 14:33:00.84 ] >>54 VBAの制限 セルから文字列を取り出す時に、Textプロパティを含むいくつかの命令では255文字以下しか扱うことができない 大文字への変換と色の変更は別々にやるしかない Sub RepChar(ByVal c As Range, What As String, ColorIndex As Long) Dim j As Long Dim str As String, WhatU As String WhatU = UCase$(What) str = c.Text j = 0 Do j = InStr(j + 1, str, What) If j = 0 Then Exit Do Mid(str, j, Len(What)) = WhatU ' 大文字にする Loop c.Value = str j = 0 Do j = InStr(j + 1, str, WhatU) If j = 0 Then Exit Do c.Characters(j, Len(What)).Font.ColorIndex = ColorIndex ' Font色 変更 Loop End Sub
57 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 18:40:27.33 ] 初歩的な事で申し訳有りませんが、教えて下さい。 B3=VLOOKUP($A3,sheet2!$A:$J,6) B4=VLOOKUP($A4,sheet2!$A:$J,6) と、A列の検索値が空白になるまで続くのですが、 マクロで計算結果のみを表示する方法を教えて下さい。 宜しくお願いします。
58 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 18:51:25.44 ] >>57 WorksheetFunctionプロパティを使えばいい Range("B3").Value = Application.WorksheetFunction.VLookup(Range("$A3"), Worksheets("sheet2").Range("$A:$J"), 6)
59 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 13:08:16.78 ] ネットから下記のようなカンマ区切りのCSVを読み込むコードを使っています。 Do Until EOF(intFF) ' レコードを読み込む Input #intFF, X(1), X(2), X(3), X(4), X(5), X(6), X(7), X(8) : : Loop CSVファイルのある1行に 2012/3/11,12:00:05,・・・とあると 2012/3/11が2012、12:00:05が12としか読み込まれません。 例えば 日付2012/3/11,時間12:00:05 等、何か文字がついていると 日付2012/3/11 と読み込まれます。 数字のみでも読み込むにはどうしたらいいですか? 宜しく御願いします。
60 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 13:27:13.17 ] >>59 >>1 >★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。
61 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 13:41:48.23 ] これってVB6のコードなの?
62 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 13:52:37.31 ] >>59 Excelの機能でCSVファイルを読み込めばいいよ
63 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 18:05:20.05 ] >>60 csv読み込みまでいかんと申すか!
64 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 18:25:33.59 ] いい加減、>>1 のテンプレ見直そうよ。 ずーーーーと前から何回か話題に出してるんだけど、このテンプレPart4で誰かが勝手に作った奴で、 それ以降★○だから駄目とかいう奴がうざいんだわ。同一人物かもな。
65 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 18:42:26.28 ] >>64 そんな昔からの経緯を知ってるならお前が率先して見直せよ 何もせずに文句だけ言うやつが一番うざいわ
66 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 19:30:13.96 ] そして誰も答えない やったことないからわからんけど、文字列に格納して自分で加工したら? 読み出しが出来ればだけど
67 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 20:16:19.92 ] ある処理をしたときに Cells(i, 2).Value = "Error" と値を入れるのですが、そのセルはシートの保護が掛かっているいる為 エラーになります。 ループでまわし、かつその途中で人的操作が入る為 一番最初に保護の解除を行い、最後に保護をするのは避けたいです。 ただ、Cells(i, 2).Valueのループの回数分、保護/保護の解除のするのは、 無駄に処理が重くなりそうなので避けたいのですが。 なにか妙案はありませんか?
68 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 20:29:47.46 ] >>67 On Error Resume Nextでスルーするのは駄目なのか? 嫌なら Err.Numberで判定すれば
69 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 20:51:03.76 ] >>67 UserInterfaceOnly
70 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 20:59:56.10 ] >>59 配列変数XをString型で宣言すればいい Dim X(1 To 8) As String
71 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 21:59:42.33 ] >>67 セルに入れるだけなら 仮シート作って最後に転写 配列に格納して最後に書き出し のどちらか 俺なら後者だが
72 名前:67 mailto:sage [2012/04/24(火) 23:12:35.29 ] >>68 >>69 >>71 ありがとうございます。その手で解決できました
73 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 23:19:04.14 ] そういうの嫌いじゃない
74 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 16:48:59.60 ] >>66 >>62 で答えてるじゃん。 コード書かないと回答とは思わなかったのかな。
75 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 19:39:53.89 ] 質問があります VBA初心者です 会社でVBAマクロを作っていたのですが、サーバーにあるファイルにたいしてWorkbooks.OpenやCloseしかしてなかったのですが、サーバー上のファイルが消えてしまいました 基本的に書き込みや削除などの操作は行っていないのですが、OpenやCloseのみでも参照先のファイルが消える可能性があるのでしょうか ちなみにOPENには特にオプション指定はしていません また、ローカルのファイル対するOpenでは現象が再現せず、再現しなかったファイルをそのままサーバーに置いて、それを参照すると消えました。
76 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 19:45:18.09 ] >>75 ソースコードも見ずに第三者が答えられるわけがない
77 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 19:59:32.17 ] >>76 失礼、ファイルの持ち出し不可能なのでソースをもってくることはできませんでした 聞きたかった事としてOpenやCloseによってはファイルが消える可能性があるかということを知りたかったのです
78 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 20:27:19.11 ] 2003と2010で同じマクロを使っています。 2010で使用する時にリボンを畳む方法を教えて下さい。 2010で使用する時のみマクロファイルを読み込まないといけない気がするのですが やり方がわかりません。
79 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 20:52:07.30 ] >>75 workbook.open,workbook.closeだけならないよ 他のコードなり操作なり見ないとわからんけど vba側だけじゃなくて、サーバー上でどういう管理されてるかも含めんとね ローカルなcloseは問題ないんだろ? ネットワークを介さないサーバー上でのopen,closeの挙動も見ておいたら
80 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 20:56:59.03 ] >>78 Application.VersionでExcelのバージョンを判定して処理を分けるとか?
81 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 21:05:53.16 ] >>79 ありがとうございます また明日コードみてみます 実はバグがあって 最初に読み込んだ(Openした)ファイル(参照ファイルA)の、あるセルに書き込まれてる「ファイル名(参照ファイルB)」を開きに行くんですが、セルに何も入力されていなくてもOpenするようになってました (おそらくファイル名「""」をOpen。Closeは""でもパスが通るようになっていたか未確認) ちなみに、この状態になるファイル(参照ファイルA)にアクセスした時に消えました。 この時、参照ファイルAは消えないのですが、同一フォルダにあるファイル(ファイルBの候補(?))が全て消えました(ローカルで試した場合は発生せず、サーバーは100%発生します)
82 名前:75 mailto:sage [2012/04/25(水) 21:10:34.50 ] ものすごく分かりにくい文章になりましたので注釈します; サーバー上に(参照元となる)ファイルAと、ファイルAのセルから参照先が判断されるファイルB群があって、参照先を示すセルが空欄になってました この時、異常処理が入ってなかったので、無理やりファイル名""で参照にいってると思われます 明日また調べてみます
83 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 21:11:13.89 ] >>81 サーバ上のファイルを監視しながらステップ実行すれば どのタイミングでファイルが消えるかわかると思うよ
84 名前:デフォルトの名無しさん [2012/04/25(水) 22:41:12.91 ] >>73 × そういうの嫌いじゃない ○ そういうの好き 素直になりなさい
85 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 23:46:40.74 ] >>81 openに渡すときにパスがないとコンパイルエラー起こす気がするんだが・・・
86 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 09:59:25.61 ] >>80 レス、有難うございます。 マクロの記録でリボンを畳むときの命令を見ようとしたのですが、マクロに記録されません。 と言うことは、VBAではできないということですよね?
87 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 10:37:45.26 ] >>86 Excel4.0マクロを使うとできる。 リボン、非表示、Excel4.0マクロ、でググれ。携帯電話からなのでコードは書かない。
88 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 19:08:44.84 ] チュートリアルをひと通り読んだのですがわからりません。 質問させてください。 変数Aにセルのデータを配列として代入したいのですが、 |りんご,みかん,パイナップル| |アボガド| |きゅうり| このようにカンマ区切りと、そうでないセルが混在しています。 A=りんご,みかん,パイナップル,アボガド,きゅうり B=Split(A, ",") このようにして最終的に別のセルに一つづつ抜き出したいのですが、 どのようにして上のようなデータを配列としてAに代入すればいいのでしょうか?
89 名前:75 mailto:sage [2012/04/26(木) 19:18:54.25 ] 昨日、不正な(エクセルファイル指定しない)方法でブックをオープンしようとするとファイルが消えると言っていた者です 今日、会社で確認してきました ステップ実行してOpenの際にファイルが消えます 新しくエクセルファイルを作って、最小構成(ファイルパスも直値)のマクロで確認してみたところ、以下のコードでも消えました Sub Button_Click() Workbooks.Open "Y:共有サーバー\問題のあったフォルダ\", ReadOnly:=True End Sub このマクロでエラーメッセージが発生後、「Y:共有サーバー\問題のあったフォルダ」内のファイルが全て消えました ローカルで(パスは変えて)確認した場合は、やはりファイル消えてませんでした
90 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 19:27:20.88 ] 多分ここじゃ解決しないだろうけど ローカルっていうか、サーバー上のシステムでネットワークを介さないで開けたってことでいいのか サーバー側のシステムは? Workbook.Open渡されてちゃんと開けるのが前提だぞ、win入っててもexcelか.netのライブラリないと 作業ディレクトリも気になる
91 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 19:28:12.93 ] >>88 例えば、A1:E1セルに値をセットしたいならこんな感じでできる A = "りんご,みかん,パイナップル,アボガド,きゅうり" B = Split(A, ",") Range("A1:E1").Value = B
92 名前:75 mailto:sage [2012/04/26(木) 19:31:01.68 ] >>90 ファイル名を正しく指定すればOpenで開けます
93 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 19:35:18.29 ] あっそ
94 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 19:50:25.08 ] >>89 ホントにファイルが消えるならMSのサポートに言った方がいいよ んで、できれば結果を報告してくれるとうれしい
95 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 20:02:00.86 ] >>91 返信有り難うございます。 配列のデータをセルに書きだす方法はどうにかわかったのですが、 カンマ区切りのデータと、区切られてないデータを 変数Aに入れる方法がわからないんです。 例えばですが Dim A As Variant A = Range("A1:E1") B = Split(A, ",") Range("A1:E1").Value = B このように指定するとデータの型が合いませんと出て困っています。 A = Range("A1:A1")と指定すれば問題なく出力されるんですが・・・
96 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 22:10:15.77 ] >>95 こんな感じ? Dim A As String Dim r As Range A = "" For Each r In Range("A1:E1") A = A & IIf(A = "", "", ",") & r.Text Next
97 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 22:37:25.43 ] >>96 ありがとうございます。動きました。まさに理想の動作です。 このコードがどんな意味かをじっくり勉強させてもらいます。 ありがとうございました!
98 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 23:49:30.15 ] >>89 そもそも「Y:共有サーバー\問題のあったフォルダ」というパス指定があやしいが ネットワークドライブとしてY:を割り当ててるのか? 共有サーバーの部分は、実際のサーバ名が入ってるのか? Y:の後に\はないのか? ネットワークドライブなら、割り当てたユーザとエクセルを実行しているユーザは同じか? サーバとクライアントのOSやエクセルのバージョンとかもよくわからんが まあエクセルの問題じゃない気がするな
99 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 00:00:20.24 ] >>98 >ネットワークドライブとしてY:を割り当ててるのか 割り当ててます >共有サーバーの部分は、実際のサーバ名が入ってるのか? 入ってます。実際のフォルダはもう2個くらい深いところにあります 会社のフォルダ構成をそのままネットにアップするのもどうかと思ったので、スレ説明用に簡略化しました >Y:の後に\はないのか? 書き忘れてました。実際には入ってると思います >ネットワークドライブなら、割り当てたユーザとエクセルを実行しているユーザは同じか? 同じです
100 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 00:11:44.71 ] >>99 >>89 のマクロを実行したらファイルが消えるんだからExcelの問題で間違いないでしょ アホなレスは相手にしなくていいから早くマイクロソフトに問い合わせなさい
101 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 02:44:43.40 ] ファイルが消えるってのは、クライアントから見えなくなるってんじゃなくて サーバの共有ディスクから削除されてるってことなのか? ほんとにこのマクロでファイルが削除されるなら、 恐ろしくてマクロでブック開くとかやってられんわ
102 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 05:16:56.92 ] これ関係か okwave.jp/qa/q2275192.html 共有フォルダってLinux製のNASとかかな サーバ上の他のフォルダはセーフなのか?
103 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 09:36:30.33 ] 自分の環境ではAサーバーのファイルのマクロを実行してBサーバーのFileOpen BのシートをAファイルにコピー、Bファイルを閉じるってのを 毎日タスクで実行してるけど問題は起きてないよ。 参考になるか解らないけど。
104 名前:デフォルトの名無しさん [2012/04/27(金) 11:22:50.09 ] 小川慶一って人の講座か、学校の講座か迷ってます どっちの方が内容が濃いんでしょうか?
105 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 11:27:08.49 ] これだけネットに無料で情報があふれているのに お金払ってまで講座を受ける理由がわからない
106 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 11:56:31.03 ] マクロでループ処理をしているのが原因で、シート上のコマンドボタンのEnabledを切り替えた時に、 Captionの文字色がボタンをクリックしないと切り替わらなかったので、ループ処理中にDoEventsとSleepを 入れてたりしているのですが、きちんと切り替わる命令ってないでしょうか?
107 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 14:06:08.51 ] 難読問題?
108 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 14:19:19.33 ] リフレッシュみたいなのない?
109 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 17:02:48.50 ] グラフの横軸の目盛りの事で教えてください。 左端が-100、右端が100で目盛りの刻みは15毎だったり23毎だったりと条件によって変わるのですが、必ず0の目盛りを表示させることは可能ですか? 縦軸との交点を0にするのはせずに、目盛りして表示したいという事です。
110 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 17:38:36.05 ] >>109 ヘルプでAxisのメンバを調べましょう
111 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 18:04:23.29 ] お断りします
112 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:41:40.30 ] 111は違います。109ではないです。
113 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:43:51.91 ] 109だろうが110だろうが111だろうがどうでもいい
114 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 23:08:20.65 ] わからんならでてくんな。 ちなみにできんよ。
115 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:39:28.43 ] 教えていただきたいのですが書き込みできるかどうかテスト
116 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:49:20.60 ] AからF列に一つの一覧があります。 この一覧を、シート上の別の場所、たとえば、H〜M列に張り付けようとしています。 これは、マクロの記録を使えばできることですが、ほかの人がオートフィルタを使って 条件を絞り込んで結果を出しているとき、その状態でVBAマクロを実行すると、 コピー先(H〜M列)に張り付ける位置がコピー元の行の位置があわず、ずれてしまいます。 これに対して自分が思いついた案では、マクロ実行開始時に表内にオートフィルタが設定されていれば 解除するようにしています。しかしこれをやると、解除するのに時間がかかるので使えるのか微妙です。 本題に入りますが、 フィルタが設定されている状態で、コピー元をコピー先へ、行をずらすことなく張り付けることは可能でしょうか。
117 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 09:28:40.39 ] >>116 オートフィルタを解除するのに時間がかかるってのがよくわからない
118 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 23:22:09.01 ] >>116 >フィルタが設定されている状態で、コピー元をコピー先へ、 >行をずらすことなく張り付ける VBAでやる場合は、SpecialCellsで検索すると幸せになれる。 直接手作業する場合は、 (1)2007、2010 ホーム→検索と選択→ジャンプ→セル選択→可視セル (2)2003 編集→ジャンプ→セル選択→可視セル (3)2003、2007、2010共通のショートカット F5押下→セル選択→可視セル (1)〜(3)のお好きなものをどうぞ。 (3)が共通で作業手順が一番短い。
119 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 13:07:27.29 ] クリップボードに文字列をセットして終了したいのですが、Excelを終了すると同時に 自動的にクリップボードがクリアされてしまいます。 どうやったらクリップボードの内容を保持したままExcelを終了できますか? 以下、現在のコードです Set TempObject = New MSForms.DataObject With TempObject .SetText "文字列" .PutInClipboard End With
120 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 13:35:26.32 ] >>119 SetClipboardData vba でググれ
121 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 10:31:34.69 ] VBSから A.xls を自動起動させているのですが二重起動防止って出来ますか?
122 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:43:29.71 ] >>121 できる
123 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:48:01.01 ] >>122 死ね どうするかと聞いておる
124 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:49:45.30 ] >>123 そもそもExcelは同名ファイルを二重起動できないんだが どうやって二重起動させてるのかVBAのコードを見せろカス
125 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:52:42.73 ] >>124 ハゲは黙ってろ
126 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:54:39.17 ] >>121 ここはExcelVBAのスレだ VBSの質問はよそでやれ
127 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:59:46.07 ] >>125 マナーがなってないと頭悪くみえますよ
128 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 12:50:41.24 ] 二重起動ってググるだけでもっさり出てくるんだが
129 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 12:52:17.48 ] だれがもっさんだハゲ
130 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 12:58:27.01 ] んじゃサーニャ貰うわ
131 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 22:49:35.06 ] マクロで追加したブックをファイルメニューから別名保存した場合、追跡というかどういう名前に 変わったかを把握したいのですが、どうすればいいですか? 環境はxp、excel2003です。 宜しく御願いします。
132 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 23:06:02.30 ] >>131 意味がよく分からない 別名保存したのが第三者で、その人が付けたファイル名が知りたいの? 聞けばいいじゃない?
133 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 23:28:47.00 ] >>132 モーダルレスでフォーム出しっ放しの状況なんだろ 昔悩んで諦めた
134 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 23:29:32.97 ] VBAの機能じゃ無理なはず 代替案としては、ブック終了時もしくは定期的にファイル名を保存するとかかな
135 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 23:43:49.85 ] >>131 Workbook.Nameでファイル名を取得できる
136 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 23:58:40.13 ] Excel 2010 なら WorkbookAfterSave なんて言うイベントがあるんだけどね。 Excel 2003 だと、WorkbookBeforeSave で、独自のダイアログ出して保存までコードでやる ぐらいしか思いつかない。
137 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 00:25:58.49 ] >>133 どういうこと?
138 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 00:30:30.03 ] マクロで追加したブックなら、そのブックに保存用のボタンでも追加すればいいんじゃね? まぁ確実に押してくれる訳じゃないけどさ
139 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 00:36:19.41 ] ちがうだろ まず、なんでそんなことやる必要があるのか?だ
140 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 04:00:58.07 ] すみません。どこで聞いたらいいのかわからないので質問させてください。 VBA初学者です。 『最初から〜・・・VBAのプログラミングのツボとコツが・・・』を読み終えました。 次も既存の入門書を読んだほうがいいらしんですが、お薦めの本はありますか。 よくわかるExcel2007マクロ/VBA入門→実践編、と読んでみようと考えてますがどうでしょうか?
141 名前:131 mailto:sage [2012/05/02(水) 05:53:22.55 ] ユーザーフォームに複数のボタンを付けてメニュー代わりにしています。 その関係でフォームを出しっ放しにしています。 とある処理の時に新規にブックを追加するのですが、一旦その新規ブックの処理が終わっても、再度そのブックに追加で処理をする必要が出てきました。 新規追加した時はブック名は把握していますが、モーダルレスなのでオペレーターが途中で別名保存する可能性があるので質問させていただきました。 新規ブック追加はせずにフォームのブックで処理していくのがよさそうですね。 ついでになってしまうのですが、その場合メニューからの保存する際にユーザーフォームやマクロを外して保存する事は可能でしょうか? 長文で申し訳ないですが、よろしくお願いします。
142 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 07:58:06.34 ] >>141 新規ブックを作成→必要なシートを新規ブックにコピー →名前を付けて保存 じゃダメなの?
143 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 08:00:06.80 ] >>131 新規ブックのブック名をテキストファイルに書き込んどけばいいんじゃね? 新規ブックを閉じたとしても、ファイル名は残ってるわけだから何とかなるだろ。 ブック名を書き込んだテキストファイルをいつ削除するかを検討する必要はあるけど。
144 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 09:16:06.75 ] >>141 >>135 がダメな理由がわからない
145 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 09:34:40.15 ] >>140 読書なんて個人の好みなんだからあなたの好きにすればいい
146 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 12:42:17.93 ] モーダルなのかモードレスなのかはっきりしてくれ>モーダルレス
147 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 13:42:14.14 ] >>146 その程度の誤用が読みとれないようならこのスレに来る資格はないよ もっとエスパー能力を上げてきてね
148 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 13:45:39.55 ] >>147 アホ
149 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 13:45:46.52 ] 99.9%はモードレスのことなのだろうなぁと思う。 モーダルなのかモードレスなのかわからないのはアスペ。
150 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 13:46:41.65 ] > モーダルレスなのでオペレーターが途中で別名保存する可能性がある これ読んで、どっちかわからんとかありえない。
151 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 13:48:02.82 ] ↑ 間違いを指摘された本人が必死に弁護中 ↓
152 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 13:49:56.52 ] こんにちわ、米国で働いています、モーダルビッシュ有と言います
153 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 14:12:31.98 ] >>146 必死すぎw
154 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 14:36:57.11 ] あ、どうもダルベスです
155 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 18:48:42.35 ] 皆さんどんな環境(仕事)でVBA使ってるんですか? 私はmySQLで動作するタイプのwebサイトの管理を任されて csvを使う都合上、使うようになりました。 他にはどんな場面で使うものか興味があって
156 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 19:15:59.03 ] そらぁ日常の会社でのルーチンワークで帳票作成とか、、、 投資家の中には、自分で抽出基準を作ってその判定をVBAで、、、 なんて奴もいるだろうし。。。
157 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 19:45:06.80 ] モードレスです、お恥ずかしい。 何年かぶりの素人プログラムで用語が怪しいです。
158 名前:デフォルトの名無しさん [2012/05/02(水) 21:22:03.10 ] 質問者である>>131 と、他人のように振舞っている>>133 が ともに「モーダルレス」なる誤用をしているのは なんだか自演くさいのだが、 誰もそこに突っ込まないのは何らかの暗黙の了解があるのか?
159 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 21:28:48.22 ] 韓国の紙幣に韓国海が登場 imgnews.naver.com/image/032/2012/05/02/l_2012050201000282300018161_0_20120502165204.jpg ,,fヽy rヽ__)`~ i'" ・ ゚ * / ,,ノ * . <'" ,ィ'~ ` >∧__∧ヽ ウェー、ハッハッハ !!! ・ <ヽ`∀´>ヽ 世界中が ウリナラ から ~ヽ, ヽ, 孤立してるニダ !!!! * . ・ < } 。 * ) 〉 ゚ 〈 _,,,/ ゚ ´‐'"~ . ・ 。 * _,..-‐''''""~´ ̄ ̄ ̄ ̄~"'''‐-,.、 . ,.-‐''" ──‐‐''",.、.:.:.:.:.:.:.:\、.:.:.:.:.:.:.:~"'‐-、 ,.‐''"''''""~´::::::::::::::::::::::\\:::::::::::::::"'''''\"''--、.:.:.゙''‐.、 ,.‐'":::::::::::::::::::::::::::::::::::::::::::::::::゙''‐、''l:::::__,....-‐'''" ''.:.:.:::゙'ヽ、 ,.‐'"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~"‐--‐‐, ''.:.:.:. \ /:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/" .:.:.:. ヽ、 ,."::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/ .ヽ
160 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 23:03:52.99 ] >>158 ここにいるのは俺とお前だけなんだよ、いわせんな
161 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 02:01:16.22 ] 「選択したセルの値が左隣のセルの値と同じ時、文字を赤文字にする」 というマクロを作ってみたのですが Sub 'FormatConditions(1) Selection.FormatConditions.Delete Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _ Formula1:=ActiveCell.Offset(0, -1).Value Selection.FormatConditions(1).Font.ColorIndex = 3 End Sub これだとセル1箇所選択の場合はOKなんだけど、複数セルを同時に選択すると 期待したようにならない。 複数セルを同時に選択、列ごと選択して、上記のように実行するにはどうすれば良いのか?
162 名前:デフォルトの名無しさん [2012/05/03(木) 02:07:47.17 ] >>161 まだ実験してないけど sub dim a as range for each a in selection if a.offset(0,-1)=a then a.font.color=vbred end if next a end sub
163 名前:162 [2012/05/03(木) 02:10:19.53 ] おお、いま実験したらバグなく動いた。 しかし選択がA列を含んでるとエラーが出たな。
164 名前:161 mailto:sage [2012/05/03(木) 02:47:25.22 ] 動いた! でも列選択だと時間かかる
165 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 03:07:53.53 ] >>163 if文でブランクセルをキャンセルしたら早くなりました ありがとうです!
166 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 10:26:43.05 ] セルのクリックイベント等を動的に追加するやり方を教えて下さい。 あらかじめ設定してあるブックをVBAで複製しているのですが、複製元のブックを 触られてしまうことがあるので、新規にブックを作成するように変更したいのですが、 その際のイベントをどうするかが分からなくて変更に踏み切れません。 Excel2003です。 どなたか御願いします。
167 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 12:00:33.10 ] 日本語でおk
168 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 12:36:13.40 ] >>166 複製元のブックを .xls のファイルではなく、テンプレート(.xlt)形式で用意しておくだけじゃダメなの? テンプレートなら、ダブルクリックで開いても、新規文書の扱いになるので、 誤って元文書を編集してしまうことはなくなるはず
169 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 19:45:44.39 ] 複製ってのがファイルコピーなら、エクセル関連の拡張子である必要すらないけどな
170 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 23:30:58.60 ] >>166 前半部分がさっぱりわからん。 「あらかじめ設定してあるブック」って何が設定されてるのか? 「ブックをVBAで複製している」という処理はどこに実装されているのか?
171 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 23:36:54.51 ] 別に普通に分かるじゃん。 書いてあること分からないの? 引っ込んでろよ。
172 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 00:11:45.78 ] >>171 わかるんだったら回答してやりゃあいいんじゃん。 ってかお前>>166 かw
173 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 00:13:21.63 ] >>166 複製元のブックに保護かけとけば触られないから安心だぞ
174 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 00:32:56.96 ] 技術的に未熟な奴は 日本語からして駄目だよな
175 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 10:03:07.48 ] >>172 そうです、166です。
176 名前:デフォルトの名無しさん [2012/05/04(金) 22:51:03.01 ] VBAの中でとりあえずbookを新規につくりそれにデータを入れたり編集したりしてるんだけど そのbookに名前をつけたら怒られました(エラーが出ました)。 それってできないの? 仮にどこかに保存したらできるけど ファイル名はそのbookが編集し終わったときにはじめて決定するから 仮に保存はしたくないんです。 いい方法はありますか?
177 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:12:57.65 ] >>176 >ファイル名はそのbookが編集し終わったときにはじめて決定する 編集し終わって保存するときにファイル名をつけるんだからそれでいいんじゃないの?
178 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:24:00.15 ] なにが困るのかわからんな
179 名前:デフォルトの名無しさん [2012/05/04(金) 23:24:15.02 ] >>177 それ以前に いろんなbookからデータをとってくるから そのbookのnameを仮だとしても決めておきたいわけ。
180 名前:デフォルトの名無しさん [2012/05/04(金) 23:25:10.17 ] >>178 想像力がないな。 というよりVBAでちょっとでも複雑なものを作ったことがないのかな。
181 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:38:34.36 ] >>179 一体どういう状況でファイル名が必要になるんだ? もうちょっと具体的に説明できないの?
182 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:38:51.33 ] >>180 作り方が悪いだけだろ
183 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:40:21.80 ] >>176 >VBAの中でとりあえずbookを新規につくり ここのソースを見せてみ 多分それが一般的じゃないんだと思う
184 名前:デフォルトの名無しさん [2012/05/04(金) 23:41:54.39 ] 大人気、自分。 >>183 普通にテンプレートとなるシートからコピーしてる。 なので activesheet.copy
185 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:42:00.28 ] 何となくだけど ■現状 ・設定用のシートと、その設定をもとにいろいろと処理するVBAスクリプトを含むようなxlsファイル(a)が存在する ・セルをクリックしたらイベントが発生するような処理を仕込んであるxlsファイル(b)が存在する ・(a)で設定をしたうえでVBAを実行させると、(b)を複製して新しいファイル(c)を作成する ■問題点 ・ユーザが(b)を変更できてしまうため、(c)が意図したものにならない ■改善案 ・新規ブックの状態から必要な変更を(a)のVBAで行って(c)を作成することにより、 ((a)のVBAが修正されない限り)同じものができるようにしたい。 ■改善案を実施するための問題点 ・VBAでセルにクリックイベント等を設定する方法がわからん。 ってことなんじゃ。 すでに出てるように、保護とか先に検討すべきことがあるような気もするけど。 ---------- VBAの中では変数を使ってアクセスするんだから、ブック作成時にWorkbookオブジェクトを変数にセットしておけば全然困らないよな。 他のbookからデータ取るときに仮の名前が必要になるなら、仮の名前を渡してあげればいいだけだし。 データを持ってるワークブックに新しく作成したワークブックオブジェクトを渡して、 相手のワークブックが名前を読み取るとかいう仕組みってわけじゃないだろうしさ。
186 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:45:53.50 ] >>184 >VBAの中でとりあえずbookを新規につくりそれにデータを入れたり編集したりしてるんだけど 既に、bookを新規に作ってデータを入れたり編集したりできてるんだよね? 釣りじゃないならこの部分のソースをちゃんと晒してみせて じゃないとなぜファイル名が必要になるのかがわからない
187 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:49:35.89 ] >>185 エスパーするにも程があるぞw 書いてないことが足されすぎだ
188 名前:デフォルトの名無しさん [2012/05/04(金) 23:52:23.88 ] >>186 正直に言うと、 オブジェクト変数でそのbookを変数にいれたいけど そのコードを書くプロシージャがあるサブルーチン内なので 他のプロシージャから参照できない。 たぶんオブジェクト変数もローカル変数じゃなくグローバル変数にはできるだろうけど 「なるべく変数はローカルに」というポリシーを守りたいからしたくない。
189 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:54:27.75 ] ちょっと言ってることがよくわかりません
190 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:57:13.71 ] こんな感じのユーザー定義変数を作って Type tmp Book As Workbook Name As String End Type こんな感じにbookと名前を仮にセットしとけばいいんじゃねーの Sub aaa() Dim WB(2) As tmp With WB(0) Set .Book = Workbooks.Add .Name = "name1" End With End Sub
191 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:01:33.99 ] >>188 そのサブルーチンに引数を作ればいいと思うけど
192 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:01:56.96 ] >>188 お前の決めたポリシーに反したくないならそのポリシーとやらを全部列挙しろよ じゃないと答えても無駄になるわ・・・
193 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:08:54.64 ] 新規で作ったブックは保存するときに初めて名前が付けられる。 なので、新規で作った時にワザと作業用のデレクトリーに名前を付けて保存する。 保存するとそのブックと縁が切れるまでファイル自体は削除できないから、マクロ起動時、 または終了時に作業用デレクトリー内のファイルを掃除するようにしとけばいいんじゃないの。
194 名前:デフォルトの名無しさん [2012/05/05(土) 00:09:47.68 ] >>190 それじゃそのプローシージャの中でしか使えないじゃん。 わたしはこれでも初心者だけど 「変数は原則ローカルで」というのはプログラミングの中級者以上の人でも、そんなに厳守しなくていいものなの?
195 名前:デフォルトの名無しさん [2012/05/05(土) 00:11:53.25 ] >>193 自分しか使わないのならいいけど これは仕事で使ってるし、少なくとも10人以上が使うから 各PCの構成をあまり把握してない状況で 仮保存&あとで消去はあまり(というか絶対)使いたくないな。
196 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:16:29.16 ] >>194 あなたが作ったポリシーを守るかどうかはあなた次第でしょ? book.Activate しておけば Application.ActiveWorkbook で参照できるでしょ ダメかな?
197 名前:デフォルトの名無しさん [2012/05/05(土) 00:20:28.31 ] >>196 多数のbookを開いて処理してるんだ。 その状況で作業対象のbook(最終的に保存する)に名前を付けておきたいのよ。 そのactivateするためには、そのbookの名前が必要でしょ? 最初はworkbooks(workbooks.count)としてたけど、いろいろ問題があって辞めた。
198 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:22:55.02 ] >>197 bookを大量に新規作成してるってこと?
199 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:33:09.35 ] >>190 を変更 サブルーチンに引数で渡し、戻ってきた段階で保存処理を実行すれば Sub aaa() Dim WB(2) As tmp Call コードを書くプロシージャがあるサブルーチン(WB(1)) For Each x In WB If x.Name <> "" Then x.Book.SaveAs x.Name End If Next x End Sub Sub コードを書くプロシージャがあるサブルーチン(ByRef WB As tmp) Set WB.Book = Workbooks.Add WB.Name = "name1" End Sub
200 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:35:21.01 ] 全体のプロシージャの構成とその新規ブック作成のタイミングが わからんと答えづらい。 メインのプロシージャに関してはグローバル変数で 宣言してもいいと思うが。
201 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:35:47.57 ] とりあえず>>192 が全部列挙されるまで放置でよさそうだ 条件の後出しが多すぎ
202 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:41:26.35 ] ポリシーのバグを埋め合わせる為に コードのバグを作り出してる感じだ
203 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:43:18.97 ] 新規作成するブックが1つだけ →Applicationが持ってるWorkbooksコレクションを全部なめて、把握していない名前があればそれが新規作成されたWorkbookオブジェクト 新規作成するブックが複数ある →作成した時に適当にWorksheetを追加して、それに管理用の名前つける 任意の作成したWorkbookオブジェクトを取得したいときは、Workbooksコレクションとその中のWorksheetsコレクションを調べる とか。 Workbooksとかにビシバシとアクセスしてるなら、グローバル云々とかあんまり気にするなよって感じはするが。
204 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:43:46.84 ] >>199 の修正 Sub aaa() Dim WB(2) As tmp Dim i Call コードを書くプロシージャがあるサブルーチン(WB()) For i = 0 To 2 With WB(i) If .Name <> "" Then .Book.SaveAs .Name End If End With Next i End Sub
205 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:45:00.43 ] >>199 の修正2 Sub コードを書くプロシージャがあるサブルーチン(ByRef WB() As tmp) Dim i For i = 0 To 1 Set WB(i).Book = Workbooks.Add WB(i).Name = "name" & i Next i End Sub
206 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 01:19:19.06 ] >>197 StatusBarにブック名を待避しておくとか Sub sp1() Dim book As Workbook Set book = Workbooks.Add Application.StatusBar = book.Name Call sp2 Application.StatusBar = False End Sub Sub sp2() Workbooks(Application.StatusBar).Worksheets("Sheet1").Range("A1") = "wwwwwwwwwwwwwww" End Sub
207 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 01:35:30.99 ] メインプロジェクトがあるなら、それに書けばいいじゃん シートに書きたくないならtempモジュールにコードを動的に追加すりゃいい
208 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 02:36:57.35 ] つうか、変数をなるべく局所化するために、引数と戻り値ってのが存在してるんだが シート追加するサブルーチンがあるなら、追加したシート戻せよ Functionって知らないのかお前ら?
209 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 04:09:29.68 ] グローバル変数は使いたくないけど他から参照したいってなら クラスモジュールを使うって手があるな オブジェクト指向のいいとこどり
210 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 04:40:52.69 ] >>201 はげどう。 条件後出し多くて、回答しようと思っても振り回されてるだけだな。 エスパーしろよと言わんばかりの訳のわからん日本語並べられてもお互い疲れるだけだし。 >>176 さっさとソース晒せ。 ポイントとなる部分を抜き出して動作を再現できるコードで充分なんだけど。
211 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 05:33:01.44 ] 176のポリシーとエクセルの仕様が不適合だから無理
212 名前:176 mailto:sage [2012/05/05(土) 11:06:53.66 ] >>176 は釣りでした すみません
213 名前:デフォルトの名無しさん [2012/05/05(土) 12:22:19.49 ] replaceって、関数にもあるし、メソッドにもあるし、混乱しない? Worksheet関数にも機能が違うのがあるし
214 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 12:37:04.92 ] >>212 は嘘です! >>176 の釣りは私がしました!!
215 名前:デフォルトの名無しさん [2012/05/05(土) 13:19:54.12 ] 個人用マクロに作ったFunctionを どんなbookででも使えるようにする方法って、 ひょっとしてないの?
216 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 13:29:32.23 ] 使えばいいじゃない
217 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 13:30:26.55 ] オープンできるなら不可能じゃない
218 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 13:45:24.84 ] >>213 しません
219 名前:213 [2012/05/05(土) 13:51:19.67 ] >>218 してください。 そうじゃないと話が始まらない。
220 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 13:54:37.22 ] >>219 つまらない質問はしないでください
221 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 17:04:12.31 ] まあ、テンプレートとして使うからいじられると困るってんなら 文字通りエクセルテンプレート形式なxlt使うのが普通じゃねーの
222 名前:デフォルトの名無しさん [2012/05/05(土) 17:24:53.27 ] VBAでブラウザを操作したり(webページを開いたり、自動ID,PW入力してログインしたり、毎日Webからデータをとったり画像を自動保存したり、etc. etc.) Outlookを操作(テンプレート本文・件名があってその一部にExcelのセルがデータを入力したりetc. etc.)したり、したいです。 そのことに特化した本(中級・上級向けになると思います)ってないですか? どうもVBAは初心者向けの本がほとんどで困っている。 そのほうが売れるのはわかるが。
223 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 17:36:33.35 ] >>215 アドインてのが、それにあたる機能だと思う
224 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 18:42:41.41 ] >>222 本買うまでもなくネットの情報で簡単に実現できそうな内容に思える そもそも中級・上級向けどころか殆どExeclに関係がない MSDNライブラリ見れば解決すると思うよ
225 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 18:51:36.89 ] Excel VBA WEB連携術―2007/2003対応 ってのがあったけど、222の期待に答えられるものかどうかは知らん
226 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 22:17:25.08 ] >>222 それに手を出すレベルの人は(おそらく)すでに上級者。 参照設定できるものなら、参照設定してオブジェクトブラウザで メソッド等にアタリをつけて検索and実験。 MSDNライブラリもチェック。 これで大抵は解決できる。
227 名前:222 [2012/05/05(土) 22:24:29.41 ] >>224 夜寝る前にベッドで本を読みながら勉強したいし 本のほうがページを順番に1方向だけに進めるし気楽なのですじゃ。 ネットの情報は、いちいちどこをクリックしたかとか、 どこをまだ読んでないかとか、この順番だと先に理解してないといけないことがらをまだ読んでなかったとか、 いちいち気にしないといけないし。 >>225 その本はamazonで低評価だし、目次みてもなんかいまいち。 >>226 そうか、自分は上級者だったか(笑)。 言ってることがよくわからないけどとにかくすごいですね。 特にWebのページからボタンを押してクエリをおくって それででてきたデータをExcelに貼り付ける、という操作がかなり頻繁に使うんだけど そういうのはできる? もちろんクエリとなるデータはExcelの複数のセルのデータを送る。
228 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 23:26:37.76 ] >>227 やりたいことを実現するためにVBAを使う人じゃなくて 本を読んでVBAの勉強したい人だったのね それならなおさらMSDNライブラリ読めばいい 紙がいいなら印刷すればいいしね
229 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 01:56:09.87 ] 横レスだけどMSDNライブラリっていうのがあるのか。 勉強に良いサイトとか>>1 にまとめてくれると嬉しいな。
230 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 04:18:22.14 ] >>227 226も言っている通りその辺はIEやOutlookの COMオブジェクトを参照設定で使い回すだけだから VB6の本やサイトでいい。
231 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 09:35:11.23 ] >>229 スレの趣旨が違う
232 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:05:41.23 ] エクセル2010でエクセルを終了させてもタスクマネージャーでみるとエクセルのプロセスが残ってしまいます。 状況は、ループである条件を監視し続けているAマクロを実行中に、別のブックのBマクロ(これはループ処理とかはしていません。) を実行したのち、エクセルを終了させるとプロセスだけが残ってしまいます。 漠然とした説明しかできませんが、何か注意点とかないでしょうか。
233 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:39:08.83 ] 注意点 漠然としない説明じゃなく、具体的な説明が出来るようになること
234 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:40:55.81 ] その問題が再現する最小限のコードを載せるんだ
235 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:36:28.07 ] なぜ漠然とした説明しかできないのか…
236 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:49:52.77 ] >>232 が >>176 とか >>166 のような釣りにしか見えなくなった。 勝手にやってくれ。
237 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:51:22.70 ] 句点を付けるヤツは基本的に釣り
238 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 21:05:19.29 ] 句点が、釣り、だと、されるなら、 肺活量の、小さい、私は、 どうやって、質問したら、いいのでしょう?
239 名前:デフォルトの名無しさん [2012/05/06(日) 21:15:47.02 ] >>238 あ、ほ、は、気、に、す、る、な。
240 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 21:25:26.78 ] >>236 へ?か、っ、て、に、す、ね、て、ろ
241 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:41:23.61 ] 句点が釣りだと言われて読点を連打するのがおもしろいという流れが理解できない
242 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:23:45.67 ] まぁまぁ、そうムキにならずに
243 名前:226 mailto:sage [2012/05/07(月) 01:05:50.77 ] >>227 >特にWebのページからボタンを押してクエリをおくって >それででてきたデータをExcelに貼り付ける >クエリとなるデータはExcelの複数のセルのデータ 基本的にはできるよ。 ただ、IEの処理やスクリプト言語の処理と、VBAの処理を同期 させなきゃいけない問題とか難儀な部分もあるけど。
244 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:06:06.06 ] エクセル2003で ActiveSheet.ChartObjects(1).Activate ActiveChart.SeriesCollection(1).Select って、 ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Select と書き換えるとエラーになるんだけど、SeriesCollection(1)はChartの下じゃない? ヘルプ見ても書いてない。
245 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:19:42.73 ] >>244 ttp://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.chartclass_members.aspx
246 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:32:28.69 ] ありがとう、さっぱり分からんw
247 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:41:54.32 ] >>244 ヘルプに載ってる
248 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 16:23:07.08 ] >>247 ありがとう。 ヘルプに載ってる? SeriesCollectionで見てみたんだけどなぁ。 もう一度よく見てみる。
249 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 17:07:24.25 ] 分かりました。 Chartで良かったです。 ヘルプに書いてある使用例を使って Worksheets("sheet1").ChartObjects(1).Chart. _ SeriesCollection(1).Select と、やってみた時にあらかじめグラフをアクティブにしておかないと エラーになるのが分かっていなかったので、「親はChartじゃないのか?」 と、混乱してしまいました。 スレ汚しごめんなさい。
250 名前:デフォルトの名無しさん [2012/05/09(水) 01:15:33.50 ] VBAで セルをいっぱい選択してて その範囲内で最初に出てくるセルだけに色を塗るにはどうすればいいですか? 例えば、 A B C A D E C D A C の2行5列の範囲を選択しててマクロを実行すると [A][B][C]A[D] [E] C D A C の[]で囲った[A][B][C][D][E]の5つだけが色がかわるの。
251 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 01:26:12.21 ] ユーザーフォームのコンボボックスで躓いています。 Private Sub UserForm_Initialize() MyArray1 = Array("うさぎ", "かめ", "ねこ", "犬", "鳥") ComboBox2.List = MyArray1() End Sub とすると"実行時エラー9"インデックスが有効範囲にありません が出ます。どう修正したらいいでしょうか?
252 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 04:00:26.58 ] >>250 なんかいい方法が思いつかないんで力業で Sub a() With Selection For Each c In .Cells Set f = .Find(c, after:=.Cells(.Count)) If c.Row = f.Row And c.Column = f.Column Then c.Interior.Color = vbGreen Next End With End Sub
253 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 10:15:22.65 ] >>251 ComboBox2.List = MyArray1
254 名前:250 [2012/05/09(水) 10:42:21.22 ] >>252 素晴らしい。 できたじゃないか。
255 名前:250 [2012/05/09(水) 10:55:16.00 ] >>252 Findのafter:=はどういう意味? 省略したら左上から検索するはずなのにしないね。
256 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 13:39:21.68 ] >>255 Findメソッドの仕様で、検索開始セルは「最後にヒット」するから、左上のセルが最初にヒットして欲しい時は 最後(右下)のセルから検索をスタートしなきゃいけない この手のプログラムを書く時、初心者が必ずひっかかるポイントの一つ
257 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 16:45:30.68 ] 便乗ですが、指定された逆から検索するってこと? もし、そうなら理由って何?
258 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 16:53:09.73 ] 検索かけて見つかった順にセルアドレスをスタックするから
259 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 22:53:12.76 ] 普通にエクセル操作で検索するときと同じようにヒットするようにしてあるだけじゃないのか
260 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 00:15:35.95 ] >>257 逆順じゃない 最後まで行くと最初に戻る 検索範囲がABCDEだった場合、AからスタートにするとBCDEAの順にヒットする Bからスタートにした場合はCDEABの順にヒットしていく Eから始めればABCDEの順にヒットするようになる
261 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 00:44:53.91 ] なんてためになるスレだw
262 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 10:28:53.46 ] ツールバーを動的に作成してるのですが、アイコンをFaseIdではなく自作のイメージにしたい場合はどうやるのでしょうか? 2003です。
263 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 11:38:59.60 ] >>262 多分Pictureプロパティのヘルプ読め載ってるはず support.microsoft.com/kb/286460/ja
264 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:19:24.88 ] >>263 できました、ありがとうございます。 Picture = LoadPicture(imagefile)
265 名前:デフォルトの名無しさん [2012/05/11(金) 14:10:41.73 ] うちのExcelVBAでWorkbooks.Addの呪文で新ブックを開くと 行と列が少ないブック(列256、行65535)になるんだけど 最新の行と列がたくさんあるブックを開くにはどうすればいい?
266 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 14:43:00.17 ] >>265 Excelのバージョンをあげる
267 名前:デフォルトの名無しさん [2012/05/11(金) 15:11:24.43 ] >>266 金がかかるのでいやです。 他に方法はありますか?
268 名前:デフォルトの名無しさん [2012/05/11(金) 15:12:16.51 ] ちなみにいまのExcelでもたくさん行と列があるブックは使えるのです。 なぜかVBAで開いたときに少ない形式で開きやがる。
269 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 15:20:48.25 ] >>268 予め開いておけば?
270 名前:デフォルトの名無しさん [2012/05/11(金) 15:23:00.24 ] >>269 いやです。 ある条件のときしか開かないし、 そもそもそれ以上に別の理由で。
271 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 15:47:12.71 ] 空のブックを保存しといて、必要な時にファイルコピーしてから開く
272 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 15:49:49.56 ] 普通に開く分には問題ないんだよな 古いDLL参照してんじゃね 入ってる最新のDLLを内部で参照してそっから開いくという手段を提示してみる
273 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 16:02:31.20 ] これかな kb/244167/ja あとはレジストリ書き換えとか
274 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 16:38:09.57 ] わかんねえよ 日本語でしゃぶれ
275 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 18:59:01.39 ] ぺろぺろ
276 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 19:55:02.26 ] >>265 msdn.microsoft.com/en-us/library/x80526fk (VS.80).aspx 旧フォーマットになる場合は、一時的に既定の保存形式を弄れってことらしいよ。
277 名前:デフォルトの名無しさん [2012/05/12(土) 01:21:51.54 ] オートフィルタ色々やってみたけどだめだったので質問です。 以下のデータで今月誕生日の人がいるかを抽出したいです ※年月日の書式は「日付」です。 Aセル Bセル Aさん 1234年5月6日 Bさん 1234年5月17日 Cさん 1234年7月5日 ↓ Aさん 1234年5月6日 Bさん 1234年5月17日
278 名前:uy mailto:sage [2012/05/12(土) 01:55:53.41 ] 色々って、何やったか位かけ
279 名前:デフォルトの名無しさん [2012/05/12(土) 01:58:39.69 ] >>278 答える気が無いやつは黙れks 消えろ
280 名前:デフォルトの名無しさん [2012/05/12(土) 01:59:19.16 ] >>278 はどうせ知識がなくて答えられねーんだろうなw 悔しかったら答えてみろよクズがw
281 名前:uy mailto:sage [2012/05/12(土) 02:02:17.14 ] >>280 =>>279 =>>277 どうせ色々どころか何もしてないんだろ?
282 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 02:11:18.61 ] >>279-280 を質問者だと思ってる時点で糞コテ
283 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 08:17:47.46 ] >>277 =MONTH(B1)=MONTH(NOW())
284 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 09:46:36.43 ] >>283 VBAでお願いします
285 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 11:03:50.76 ] 右側のセルにExcel関数で年月だけ引っ張り出せばいいだろ。
286 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 11:29:13.82 ] >>285 誕生日なので年は不要なんです
287 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 14:01:39.67 ] じゃあ、月だけ引っ張り出せば
288 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 16:24:18.99 ] オートフィルタだけでやりたいんです
289 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 16:46:42.33 ] オートフィルタだけでやりたいならスレチ
290 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 17:55:00.84 ] >>288 とりあえず「マクロの記録」(Alt, T, M, R)
291 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 18:00:43.15 ] 作業列もVBAも使わずにオートフィルタだけって無理じゃね?
292 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 18:56:45.14 ] VBAでやりたいのにオートフィルタ以外使いたくない意味がわからない
293 名前:デフォルトの名無しさん [2012/05/12(土) 19:18:33.55 ] www.cygnus-x1.net/links/lcars/epsd-TOS1.php ExcelのVBAという便利なものを聞いて、ひょっとしたらと思い質問です。 上のWebサイトで、 「Synopsisの段落(Wordの段落じゃなく一般の段落の意味)」と「タイトル(赤文字に水色背景の行)」だけを Word等の文書にコピペしてはりつけたいんだけど それはExcelのVBAの機能を使ってできたりしませんか? 写真やらヘッダ・フッタやSynopsisの上のこまごましたデータは全部いらないです。
294 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 19:21:16.84 ] >>293 できなくはないけどExcelでやるべき作業じゃない
295 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 19:44:50.55 ] >>294 Excelでやるべき作業じゃないかも知れないが、それはお前が判断することじゃない >>293 出来る ワードのVBAでエクセルを開いてコピーも出来る エクセルのほうで必要な部分を選択→コピー ワードで貼り付け ワードへの貼り付けを自動化するにはVBAで連携する必要がある
296 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 20:02:27.66 ] >>288 シリアル値で判定できなかったっけ?
297 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 20:38:02.75 ] >>296 シリアル値は1900年を基準としてるので 1234年みたいな過去の日付は扱えないよ
298 名前:293 [2012/05/12(土) 20:56:09.19 ] >>295 様 ありがとうございます できるのですね! どうやるか教えていただけないでしょうか?
299 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 20:59:56.49 ] Excelで日々数値を入力していくとどんどん下へ長くなり たまってくると最新情報を入力するために毎回延々とスクロールさせなければいけなくなるのですが 最新を上に入力して下へずれるとか逆にすることは出来ないのでしょうか?!
300 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 21:15:55.18 ] >>299 1行目に行を挿入→挿入した行に入力
301 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 21:23:32.31 ] >>298 >>295 のとおり 1.ワード連携のためインスタンスを実装 2.エクセルで、コピーに必要なところを選択 3.ワードに貼り付け 4.インスタンスの破棄 VBA ワード でググれ >>299 一番上を空白にしておいて、入力が終了したら全部一段ずらして下にコピーする 入力時に一番下を表示するのが負担かからなくていいんじゃね
302 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 21:42:06.56 ] >>299 VBAでやるまでもなく[Ctrl]+[End]を押せばいいと思うよ
303 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 22:11:16.37 ] >>300 >>301 サンクス! しかしながら、、表が5つ横並びにならんでいて それぞれがランダムに増えていく感じでして、行で空白を挿入すると増えない表が 空白になってしまうのですが、やはりそれぞれの表をタブで分けるしかないか。、、それぞれ見比べたいのでスクロールは我慢か、、w
304 名前:デフォルトの名無しさん mailto:sage [2012/05/12(土) 22:16:06.25 ] >>303 Ctrl+↓で自動的に最後に飛ぶ 次の列でデータが少なくて現在位置より上に戻りたい時は、カーソルをその列に移動してからCtrl+↑ もっと下へ行きたい時はCtrl+↓
305 名前:299 mailto:sage [2012/05/12(土) 22:20:44.05 ] >>304 ありがとうございまますm(_ _)m
306 名前:293 [2012/05/12(土) 23:05:54.92 ] >>301 ぅ〜ん さっぱり分かりません(><)
307 名前:デフォルトの名無しさん [2012/05/13(日) 00:56:07.83 ] Excelのセルで入力したあと、セルの焦点をそのいま入力したセルのままにすることはできますか? Enterを押すと下のセルにうつりますし、Tabを押すと右のセメにうつるので困ります。 かといってそのままにしておくと登録しておいたショートカットでそのセルに対してマクロが実行できません
308 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 00:59:01.45 ] やり方が間違ってる
309 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 00:59:10.92 ] >>307 どんなマクロかしらんけど前のセルに戻す動作もマクロに入れればいいんじゃないの もしくは オプションで「入力後にセルを移動する」のチェックを外す
310 名前:デフォルトの名無しさん [2012/05/13(日) 01:01:20.19 ] >>309 上のセルをマクロ対象にしろと申すか? 入力してマクロを実行するパターンと すでに入力されてるセルを選択してマクロを実行するパターンがあり 後者の場合はわざわざ対象セルの下のセルを選択しないといけなくなり そりゃマヌケだろが? あるいは オプションを使うとか、本気で申してるのか? その方法これまで30年もExcelをさわってきた無意識のセル入力感覚を破壊することになるぞ。
311 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 01:03:08.79 ] だから言ってるだろ やり方が間違ってる 間違ってるやり方を質問して出来るようになっても タダの有害だ
312 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 01:13:37.02 ] だから言ってるだろ やり方が間違ってる 間違ってるやり方を質問して出来るようになっても タダの有害だ
313 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 01:14:36.88 ] 大事なことなので二回(ry
314 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 09:51:37.74 ] VBAの勉強を始めようと思うのですが、 効率の良い勉強の仕方を教えて下さい!
315 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 09:55:12.38 ] まず、にちゃんなんかみるのをやめる。
316 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 10:52:29.95 ] >>314 VBAは目的じゃなくて手段 まず何をやりたいのかを書け
317 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 12:05:23.38 ] VBAが目的でもいいじゃない
318 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 12:47:35.30 ] >>314 リファレンスマニュアルを丸暗記すれば勉強終わり
319 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 19:49:06.61 ] >>317 じゃあまずアセンブラか、それこそプリント基板からだな!
320 名前:デフォルトの名無しさん mailto:sage [2012/05/13(日) 21:52:34.49 ] 核融合で水素からシリコン原子を作る
321 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 01:57:19.36 ] Range("A1").End(xlDown) でデータの入力されている最終行を取得して その1行下にデータを入力しようとすると 何も入力されてない時にエラーになります。 なにかいい知恵はありませんか?
322 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 02:23:20.40 ] 開始セルから下へ行くんじゃなく バージョンの最終セルから上に行くようにすればいい
323 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 16:55:28.00 ] 2003でも2010で実行できるマクロが2007でダメってことある?
324 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 17:02:17.13 ] 動作保証しないか、するならテストしろ
325 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 17:04:50.73 ] >>324 誰もそんなこと聞いてない。
326 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 17:20:05.82 ] >>324 分からないならしゃしゃり出て来るなカス!!
327 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 17:28:15.89 ] >>324 動作条件とか記載するにきまってるだろ。 そのうえで聞いてるんだろ。 馬鹿は引っ込んでろ。
328 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 17:28:31.83 ] あるかどうかを聞いてるんだ 答えは二通りしかないだろ 日本語も読めないカスは書き込むな!
329 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 17:33:41.49 ] 面白がって煽るのやめてw 2003でマクロ書いて、テストは2003と2010でやった。 それなら2007でも問題ないだろうと思って。 動作保証は、あくまでも2003と2010。 客先にもそれしかないから。 たまたま動かしたPCに2007が入っていて、動かなかったって連絡来たから聞いた。
330 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 17:36:07.46 ] あるんじゃん リボンとかそこらへんか?
331 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 17:54:01.42 ] 2007で動かなかったという現実があるのに、なんで「ありますか?」とか聞くのだ、この馬鹿は
332 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 20:48:49.86 ] ネタスレにすんな。 せっかく有益なスレなのに
333 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 21:52:02.46 ] 悪い、動かんと言われたけど、実際の環境というか操作方法とか確認できないのよ。 だから、聞いたのよ。
334 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 21:52:37.26 ] >>331 馬鹿は出てこないでくれ
335 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 22:19:00.30 ] >>333 んで、そんなこと聞いてどうするの? 実際の環境も操作方法も確認できなくて、2ちゃんでできるとかできないとか回答もらってどうするの? いまいち質問の意図が読みとれない
336 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 00:30:32.23 ] >>333 そんなもん99%は操作ミスかセキュリティ設定が悪くてマクロが動いてないだけ まずは客先へ行ってちゃんと知識のあるやつが状況を把握してこい
337 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 00:33:00.36 ] >>336 確認できないって書いてるの読めない?
338 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 00:38:19.48 ] 確認できないってのは、確認するのが「不可能」じゃなくて、「めんどくさい」だろ デバッグってのは結局のとろこ>>336 に尽きるんだが、それをしないなら有意な質問にならないし、まともな回答も出来ないんだよ
339 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 01:24:01.74 ] 小学生知能にマジレスしてやんなよw
340 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 01:46:55.88 ] 確認できないってことは相手は言語を超越した何かか?w
341 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 02:26:50.55 ] >>340 それだと受注もできんだろ 太陽系の外へ向かったロケットか何かなんだよ、きっと
342 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 03:20:17.30 ] 2007でなくなって2010で復活した変更点があればそれ絡みだろうけど それっぽいものは見つけられんなぁ 環境に依存する何かを使ってるんじゃないかと
343 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 14:54:57.82 ] >動作保証は、あくまでも2003と2010。 >客先にもそれしかないから。 >たまたま動かしたPCに2007が入っていて 部外者が勝手に動かしたのか?恐ろしい職場だな
344 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 19:54:52.28 ] ユーザーフォームで使用者に必要事項を入力させているのですが ComboBoxで何も選択されていないことが想定され その場合のエラー処理で困っています。 ユーザーフォームは表示したままでCommandButton をクリックする前の状態に出来ないでしょうか?
345 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 20:07:07.92 ] if combobox1.value="" then exit sub
346 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 21:10:08.88 ] >>345 あら、そんなに単純だったんですね ありがとうございます。
347 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 21:51:02.47 ] for〜nextで繰り返し処理している中で inputboxで数値を入力させているのですが、 inputboxのキャンセルをクリックしたときに inputbox以外の処理はカウント完了するまで続けたいのですが できませんか? また出来るなら方法をご教示下さい。
348 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:09:07.15 ] Sub test() For i = 1 To 5 a = InputBox("hoge") If a = "" Then MsgBox "キャンセルされたよ" Else MsgBox a End If b = b + 1 Next MsgBox b & "回ループしたよ" End Sub
349 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:13:05.89 ] >>333 その位で確認してから質問しろ
350 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:38:17.64 ] >>348 それだと毎回inputboxが出てくるので 一度キャンセルされるとそれ以降はinputboxを とばして残りの処理をしたいのです。
351 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:46:01.10 ] exit for すりゃいいじゃん
352 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 22:49:35.84 ] >>351 それだと残りのFor〜Next内の処理ができないです。
353 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 23:04:09.77 ] Sub test() Dim flag As Boolean For i = 1 To 5 If Not flag Then a = InputBox("hoge") If a = "" Then flag = True b = b + 1 Next MsgBox b & "回ループしたよ" End Sub
354 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 23:17:15.40 ] >>353 ありがとうございます。 完璧です!
355 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 03:21:47.17 ] 例えばあるシートの、1行目の、1列から10列目までに色々な数値が書かれていて 最小値だったり、最大値だったりを持つ数値の列数を算出していきたいんですが とりあえず以下のようなやり方で出来るんですが 最小値 = WorksheetFunction.Min(Range(Cells(1, 1), Cells(1, 10))) 最小値をもつ列 = Range(Cells(1, 1), Cells(1, 10)).Find(最小値).Column 何か1行ぐらいのスッキリした文で求める方法ないでしょうか? というのは、行の部分を変数化して、何千行、何万行と作業やっていくので 負担の無い早そうなスピードがのりそうな文があればそのほうがいいんですが どなたがご存知でしょうか?
356 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 08:45:44.06 ] ねえよ 見た目だけそうなればいいなら、サブモジュール作る
357 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 09:02:26.45 ] >>356 ありがとうございます>>355 でもあんまり速度は悪くなさそうですね。 これでやってみます。もしそういうのがあれば、知りたいなと思いました。
358 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 09:17:27.03 ] だめだオブジェクト指向が苦手だ Cで慣れすぎたせいで効率悪い
359 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 09:57:16.22 ] >>358 単に大規模システムの構築に慣れてないか、 小規模なものを無理矢理小分けにして無意味にごっちゃにしてるかのどっちかじゃないの
360 名前:デフォルトの名無しさん [2012/05/16(水) 10:31:06.74 ] P10に=((1/(COS(RADIANS(N10))))-1)*AI10*AJ10*X10/V10/1000 O10に=AK10/(SIN(RADIANS(N10)))という式が入力されていて P10=O10のときのN10の値を求めたいんですがどういうコードを書けば いいのかわかりません。
361 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 10:38:16.38 ] >>360 Function GetN10() If Range("P10") = Range("O10") Then GetN10 = Range("N10") Else GetN10 = 0 End If End Function
362 名前:デフォルトの名無しさん [2012/05/16(水) 11:43:29.77 ] >>361 ありがとうございます。 でもそれを使ってどうしていいのかわかりませんでした。
363 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 12:06:29.58 ] へえ、あんたなかなかやるじゃん
364 名前:デフォルトの名無しさん [2012/05/16(水) 17:10:25.84 ] 失礼します。 今プログラムを作っていて、 ある列に数字をうっていてある条件を出していくようなプログラムを作っているのですが、(ここはあまり関係ない) ActiveXコントロールを押すと、行のBの列の数字を。 そして次にまた押すと、行のCの列の数字を、、、というように やっていきたいのですが、これをするためには、 例えば、iだとかjだとを一回格納する必要があります。 例えば、 Private Sub CommandButton1_Click() dim i as integer i=0 i=i+1 ・ ・ End Sub プログラムが終了しても、このiを保存しておきたいのです。 どのようなやり方がありますか?
365 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 17:33:52.80 ] セルに書く 外部ファイルに書く ソースコードのコメントに書く コントロールに書く
366 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 17:36:40.83 ] まぁセルのどっかに保存が一番簡単だな。 見た目云々をいうなら白文字で代入とか。 ところで、例えがiを必ず初期化しているせいで、逆に分かりづらくなっている気がするんだが
367 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 17:40:35.92 ] ブック名やシート名っていう手もあるぞい
368 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 20:39:35.86 ] >>360 ゴールシークは使えないの?
369 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 20:44:24.26 ] というか、ホントにプログラムが終了しても保存してないとダメなのか? Subを抜けても保存されてるんだけで良いんじゃないのか? それならSubの外で変数定義するか、Staticな変数使えばいいだけだが
370 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 20:55:08.71 ] 釣られすぎw
371 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 22:24:58.52 ] 中国のGDP、実は日本を超えてなかった engawa.2ch.net/test/read.cgi/poverty/1337172543/ 中国経済、予想を超える急減速か 世界第2位の経済大国の舵(かじ)取り役に来年就任する人物は、 中国の国内総生産(GDP)統計に対する疑念をうっかり漏らした。 中国の公式GDP統計は「人為的」で当てにならないと語ったのは李克強氏だ。 李氏の評価が正しければ、中国経済はGDP統計がこれまで示唆してきたよりもかなり厳しい苦境に陥っている。 電力や鉄道貨物、銀行融資をはじめ、ここ数日で発表された注目度の低い統計は、 いずれも経済活動の急激な落ち込みを示しており、政策立案者たちに不意打ちを食らわせたようだ。 最近の悲惨な統計を受け、中央銀行は12日、融資拡大を促すために市中銀行の預金準備率を引き下げた。 しかし、金融危機後の大規模な低利融資と政府支援による投資の結果、中国政府には今回、 限られた武器しか残っていない。一方で、インフレ再燃と国営銀行の不良債権への懸念が高まっている。 www.nikkei.com/biz/world/article/g=96958A9C9381959FE3E7E2E1848DE3E7E2E7E0E2E3E0E2E2E2E2E2E2;dg=1;df=2;p=9694E3E7E2E0E0E2E3E2E6E1E0E2
372 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 23:05:47.74 ] 超えててくれたほうがいろいろありがたいんだが
373 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 16:01:40.27 ] うん、愚図愚図してないでとっとと超えろと言いたい
374 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 16:11:52.78 ] 馬鹿には無理
375 名前:デフォルトの名無しさん [2012/05/19(土) 18:47:15.19 ] VBAを使って作業しまくったらPCが異常に重くなるんです。 最近会社で効率のため自分用VBAをいっぱいつくるようになってからの症状なので VBAが原因なのは明らかです。 なにかメモリを解放しないといけないのですかな? どうか対策のことでアドバイスをお願いできますでしょうか?
376 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 18:51:19.39 ] >>375 まず、タスクマネージャでどのプロセスが CPU やメモリ食ってるかを見てみなよ。
377 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 18:55:17.89 ] 動的配列を使ったら最後に必ず erase するとか
378 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 18:58:16.27 ] >>375 どんなコード書いてるのかわからないのでアドバイスしようがないと思うけど・・・? PCが重いってのは何が重いの?ディスクI/O?CPU?メモリアクセス? VBAが原因なのは明らかっていう根拠は何?
379 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 20:27:42.40 ] EXCEL終わらせても重いままだったらVBAは無関係だと思っていいが
380 名前:375 [2012/05/19(土) 20:29:04.21 ] Excel終わらせたら、もちろん軽いパパです。
381 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 20:38:35.31 ] >>380 じゃあVBAのロジックがクソなんだろw
382 名前:375 [2012/05/19(土) 20:51:45.02 ] そのとおり糞だからこそその改善策を聞いているのですが・・・
383 名前:デフォルトの名無しさん [2012/05/19(土) 20:55:33.26 ] VBAでオートフィルタをさせているんですが そのフィルタをする項目として、Selectionで囲ったセルを指定してます。 criteria1:=Array(Selection) みたいな感じです。 しかしこのselection、1行の横長だとうまくいくんですが 1列の縦長だとエラーが出て「エラいこっちゃ」になります。 縦でselectionしたときも、複数行・列にわたってselecionしたときにその内部のセル全部でフィルターしたいときには どういうコードを書けばいいですか?
384 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 21:11:24.37 ] >>382 だから早くその糞コードを見せろよ
385 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 21:12:19.84 ] >>383 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
386 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 21:26:08.03 ] >>382 重い処理を何回もループさせるとCPU使用率がヤバくなるよね。それじゃね?。sleep入れてみれば?。
387 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 03:39:29.77 ] >>375 適当なタイミングでDoEventsかませ
388 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 11:03:41.98 ] データを他のブックに貼り付けて終わらせるのがあるんですけど、 下のメッセージが出るんでこれを出さないようにする方法とかないですか? クリップボードに大きな情報があります。この情報をほかのプログラムに貼り付けられるようにしますか?
389 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 11:10:30.81 ] >>388 Application.CutCopyModeにFalseをセットする。
390 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 11:12:45.84 ] Application.DisplayAlerts = False
391 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 15:00:31.73 ] sn = Array("りんご", "ゆず", "かぼす") For ii = 1 To 3 Set ws = Worksheets(sn(ii)) Set tmp = ws.Cells(Rows.Count, 1).End(xlUp).Rows ws.Range(Cells(1, 1), Cells(tmp, 10)).Select Next ii とするとRangeのところで実行時エラー1004が出ます。 どうしたらいいでしょうか
392 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 15:14:26.21 ] >>391 tmpには正しい(意図している)値が入ってるの?
393 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 15:27:12.60 ] >>392 すこし修正して入っているのを確認しましたが、 今度はRangeクラスのSelectメソッドが失敗しました。 のエラーが出ました。
394 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 15:56:30.31 ] >ws.Range(Cells(1, 1), Cells(tmp, 10)).Select CellsがActiveSheet見てるんじゃないかと予想
395 名前:再質問です [2012/05/20(日) 16:00:22.22 ] VBAでオートフィルタをさせているんですが そのフィルタをする項目として、Selectionで囲ったセルを指定してます。 criteria1:=Array(Selection) みたいな感じです。 しかしこのselection、1行の横長だとうまくいくんですが 1列の縦長だとエラーが出て「エラいこっちゃ」になります。 縦でselectionしたときも、複数行・列にわたってselecionしたときにその内部のセル全部でフィルターしたいときには どういうコードを書けばいいですか?
396 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 16:04:09.76 ] >>395 出たエラーとコードを晒せ
397 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 16:05:34.96 ] >>389 thxですm(__)m
398 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 16:06:49.95 ] >>394 正解でした。 しょうもないミスですんません・・
399 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 16:22:50.57 ] >>277 ActiveSheet.Range("B1").AutoFilter Field:=1, Operator:=xlFilterValues, Criteria2:=Array(1, "31/05/2012")
400 名前:395 [2012/05/20(日) 16:25:19.61 ] >>396 恥ずかしいゎ
401 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 17:28:16.42 ] >>395 わからなければとりあえず「マクロの記録」(Alt, T, M, R)
402 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 18:36:04.74 ] >>395 こんな感じかな Sub test() Dim V() Dim c As Range Dim n As Long ReDim V(1 To Selection.Count) For Each c In Selection n = n + 1 V(n) = c.Value Next Range("A1").AutoFilter Field:=1, Criteria1:=Array(V), Operator:=xlFilterValues End Sub
403 名前:395 [2012/05/20(日) 18:38:22.69 ] >>402 すばらしい! それこそわたしが探し求めてたものです。 ありがとうございます。 しかしマクロ記録を勧める人は何だったんだろ。ピントはずれ。
404 名前:395 [2012/05/20(日) 18:40:35.55 ] この配列を使い、それをvarient型で使う、というのはどういうしくみになってるんだろ。 使い方をまとめてくれてるサイトみたいなのない? あとFilter機能で使ったように、Arrayの使い方も、 今後の活用のために、まとめサイトみたいなのない?
405 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 20:22:49.49 ] >>402 Criteria1:=V でよっかた
406 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 11:01:11.02 ] >>402 コードを見て質問の意味が理解できたw あんたスゲーよ
407 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 11:44:27.03 ] さすがにそれはエスパーレベルが低すぎだろ
408 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 08:38:38.53 ] シートに A:データの一覧表(500行ほど) B:ブランクフォーム と2つのシートがあるマクロがあります。マクロを実行すると −Aシートの1行をBのブランクフォームに転記して、 −ブランクフォームを新しいシートにコピー −そのシートを新しいファイルにして保存。 を繰り返しています。 ただ、100〜200くらいでメモリーか何かのエラーでマクロが止まります。 再開すればまた走るのですが、最初から最後まで連続で生かせる方法ありません?
409 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 08:54:21.37 ] ファイル保存終わったら閉じろ 更に一回ごとにクリップボード空にしろ かなあ 新規ブックのインスタンスって閉じた時点で解放されるのか?
410 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 09:36:18.16 ] >>408 コードにバグがあるんだろうね どっかにアップしてみたら誰かが見てくれるよ
411 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 09:46:48.28 ] 調べてみたら、エクセルで増やしたブックのメモリは減らないのが仕様らしい クローズしたら一回doevent入れてみそ VBAからエクセルあるいは別のオートメーションを参照して、毎回解放するとかくらいかなあ
412 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 11:16:58.15 ] まず 本体ブック 作業ブック にわける 本体ブックから作業ブックを呼び出し、作業ブックにある実際の作業モジュールを実行して、作業ブックを閉じる クリエイトオブジェクトでエクセルアプリケーションをセット セットしたオブジェクトから作業ブックを開く 作業ブックのモジュールを実行 作業ブックを閉じる セットしたエクセルアプリケーションをクイット エクセルアプリケーションの解放 これでフロセス上エクセルが二重起動して作業側が主メモリを食った後解放されるはず 本体メモリも若干ふえるけど、致命的にはならないんじゃないか
413 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 11:33:17.81 ] 日付 あるセル 5月12日 15回目 5月15日 16回目 5月30日 17回目 上記の日付と「NN回目」は予め入力済みとする。 このとき、日付蘭が今日を過ぎている場合、 あるセルの書式を「水色背景、青文字」にするという書式設定をしている。 後日、「NN回目」の後にセンテンスを追加した場合(途中に半角文字があったりすると) セルの書式(文字色)が途中から指定の青ではなく黒のままになってしまう。(背景色はOK) 単純にセルの切り取り&ペーストをしても変わらないので、 @「セルのセンテンスをコピーし、テキストデータとしてはり付けると既定の書式に修正される。」 この手順が手間なので、ボタン一つで@と同じ動作をさせたいのですが、マクロで出来ますか?
414 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 11:47:51.21 ] 5月12日を過ぎたら、15回目と書かれたセルの書式は「水色背景、青文字」になるけど、 「15回目」の後に「ぬるぽ」って追加すると「水色背景、黒文字」になってしまうということ?
415 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 13:20:18.11 ] できる 対象セルに「NN回目」って文字列が記入されてるならだが 1.正規表現 vbsのregexpをオブジェクト参照セット パターン文字列に数字一回以上&回目 2. 頭から一文字づつ判定 連続した数字でかつ最後に回目だったら抜き出し
416 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 14:06:26.72 ] 必ずそうなるというわけではないんだけど 15回目 (水色背景、青文字) ↓文字「ぬるぽ?ががが」追加 15回目 ぬるぽ?ががが (水色背景) 「ぽ」まで青文字 「?」以降が黒文字 ←?が半角 どうやら半角文字があると、その文字以降に文字色の書式が反映されないみたい 半角以外でも同様の現象が起きているけど、条件ははっきりしていない
417 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 15:08:17.31 ] ボタンを押していいなら、ボタンのイベントで日付列の経過してるセルを確認して、 それに対応している「あるセル」に書式設定すればいいんでないの。
418 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 10:18:01.96 ] 「マクロを書け」とか「ソースを見せろ」とか人によって言われることが違うんですが マクロ、VBA、コード、プログラム、ソースの違いというか言葉の正しい使い分けを教えて下さい
419 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 10:48:04.64 ] >>418 じっくり読んでください ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89 ja.wikipedia.org/wiki/Visual_Basic_for_Applications ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0_ (%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF) ja.wikipedia.org/wiki/%E3%83%9E%E3%82%AF%E3%83%AD_ (%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E7%94%A8%E8%AA%9E) ja.wikipedia.org/wiki/%E3%83%9E%E3%82%AF%E3%83%AD%E8%A8%80%E8%AA%9E
420 名前:413 mailto:sage [2012/05/23(水) 12:55:49.58 ] 左隣のセルを使うという姑息な手法で作ってみたw あるセルを選択した状態で、マクロ「カットペースト」を実行 Sub カットペースト() '選択セルの値をコピー Selection.Copy '左のセルに値を貼り付け ActiveCell.Offset(0, -1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False '左セルの値をコピー Selection.Copy '選択セルに値を貼り付け ActiveCell.Offset(0, 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False '左セルの値を空に ActiveCell.Offset(0, -1).Select Application.CutCopyMode = False Selection.ClearContents ActiveCell.Offset(0, 1).Select End Sub もっとシンプルに出来そうなんだけど・・・
421 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 13:00:52.08 ] selectする奴はトド素人
422 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 13:02:59.11 ] selectしてると誤動作するよね
423 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 13:39:28.64 ] じゃお洒落な解答を教えてけろっぴ
424 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:22:46.42 ] EXCEL VBAをJavaScriptみたいにJITコンパイルして欲しいなあ 実行速度が遅すぎる
425 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:24:35.79 ] >>424 無理です
426 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 15:28:18.29 ] >>425 何でや JavaScriptに出来てどうしてVBAで出来ん
427 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 18:59:31.41 ] じゃあアセンブラでもやっとけ
428 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 19:02:17.80 ] VBAだけ頑張っても、どうせExcelが足引っ張るだろうし。
429 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 19:06:47.07 ] >>424 CSV形式にしてRUBYで処理すれば良いよ。
430 名前:408 mailto:sage [2012/05/23(水) 21:04:26.55 ] >>411 doevenで解決。深謝。
431 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 23:30:42.08 ] JIT はどうでもいいから、Excel C# for Application にしてくれ。
432 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 23:52:46.56 ] やめてdotNetやめてまじやめて 書き直しとか死ねる いざってために出来るようにいろいろ勉強してるけどまじ簡便
433 名前:デフォルトの名無しさん mailto:sage [2012/05/24(木) 11:00:35.34 ] 使ったことないけど、VSTOとかExcel-DNAとか使うといいんじゃ
434 名前:デフォルトの名無しさん [2012/05/25(金) 01:20:59.06 ] ExcelVBAとSharePOINTのデータ連携なんですが dt_sheet.ListObjects.Add(SourceType:=xlSrcExternal, _ Source:=Array("SharePoint サイトの URL", ListName, ViewGUID), _ LinkSource:=True, _ XlListObjectHasHeaders:=xlYes, _ Destination:=Range("A3")).Name = tbllist SharePointのリストデータを取得しエクセル上にデータ表示(これはできました) ここから質問なんですが、以下手順 1.エクセル上でデータを修正 2.エクセル上に作成した〔更新〕ボタンを押下 3.SharePointのリストデータが更新される これってVBAで可能なんですかね? 可能であればどういうコード書けばいいんですかね? 【ver】 Excel2007 SharePoint2007
435 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 08:27:32.47 ] 知らん 外部連携ならそっちの仕様による
436 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 17:04:52.52 ] バルーンをvbaで操作したいのだが、このスレでいいのかな。 ボタンなしのモードレスバルーンでコールバックさせたいんだが、どうすればいいんだろか。 要は『処理中』みたいなバルーンを表示させたままコールバックプロシージャを実行させて、 終わったらクローズして、新しいバルーンで『終了』→OK、みたいに。 ユーザーフォームじゃなくて、『ろっきー君』にしゃべってもらいたいのだが・・・、 もちろんアニメは103な。
437 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 17:59:00.53 ] >>436 こういうことか? msdn.microsoft.com/ja-jp/library/cc376672 コールバックされるのはバルーンのボタンを押したときみたいだな 単に処理中を表示したいなら、 普通にモーダレスのバルーンを表示するだけの話じゃないのか? つかオフィスアシスタントっていまのバージョンでも使えるんだろうか
438 名前:デフォルトの名無しさん [2012/05/26(土) 18:48:28.46 ] VBAの知識がない人にVBAの修正をお願いするのは無理なことでしょうか?
439 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 18:49:45.75 ] >>438 お願いするだけならあなたの勇気次第でしょうね
440 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 18:52:28.11 ] そもそもなんでそんなことしたいのよ。
441 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:04:21.99 ] >>437 thx excel2003だ。 そうなんだが、残念ながらモードレスバルーンはコールバック必須だろ? ボタンつき(あるいは『ret=.show』で戻るタイプ)のバルーンでコールバックプロシージャがないと えらーになる。ボタンなしだとエラーにはならないが、当然、何もおこらんし、バルーンは消す手段がないときたもんだ。 ボタンつけてもいいんだが、いちいち『OK』するのがめんどくさい。 バルーン表示すると、表示したまま即勝手にコールバックが動いてそこで bln.close With NewBalloon ----- .show End With End Sub みたいにしたいんだが...
442 名前:デフォルトの名無しさん [2012/05/26(土) 19:20:36.51 ] 438>ですが、一人で現在2つの仕事を抱えていて、その中にVBAの修正も 含まれています。VBAの知識がない人にも頼まないといけない状況で 本人も「やります。」と言われたので教えました。 すると、本人が「無理です。出来ません。」と言われました。 でも、上司が本人に実際やってみようと言っています。
443 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:20:38.22 ] >>437 >普通にモーダレスのバルーンを表示するだけの話じゃないのか? すまん、君の言うとおりだった。そのとおりだ。ボタンなしバルーンはコールバック必須じゃないんだな。 解決だ。ありがd
444 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:25:19.27 ] >>442 むしろ仕事が遅れると思うよ。長期的にみてどうかは、別かもしれんが。
445 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:27:34.25 ] >>442 「出来ません」でやらなくていいぐらいの仕事かよw ユルい会社でうらやましいな
446 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:34:17.90 ] VBA の仕事なんて、そんなもんだろ。
447 名前:>>442 [2012/05/26(土) 19:35:56.59 ] 本人がもう、説明途中で飽きてしまって…。「細かすぎて私には向いていません。 無理です。出来ません。担当している人(私)にしか出来ません。」ってことに なってしまいました。
448 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:36:59.43 ] >>447 2ちゃん見る暇があるなら自分でやれよ
449 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:39:46.45 ] >448 そんな暇はありません。 一人で現在2つの仕事を抱えていて忙しいんです・・・ 日本語読めないんですか?
450 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:45:11.24 ] 暇はないと言いつつ、レスをちゃんと返してる ww
451 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 19:50:32.75 ] 保守不可能なきったねーコード書いてるんだろ。
452 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 20:06:31.85 ] >>449 2ちゃん見る暇があるなら自分でやれよ
453 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 20:23:52.43 ] >>447 それ出来る出来ない以前の資質の問題だわww 興味がある仕事には一直線でバリバリだけどアラが目立ったり 興味がない仕事にはまったく見向きもしない そういうタイプだろ? 上司はそいつにVBAをさせるのが目的じゃなくて、本人が気に入らない仕事でも一回やり遂げさせみようとしてるだけじゃね というかVBAを何も知らないヤツにいきなり修正作業とか間違ってる
454 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 20:42:41.58 ] <<450 応援ありがとうございます。 頑張ります。 <<451 残念ながら私のVBAのコードは上司からも非常に綺麗なコードだと高い評価を受けています。 そういうあなたこそ綺麗なコードが書けるんですか? そういう批判はまずはあなたの綺麗だというコードを提示してからにしてもらえますか??? <<452 本当に日本語が読めないんですね・・・。 さすがの私もにかわいそうになってきました・・・。
455 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 20:54:09.62 ] (あ、これはしょうがないな)
456 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 20:54:52.94 ] 2ちゃん見る暇があるなら自分でやれよ
457 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:01:37.58 ] >>438 無理
458 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:02:56.82 ] 仕事外、それも家で(たぶん)やらせるとか、俺なら絶対許可しねえ 残業ならともかく、情報落としたりへんなコードひっかけたりしたらって考えると特に
459 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:05:45.49 ] >>456 ・・・。。。 病院紹介しましょうか? >>457 無理だという根拠を教えてくいただけないでしょうか?
460 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:06:21.96 ] >>454 2ちゃんやる暇があるなら仕事しろ 小汚いコードを綺麗にしろ
461 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:06:39.93 ] て言うか、にちゃんに相談… つまりは、そう言うことだろ。 スルー推奨。
462 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:11:47.76 ] >>461 いや、みんな、そこはわかってて、ただの暇つぶしだろ。
463 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:13:27.19 ] 釣り師と針つついて遊んでる魚のじゃれ合いだよな
464 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:14:30.92 ] >>460 仕事しろって・・・ 今日は土曜日なので休みですが??? 先ほども書きましたけどコードは綺麗なんです。 日本語読めないんですか? >>461 困っているから相談しているんです。 他に相談するところが見つからなかったんです・・・
465 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:15:50.54 ] >>464 仕事遅いんだから仕事しろ
466 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:16:07.78 ] >>463 機嫌を損ねてしまったのならば申し訳ありません。 本当に困っているんです。 このままでは週明けに2つの仕事を抱えていて忙しくてまずいです。
467 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:19:27.93 ] >>464 >>466 今日は休みなんなら 考える仕事は月曜日にすればいい 休みなのに仕事するんなら2chなんかやらずさっさとコード書け 以上だ。スレチだからマ板いけ。もうくるな
468 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:19:45.43 ] >>466 VBAでやればいいんじゃね?
469 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:23:46.11 ] >>467 初めて有益なレス、まことにありがとうございます。 使えないレスばかりで間違ってヤフー知恵遅れに書き込んでしまったのか焦ってしまいました。 今日と明日はVBAのことは忘れてとりあえずゆっくり休みたいと思います。 月曜日にまたお邪魔するかもしれませんが、そのときはよろしくお願いしますm(_ _)m >>468 はい。ソースの修正をVBAでやるというのは名案ですね。 月曜日に上司に相談した上で検討したいと思います。
470 名前:デフォルトの名無しさん mailto:sage [2012/05/26(土) 21:25:19.30 ] 批判コメにしかレス付けてない 何をどうしたいのかも不明 そもそもVBAスレwww 回答をコード化すりゃいいのかね
471 名前:デフォルトの名無しさん [2012/05/27(日) 00:22:02.72 ] VBAがなければ今頃Haskellが搭載されてたろうに。
472 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 02:26:57.34 ] 件の上司はそのやり遂げられない人と 人にモノ教えるのが下手な>>469 の二人を なんとかしてあげたいと思ってるのかもしれん
473 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 09:42:06.57 ] >>471 さすがにそれはないw とはいえF#内蔵されたらめちゃくちゃ幸せだな
474 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 16:42:42.68 ] 大学でExcel 2010が1500円で販売されていたのですが、これは何をするものなのでしょうか。 VBAでプログラミング可能と書いてありましたが、自分は今MMOをやっているのですが、このソフトでbotなど作成することは可能なのでしょうか。 本当に無知な質問で申し訳ありません。
475 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:00:26.76 ] >>474 「VBA 初心者」でいったんググってからもう一度ここに来ようか、ね。
476 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:38:42.06 ] ほんっといろんな人間がいるな… w
477 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:42:49.32 ] M マジ M ムカつく O おまえら
478 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:43:27.87 ] M まあ M まあ O 落ち着いて
479 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:46:13.10 ] いや、やろうと思えばまあ出来ないこともあんまないんだけど ぐぐるべきはVBAじゃなくてMMOとかBOTとかだろ
480 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:56:30.27 ] Excel 2010ってアカデミック版でも今8,000円以上するはずだが・・・
481 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:58:24.18 ] Excelについて質問です セルに「n」週の数字を打ち込んで 適当なセルに「a歳bヶ月c週」と表示させることは出来ますか? 例えば、n=51と置いて 1歳0ヶ月3週みたいにです
482 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 17:59:20.75 ] できます はい次
483 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:10:09.94 ] >>481 worksheet_change でググれ
484 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:17:36.81 ] Excel関数でやれよ
485 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:19:15.66 ] 一年て52週がデフォなのにその赤ちゃん化け物か・・・
486 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:25:26.77 ] >>485 なんか独自の方程式があるんでしょ そこは質問に関係ないとこだから突っ込んでやるな
487 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:27:28.45 ] >>481 それVBA使う必要ないけど・・・
488 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:32:12.66 ] 妊娠は受精した日からじゃなくて 排卵した日から数えるんだっけ
489 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:37:31.24 ] >>488 生でInsertメソッドを使ったのか?
490 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:39:05.78 ] >>481 Excel総合相談所 102 toro.2ch.net/test/read.cgi/bsoft/1334818676/
491 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 18:42:43.44 ] >>489 Insertより前だ
492 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:23:45.81 ] >>475 「VBA 初心者」でぐぐってここにたどり着きました。
493 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:24:30.29 ] >>480 ということは1500円で買えるというのはかなりお買い得ということですね。
494 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:35:03.81 ] >>492 「教えて君」でくぐってから出直そうか
495 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:44:41.38 ] >>492 試しに「VBA 初心者」でググったけどこのスレは少なくとも1ページ目には出てこなかったし、もっと分かりやすいのがいっぱい出てきた訳だが、さてと(ビキビキ
496 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:45:05.50 ] >>493 「猫に小判」でぐぐってから出直そうか
497 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:51:09.80 ] というか、結局質問まだあんのか?
498 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 19:58:07.10 ] >>495 私の環境だと上から2番目に出ますが? ttps://www.google.co.jp/search?q=VBA+%E5%88%9D%E5%BF%83%E8%80%85+site%3A2ch.net >>496 値打ちのわからない者には何の役にもたたないということ。 たしかに・・・使えない物に1500円は高いですね・・・。
499 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 20:01:19.18 ] >>498 2chがおまえの世界か!w
500 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 20:02:11.06 ] >>498 はあ?環境? 2ちゃん内でググるバカがどこにいんだよ、人に聞くことを大前提に調べてんのか。くれくれ君の極みだな。しねよ。
501 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 20:08:03.61 ] くれくれ君二重の極み!
502 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 21:01:31.84 ] >>499 >>500 すみません。 ぐぐれと言われたので2チャンネルのスレッドを探せという意味にとらえてしまいました・・・。 しにたくないです。
503 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 21:06:28.04 ] たどり着いたっつってたのと時系列が合わないな。つまんねえ後釣り宣言すんなら今のうちに消えな。
504 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 21:09:19.92 ] >>503 いえ、最初からぐぐってここにたどり着いたんです。 初心者用のスレッドがあるからぐぐれという意味かと。 なので>>492 はぐぐってたどり着きました。という意味です。
505 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 21:12:31.41 ] >>504 ぐぐらなくていいから教えてgooで聞けよカス
506 名前:デフォルトの名無しさん mailto:sage [2012/05/27(日) 23:23:49.25 ] 今年大学に入ったばかりのいとこも同じようなこと言ってた 大学でOfficeがめっちゃ安く買えるって ボリュームライセンスのバラ売りしてんじゃない?
507 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 19:05:47.71 ] WindowsXP Excel2002 ホストのプログラムが起点になって ネットワークドライブからワークシートを手元にコピー という処理を一連で行い使用しています ですが Sheets.Copyでコピーすると ファイル名がBook1となってしまうので これを固定名+年月日に変えたいです 調べて、SaveAsをつかえばファイル名を変えて保存できることがわかりましたが 保存する前、ファイルをコピーした時点で名前を変えることはできますか?
508 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 19:24:14.84 ] >>507 FileSystemObjectのCopyFileメソッドを使う。
509 名前:507 mailto:sage [2012/05/28(月) 19:39:37.58 ] ありがとうございます 手元にコピーというのが悪かったですね そのメソッドだと結局保存されたのを開いて使っているイメージになりますよね? そうではなく、新規でbookを開いた状態で名前をつけたい ということがしたいのですが
510 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 19:45:48.92 ] >>509 何故そうしたいのか?
511 名前:507 mailto:sage [2012/05/28(月) 20:17:15.06 ] わかりません 仕様です
512 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 20:36:29.09 ] >>511 何故BooK1のままだとだめなのか?
513 名前:507 mailto:sage [2012/05/28(月) 20:40:38.36 ] 結局保存するかブック名つきで印刷するかくらいだと思いますが不明です 保存するならこれまで出てきたのでやればいいじゃないかと言われそうですが 保存場所は指定できないので、やはり保存せずに名前を変えられるとベストです
514 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 20:45:47.47 ] >>513 ・マクロを実行した時点では新たにファイルは作成したくない。 ・でもブック名(ファイル名)は設定したい。 ということ?
515 名前:507 mailto:sage [2012/05/28(月) 20:49:38.18 ] その通りです
516 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 20:55:21.89 ] >>515 ファイル名=ブック名なのでファイルが存在しないのにファイル名を作ることはできない。 ので、%TEMP%の下などにファイル作るとかで回避するしかないかと。
517 名前:507 mailto:sage [2012/05/28(月) 21:10:50.63 ] そうなんですか 不可能なら仕方ありませんね ではそのように説明してみます 長くなってしまいましたが付き合ってくれてありがとうございました
518 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 22:44:59.34 ] こいつ前いた奴だろ まだ解決できてなかったのか
519 名前:507 mailto:sage [2012/05/28(月) 23:01:07.34 ] その方のために言いますが 私は初めてですよ
520 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 23:06:26.20 ] >>519 一時的に保存しておいて、最後に削除するのでは何か問題あるの?
521 名前:507 mailto:sage [2012/05/28(月) 23:34:35.29 ] 一度ユーザーの手に渡ったら完結で その後一時的に保存したところのを削除するかどうか制御できるんですか? あまり複雑なことは考えずに できないと言うかc:\直下に保存するか選んでもらうことにしようと思います
522 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 23:37:06.69 ] >>521 マクロの最後でKillすればいいじゃん
523 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 23:47:59.43 ] kill?
524 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 03:13:37.58 ] 新規ブックどうやって作ってるか解らんが テンプレートで保存したブックを開いたら そのブック名はテンプレートのファイル名+数字になった気がする
525 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 13:18:21.54 ] フォルダにファイルを作成してから開けばいいじゃん じゃん
526 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 23:40:15.58 ] 4つのセルを統合したところにソースコードで オートシェイプの円を表示させようとしたところ 一番左端のセルにだけ円が表示されてしまいます 番地指定ではなくアクティブセルを基準に、 セル内に余白を残しつつ4セル分の中心部にオートシェイプを表示したいのですが どういったコードを使えばよろしいでしょうか?
527 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 00:06:33.11 ] アクティブセルがどこか確認したかい?
528 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 08:08:19.74 ] >>526 4セルの状態がわからん □□ □□ □□□□ 長くなるから縦一列は省略 どれも4セルの結合
529 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 10:44:18.84 ] >>526 4つのセルの中心に1つだけ円を表示してみた もし4つのセルに4つの円を表示したいって質問ならループを回せばいい (For Each セル In Selection) Dim セル As Range Set セル = Selection Dim 円 As Shape Set 円 = ActiveSheet.Shapes(1) Dim 余白 As Long 余白 = 20 Dim 円サイズ As Long 円サイズ = IIf(セル.Width > セル.Height, セル.Height, セル.Width) - (余白 * 2) 円.Width = 円サイズ 円.Height = 円サイズ 円.Top = セル.Top + ((セル.Height - 円サイズ) / 2) 円.Left = セル.Left + ((セル.Width - 円サイズ) / 2)
530 名前:デフォルトの名無しさん [2012/05/30(水) 11:16:53.13 ] こんなセルだよ □ □□□ □ □□□□
531 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 11:56:27.73 ] 学校の課題でN進数を10に直せって課題が出たんだが、助言を頂けないだろうか 要求されたことは、 While int 四則演算 Application.InputBox のみで2〜9進数を10進数に変換しなさい って奴なんだ とりあえず、Application.InputBoxで何進数か判別して、要求する値をまた入力って流れで組んだんだがそこからが分からないorz WhileとIntと四則演算を組み合わせて解くのだと思うけど、俺の頭じゃさっぱりだ どなたか助言お願いします
532 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:13:10.03 ] 使っちゃだめな関数あるの?
533 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:13:14.15 ] >>530 こうなりました □ □□ □ □□ □ □ □
534 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:17:57.09 ] >>532 上に載ってる関数以外使っちゃダメって言われた ググってもHEXとかを使うと良いとかで、この問題には使えなかったんだ…
535 名前:デフォルトの名無しさん [2012/05/30(水) 12:25:05.50 ] >>553 下手糞。 こうしろ。 □ □□□□ □□□□
536 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 12:39:35.19 ] ああ、桁抜き出しの代わりにint使うのか ただそれでどうやって最上位桁を判定するんだろ
537 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 14:41:51.89 ] >>531 何進数かってのと対象の数値の2回入れるんだよな? Modとか%もだめなのか 10で割ってIntで切り捨てた物をもとの数字から引くと下一桁が取り出せるから それを基数の階乗に掛けるとかかかなあ 4進数の312の場合 2 * 3 ^ 0 + 1 * 4 ^ 1 + 3 * 4 ^ 2 で答えが54みたいな あまりいい課題ではないな
538 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 14:42:56.87 ] >>537 「10で割ってIntで切り捨てた物を再度10倍したもの」だった。 すまん
539 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 14:51:22.94 ] >531 Excel VBAの質問ではないなこれは
540 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 20:31:54.09 ] >>536 設問から、 最上位の数値は、必ず10より小さい。
541 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 21:45:51.97 ] >>531 やってみたが、違ってるかもしれん。 Sub test() Dim n As Long, myNum As Long, cnt As Long Dim tmp1 As Long, tmp2 As Long, tmp3 As Long, tmp4 As Long, tmp5 As Long n = Application.InputBox("何進数ですか") myNum = Application.InputBox("変換したい数字を入力してください") cnt = myNum tmp1 = 1 tmp5 = 1 While cnt > 0 cnt = Int(cnt / 10) tmp1 = tmp1 * 10 tmp2 = (myNum - Int(myNum / tmp1) * tmp1 - tmp3) / tmp1 * 10 tmp3 = tmp3 + tmp2 * tmp1 / 10 tmp4 = tmp4 + tmp2 * tmp5 tmp5 = tmp5 * n Wend MsgBox n & "進数の" & myNum & "は、10進数で" & tmp4 & "です" End Sub
542 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 22:28:41.60 ] 何故か出来ているように見えるので一応投げてみる。 進数の違いで多過ぎた分を後から引いていく感じ。 筆算では合っているっぽいけど、自分でも実は良く解らん(おぃ Dim src As Long, radix As Long src = 53423 radix = 7 Dim v1 As Long, v2 As Long, v3 As Long v1 = src v2 = src v3 = 10 - radix While v2 > 0 v2 = Int(v2 / 10) v1 = v1 - v2 * v3 v3 = v3 * radix Wend Debug.Print v1
543 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 22:39:02.30 ] >>542 おおー、理屈はよくわからんが、すごいな。
544 名前:デフォルトの名無しさん [2012/05/31(木) 16:49:59.55 ] Excel2010で同じシートのマクロで、 別のマクロを実行させたいのですが。 Sub FVB() Application.OnTime TimeValue("16:42:00"), "mm" End Sub このように時間になったらmmマクロを呼び出して Sub mm() Range("H92").Select End Sub このように実行させたいのですが、 時間になると実行できませんとエラーがでます、 他のマクロは普通に実行できてるのですが、 どこか問題あるでしょうか?
545 名前:544 [2012/05/31(木) 19:57:39.14 ] 標準モジュールというところに書き直したら、 なぜか実行できました、 なんでうまくいったか分からないけどとりあえず自己解決。
546 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 20:02:52.98 ] >>544 マクロ名が微妙に異なっているとか?
547 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 20:03:37.37 ] あら解決したのね
548 名前:デフォルトの名無しさん [2012/05/31(木) 21:18:36.27 ] 毎日、取引先にエクセルのブックをメール添付で送ってます。 マクロボタンをクリックすると、特定のシート(例えばSheet1)だけを 添付して送信することはできますか? ついでにテンプレートとなる本文と件名と、とくていの部分(日付とか)だけはその日用に変えておくることはExcelVBAできますか? メールはOutlookで下書きを書いて、送信ボタンを押す直前までが希望です。
549 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 21:23:30.05 ] 出来る……ハズだが、やったことない OutlookもVBAを使ってるから、送信までを行うならOutlook側で制御したほうがいいと思う
550 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 21:30:27.93 ] >>548 Outlooknのヘルプにサンプルがあるから頑張れ。 添付ファイルを付けるときは MailItemを作成してAttachmentをつけるとかコードが結構増える。 下書きまでは単純にmailto:のリンクを起動するだけでできるから シート1だけコピーして新規ブックを作成してどこかに保存と mailto起動だけやって添付は手動とかでもいいと思う
551 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 19:55:33.46 ] 最近、毎日ですが、エクセルで、VBAで、プログラムを、組んでます。 どうやったらプログラマにまれますか? プログラムーに、なりたい、です。 ので、誰か、教えてください。
552 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:05:19.01 ] >>551 プログラム、組んでるなら、既に、プログラマ、じゃん かっこいい、な
553 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:08:41.14 ] >>551 C++やRubyの本を読んで挑戦すればいいじゃん
554 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:21:18.47 ] >>552 かっこいいなど、そんなことは、ありません。 プログラマとは、仕事の、ことを、いってます。 ぼくは、まだ、家でしか、やったことが、ないです。 >>553 まずは、C++とか、Rubyというの、本を読んだ方が、いいんでしょうか? ぼくはばかなので、友達にも、ばかだ、といわれています。 まだ、パソコンを、恥またばかりで、よく分からなくて、ごめんなさい。
555 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:26:33.99 ] >>554 まず日本語勉強して会話できるようになれよ
556 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:28:12.80 ] 句読点きもい
557 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 20:37:20.31 ] >>555 >>556 すいません、タイプングミスばかりして。 国語は、3です。 急いで打つと間違いやすい正確なんです。
558 名前: 【豚】 mailto:sage [2012/06/01(金) 20:50:29.34 ] 偏差値40以下ですね判ります
559 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 21:01:04.25 ] >>558 エスパー、ですか? 国語の、偏差値は、38です。 でも、数学の偏差値は60、くらいです。 プラグラマに、なるには、国語を、偏差値が、高くないと、無理でしょうか?
560 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 21:07:14.87 ] >>559 プログラマだからこそ、国語ができないと。 お客の意思疎通ができずにとんでもないもん作っちまうぞ。w
561 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 21:14:26.39 ] >>560 ぼくは、まだ、プログラマ入級者なので、よくわかっていないのですが、 システムエンジニアは、国語が、必要で、 プログラマーは、国語は、あまり重要じゃ無い、と考えていたのですが、 違うのでしょうか。
562 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 21:39:48.32 ] まあ別にいいとして どんなプログラム組んでるんだ? VBAである程度なれてるなら、VSオヌヌメするが
563 名前:デフォルトの名無しさん [2012/06/01(金) 22:11:52.01 ] 超初心者です。 オブジェクト、メソッド、プロパティが何かわかる解説付きの一覧表とかあるのでしょうか?
564 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 22:19:47.53 ] 入門編とか応用なんちゃらとかいう本には載ってる 機能からイベントやら探すのも本ある ネットでも探せるし、MSDN見るようにすればおk
565 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 22:53:44.71 ] 超初心者にMSDNなんか薦めんな あんなクソ判りにくいもん読めっか
566 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 22:59:32.19 ] でもいつかは通る道 まぁVBAでmsdnガン見する必要はないと思うけど。 とりあえずこれ如何? home.att.ne.jp/zeta/gen/excel/c04p21.htm
567 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 23:03:16.62 ] なんでこのレベルの奴がこの板にいんだよ年々レベル下がってるじゃねーか死ね
568 名前:566 mailto:sage [2012/06/01(金) 23:10:07.35 ] あ・・・・微妙にまちがえたなりん home.att.ne.jp/zeta/gen/excel/c03p09.htm
569 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 01:23:02.06 ] レベル高いやつはこんなとこ来なくなるんだろ なんでお前まだいるの?
570 名前:デフォルトの名無しさん [2012/06/02(土) 06:13:20.08 ] なんでこのレベルの奴がこの板にいんだよ年々レベル下がってるじゃねーか死ね
571 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 07:33:23.63 ] >>569 そうだよな。ところで、 レベル高いやつはこんなとこ来なくなるんだろ なんでお前まだいるの?
572 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 10:39:30.90 ] >>563 allabout.co.jp/gm/gc/297719/
573 名前:デフォルトの名無しさん [2012/06/02(土) 20:53:31.78 ] >>563 ですが、みなさん返信ありがとうございます。 知りたいのは構成ではなく、個々のやつの意味が知りたいです。 たとえばプロパティは一杯ありますが、それの個々が何かを知りたいです。
574 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:10:24.63 ] >>573 [F1]キーを押したらヘルプが開くでしょ?
575 名前:デフォルトの名無しさん [2012/06/02(土) 21:25:25.06 ] >>574 HPのPCですが、HPのヘルプが開きます
576 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:34:43.56 ] なにそれこわい っていうかそんなPCうざいな・・・
577 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:39:32.77 ] >>575 それはExcelのVBAに全く関係ないのでここで質問してもスルーされるよ
578 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 13:10:01.26 ] >>575 www.relief.jp/itnote/archives/001208.php
579 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:08:49.99 ] 「コンパイル エラー: If ブロックに対応する End If がありません。」 なんで↑がでますか? aaの一個目のEnd Subで抜けるとEnd Ifを通らないからですか? ---------------- Sub aa(x As Integer) If x = 1 Then MsgBox x End Sub End If End Sub ---------------- ---------------- Sub aaa() Dim x As Integer Call aa(x) End Sub ----------------
580 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:12:21.75 ] >>579 exit subにする
581 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:28:40.21 ] >>580 おおお!ありがとうございます。
582 名前:デフォルトの名無しさん [2012/06/03(日) 23:31:39.47 ] Sub aa(x As Integer) If x = 1 Then MsgBox "ナマポ朝鮮人を排除しよう" End Sub
583 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 12:01:34.93 ] どこで聞いたらいいかわからないのですが、 VBEの特殊性(?ないとは思いますが…)、も考えて こちらでお聞きします。 (スレ違いとは思いますので誘導していただけたら助かります) VBEで書いたコードを、備忘録としてブログに貼ると インデントが全くなくなってしまいますが、 これを解決する方法はないでしょうか? たしか、貼ったコードを実行する?ようなサイトがあって それを利用すると、インデントが当初のままに なるとかいう話は聞いたことがあるのですが、 探せませんでした。 上記のようなサイト利用に限らず、インデントを 崩さないで、ブログに貼る方法を教えて頂けませんか? よろしくお願いします。
584 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 12:35:11.61 ] <pre></pre>あるいは<code></code>で囲む
585 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 13:14:00.24 ] >>583 その程度の知識の人のソースコードなんて誰も見たくないんだから ブログになんて貼らないでもらいたいのですが よろしくお願いします
586 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 13:49:22.92 ] Evernoteにでも貼っとけよ
587 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 14:56:34.06 ] >>583 ソースコードをHTMLにコンバートするツールとかサービスとかググったらいっぱいヒットするけど ホントに探せなかったんだよね? VBA限定なら少ないかもしれないけどVBとかVBScriptなら結構見つかると思うよ
588 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 15:43:42.13 ] >>584 全く知りませんでした。ありがとうございます。 >>585-586 すみませんでした。少しでもご迷惑にならないよう パスワードはかけてあります。 >>587 キーワードが全然ダメでした。 お陰様で見つかりました、ありがとうございます。 スレ違いのところをレス頂いて感謝しております。 ありがとうございました。
589 名前:デフォルトの名無しさん [2012/06/04(月) 21:19:55.91 ] エクセルの表のデータベースで、この日付とこの日付のあいだのものを ピックアップして別のシートに貼り付けるというマクロを組みたいのですが、 この時の日付はシリアル値にしないとだめでしょうか?
590 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 21:24:21.93 ] 自分で加工しやすい値にするのがベスト シリアル値じゃなくても変換すればいいし
591 名前:デフォルトの名無しさん [2012/06/04(月) 21:39:17.63 ] >>590 ふむふむ。 いまDATEVALUE関数を使ってみたのですが、A1に2012/6/4と入力して、 B1に=DATEVALUE(A1)と入れてみたのですが、#VALUE!のエラーが出ました。なぜでしょうか?
592 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 22:08:26.71 ] >>591 A1セルの表示形式が「文字列」になってないとか? まぁVBAに関係ない質問なら↓こっち行けって話だけど toro.2ch.net/test/read.cgi/bsoft/1334818676/
593 名前:デフォルトの名無しさん [2012/06/05(火) 22:14:51.73 ] 行を選んで、別のシートにコピーをしたいのですが、 Do Until Cells(n + 1, 1).Value = "" Cells(n + 1, 10).Value = Cells(n + 1, 1).Value If Cells(n + 1, 1).Value > startdate Then If Cells(n + 1, 1).Value < enddate Then Cells(n + 1, 11).Value = Cells(n + 1, 2).Value Rows(n + 1).Copy Rows(n + 500).PasteSpecial ←ここまでは動いて、ちゃんとコピペした。 Worksheets("sheet3").Select Do Until Cells(m + 1, 1).Value = "" If Cells(m + 1, 1).Value = "" Then Worksheets(1).Select Rows(n + 1).Copy Worksheets(3).Select Rows(m + 1, 1).PasteSpecial ← ワークシート3にコピペしてくれない(´・д・`) どこが悪い? End If m = m + 1 Loop End If End If n = n + 1 Worksheets(1).Select Loop
594 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 22:21:20.69 ] Rows(m + 1, 1)
595 名前:デフォルトの名無しさん [2012/06/05(火) 22:27:29.67 ] Rows(m + 1).PasteSpecial
596 名前:デフォルトの名無しさん [2012/06/05(火) 22:36:53.69 ] Worksheets(1).Rows(n + 1).Copy Worksheets(3).Rows(m + 1)
597 名前:デフォルトの名無しさん [2012/06/06(水) 06:30:49.38 ] >>594-596 指摘あり!(><) 行だったよ・・・・
598 名前:デフォルトの名無しさん [2012/06/06(水) 06:35:06.01 ] >>594-596 速攻なおしてみてやってみたけどダメでした・・・(><)・・・
599 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 07:43:09.07 ] ステップ実行で確認
600 名前:デフォルトの名無しさん [2012/06/06(水) 07:48:58.93 ] ここおかしくない? >Do Until Cells(m + 1, 1).Value = ""
601 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 19:21:39.64 ] >>593 やりたいことは、こうじゃないの With Worksheets(1) Do Until .Cells(n + 1, 1).Value = "" .Cells(n + 1, 10).Value = .Cells(n + 1, 1).Value If .Cells(n + 1, 1).Value > startdate Then If .Cells(n + 1, 1).Value < enddate Then .Cells(n + 1, 11).Value = .Cells(n + 1, 2).Value .Rows(n + 1).Copy .Rows(n + 500) Do Until Worksheets("sheet3").Cells(m + 1, 1).Value = "" m = m + 1 Loop .Rows(n + 1).Copy Worksheets(3).Rows(m + 1) End If End If n = n + 1 Loop End With
602 名前:デフォルトの名無しさん [2012/06/06(水) 23:03:47.49 ] >>593 です。みなさんありがとう。快尻しました (*´∀`*)
603 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 19:54:23.76 ] こんばんは。 私の尻も快尻してほしいです。
604 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 02:02:21.96 ] 嫌です
605 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 12:25:52.47 ] ExcelVBAで作ったシステムを保守することになりました。 モジュール、Excel側のフォーマットとの連携、ブックの定義など、 設計、構造レベルの話を厚く書いている書籍はないでしょうか。 エクステンドで開発していた経緯が見え隠れし、 非常に保守しづらい状況です。
606 名前:デフォルトの名無しさん [2012/06/09(土) 12:26:13.95 ] 失礼age忘れました。
607 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 12:56:15.66 ] 手にしたことないけど、dotNetのexcel連携専用本ならそこらへんをカバーしてるのありそうだな
608 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 14:06:39.59 ] >>605 まずはヘルプのオブジェクト構造図を眺めるかな
609 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 14:08:49.59 ] 無料でもいいならMSDNライブラリとか
610 名前:デフォルトの名無しさん [2012/06/09(土) 14:53:49.04 ] 出社したため携帯から失礼します。 コメントありがとうございます。チェックしてみます。 前任者が20くらいのマクロでシステムを作り上げていて。。。マクロ組めますレベルで大丈夫だよとは聞いてたけど。。。 ざっとシステムとソース舐めてみたところ、フォーマットと機能とデータががっかり結合しているのがシステム肥大化の原因みたいです。 将来的に運用回らないことも想定できるので、早めに提案したいのですが、VBAをシステムとして扱うとなると知識が不足していまして。。。 よろしくお願いします。
611 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 18:08:51.51 ] 出来ない事は出来ないってハッキリ言ったほうが良くない? 手を付けてから出来ませんでしたじゃ余計迷惑だと思うよ。 システム設計とかそういうレベルの話だと いまからなにかしても付け焼刃で何の役にも立たないはず。
612 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 18:25:16.51 ] こんなところに質問してくる程度のスキルなんだろうし こんなところに質問してなんとかなる程度のシステムなんだろうよ 本人がやる気になってるんだからいいじゃない
613 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 20:20:44.29 ] こんなところに質問してくる程度のスキルだから こんなところに質問してなんとかなる程度のシステムかどうかすら 判断できて無いんじゃないか? アドバイスすることは不可能ではないけど、>>611 の言う通り 付け焼き刃で弄っても害の方大きいだろうから、 向こうの説明不足&自分の能力不足を告げた方が良いと思う 事前にご説明いただいた内容であれば対応出来ると思っておりましたが 実際に要求されているのはもっと高いレベルであり、今の私にはそれをこなす能力はありません、と
614 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 20:36:18.50 ] 見た感じだけどシステムの概要やらは理解してるっぽいから、VBA挙動に慣れれば問題ないんじゃね 調査や習熟に時間がかかる可能性がある その上で修正が可能かは今の段階でわからない そのまま使用して問題なかったとしても、将来的にどういう形に出来るかわからない みたいな形で報告をしておいて、どの程度なら許容範囲なのかを上司と相談してからタッチすべきだな
615 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/06/09(土) 22:39:29.00 ] ボケ老人、知的障害者、馬鹿で幼稚な奴。 この三者に共通する特徴の一つは、繰り返しを好み、しかもその自覚(病識)がないこと。
616 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:14:50.33 ] 通常のシートでデータの並べ替えを行うとき キーは3つ設定できるわけだけど これをVBで4つ設定するようにすることはできない?
617 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:31:29.53 ] 4つどころかいくらでも というか、安定ソートの場合 第一優先:A列、第二優先:B列、第三優先:C列、第四優先:D列 でソートするのと D列でソート、C列でソート、B列でソート、A列でソート とするのは同じだぞ というかExcelの3つのキーが指定できる並べ替え機能は、内部で、 第三優先キーでソート、第二優先キーでソート、第一優先キーでソート をやってるだけだろうし それを踏まえればVBAはもちろん、VBA使わなくても出来る
618 名前:610 mailto:sage [2012/06/09(土) 23:37:21.29 ] コメントありがとうございます。 ×がっかり結合→がっつり結合 >>611-613 小手先でなんとかなってしまう程度なんですよねー、これが。 今々は小手先でなんとかしなきゃいけない背景もあり。。。 >>614 さんを一旦の落とし所にさせていただきます。
619 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:42:44.75 ] Sub sample() ' Selection.Sort _ Key1:=Range("A2"), Order1:=xlAscending, _ Key2:=Range("B2"), Order2:=xlAscending, _ Key3:=Range("C2"), Order3:=xlAscending, _ Key4:=Range("D2"), Order4:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, SortMethod:=xlPinYin, _ DataOption1:=xlSortNormal, _ DataOption2:=xlSortNormal, _ DataOption3:=xlSortNormal, _ DataOption4:=xlSortNormal End Sub マクロで、3つのキーでソートするサンプルを作って、上記のように単純にKey4を追加して みたんだけど、エラーになる。何で?
620 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:50:02.37 ] >>619 そりゃ三つまでの指定にしか対応していないからだろ。 というか、エラーの内容書けよ。
621 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:53:50.36 ] >>620 ダイアログ Microsoft Visual Basic 実行時エラー '1004': アプリケーション定義またはオブジェクト定義のエラーです。 ヘルプ アプリケーション定義またはオブジェク ト定義のエラーです。
622 名前:デフォルトの名無しさん mailto:sage [2012/06/09(土) 23:55:44.42 ] >>619 あのさ、回答付いてるんだから読んだら? それとも読んだ上でそういうことやらかすお馬鹿さんなの?
623 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 00:01:06.51 ] >>617 理解できたトンクス
624 名前:620 mailto:sage [2012/06/10(日) 00:04:08.13 ] まあ、これじゃエラーの内容を省略したくなっても仕様が無いなw JavaScript程じゃないが、VBAも大概意味不明なエラーメッセージ出すし。
625 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 00:06:26.33 ] >>624 >>619 のコードでエラーのメッセージを見ないと回答できないレベルならハナから黙ってろよ
626 名前:デフォルトの名無しさん [2012/06/10(日) 02:04:20.44 ] "hayabusa3.open*2ch.net/livemarket1/ " という文字列があったとします "*"をヌル文字に置換すると結果はどうなるのですか?
627 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 03:29:08.24 ] どうなるって、普通に置換されるだけだろ 但し、ヌル文字ってもは可視文字ではなく制御文字なので 置換したものを表示させたときにどう表示されるか、 つまり置換の結果ではなく表示結果は表示先次第 というか、そのくらい自分の目で確かめたら良くね?
628 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 04:53:10.26 ] VBAと関係ないし
629 名前:デフォルトの名無しさん [2012/06/10(日) 10:05:48.00 ] やっぱ誰も判らないんだ
630 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 10:08:46.19 ] 置換なんて高等テクだれもわからないぜ〜 バイバイ
631 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 10:26:45.60 ] 置換は良くわからないですが 痴漢は良くしってます。
632 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 10:42:07.90 ] 実践してるから?
633 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 11:04:20.04 ] 台所やコタツなどで揉んだりすると 置換だ編隊だ偏執者だと言われます
634 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 12:11:19.44 ] >>626 ヌル文字なら削除 "aabb*cddef" という文字列があったとします "*"をヌル文字に置換すると結果はどうなるのですか? "aabbcddef"
635 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 13:14:11.54 ] >>634 ヌルヌルになるよ ぬるぽ
636 名前:デフォルトの名無しさん [2012/06/10(日) 14:43:34.81 ] Excelのセルを正方形にして100x100のマスの迷路をつくりたいのですが スタートと出口をそれぞれ左上、右下にし、 必ず出口に行けるルートは一つだけで、 その他は壁をつくり、その壁は罫線で表したいです。 こういうプログラムをつくるにあたり、アルゴリズムはどうすればいいでしょうか? できるだけくわしく教えてください
637 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 14:56:01.54 ] >>636 「迷路 アルゴリズム」で検索 できるだけくわしくって... 労力考えろよ
638 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 15:56:37.53 ] >>636 Excelの質問でもVBAの質問でもない
639 名前:デフォルトの名無しさん [2012/06/10(日) 16:17:07.83 ] >>636 まず二次元配列を作り中身は0が通路1が壁とします 次に左上から右下へ斜めの通路を通路を作ります これは最短距離のルートですよね これを初期値として通路をうねうねとうねらせます それには乱数を使います それは適当なところで止めて、次に騙し用の通路を付け足します 池田は、「ハッ、ハッ」と荒い息を吐き掛けながら、「下着は一枚だね」 と言って、私の下着の中に手を入れてきました。 ものすごい力で押さえつけられた上に、恐怖で声も出せないでいる私に、 池田は後ろからグッと突いてきたのです。
640 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 16:57:57.92 ] #100x100 は時間かかりそうなので試していないことにしておく import os, win32com.client TITLE = u'迷路' HEIGHT, WIDTH, OFFSET_ROW, OFFSET_COL = 10, 10, 2, 2 MAX_ROW, MAX_COL = OFFSET_ROW + HEIGHT - 1, OFFSET_COL + WIDTH - 1 xl = win32com.client.Dispatch('Excel.Application') xl.Visible = True book = xl.Workbooks.Add() sheet = book.Worksheets(1) sheet.Name = TITLE sheet.Cells(1, 2).Value = TITLE sheet.Rows('%d:%d' % (OFFSET_ROW, MAX_ROW)).Select() xl.Selection.RowHeight = 8 sheet.Columns('%c:%c' % (chr(ord('@') + OFFSET_COL), chr(ord('@') + MAX_COL))).Select() xl.Selection.ColumnWidth = 1 for r in xrange(HEIGHT): for c in xrange(WIDTH): sheet.Cells(OFFSET_ROW + r, OFFSET_COL + c).Interior.ColorIndex = 4 for d in xrange(4): if (d == 0 and r == 0 and c >= 1): continue if (d == 1 and r == 0 and c < WIDTH - 1): continue if (d == 2 and r >= 1 and c == WIDTH - 1): continue if (d == 3 and r < HEIGHT - 1 and c == WIDTH - 1): continue sheet.Cells(OFFSET_ROW + r, OFFSET_COL + c).Borders(1 + d).Weight = 2 sheet.Cells(OFFSET_ROW, OFFSET_COL).Value = u'スタート' sheet.Cells(MAX_ROW, MAX_COL).Value = u'出口' book.SaveAs(os.path.abspath(u'./%s.xls' % TITLE)) xl.Workbooks.Close() xl.Quit()
641 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 18:15:17.55 ] >>626 ,627,634 まずヌル文字の定義をはっきりさせてから話しろよ
642 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 18:17:29.36 ] >>641 VBAでヌル文字って言ったら長さゼロの文字列である「""」の事に決まってるだろ
643 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 18:30:21.72 ] >>642 それは空文字だ禿。もしくはフサフサ。それかバーコード。
644 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 18:38:06.13 ] >>642 ヌル文字列、っていうならその解釈で良いと思うがな ヌル文字、って言うと、Chr(0)な文字か、vbNullStringなのかもしれん
645 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 19:41:23.90 ] テキスト表示で "" ってなるだけで、null属性の答えにならんだろ オブジェクト.text が "" だったとしてもそれはオブジェクトの説明にはならん
646 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 19:45:58.60 ] 誰もそんなこと聞いてない
647 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 19:51:30.67 ] ・・・?
648 名前:デフォルトの名無しさん [2012/06/10(日) 20:04:19.72 ] >>640 エラーしかでんがな
649 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 23:36:41.43 ] 見たところVB.NETのコードだもん
650 名前:デフォルトの名無しさん mailto:sage [2012/06/10(日) 23:53:57.84 ] あ、ほんとだ
651 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 00:33:27.52 ] VB.NETにも見えんが。C#じゃないのか
652 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 00:34:55.67 ] C#ならusingつかう import使ってるのはVB
653 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 00:56:38.42 ] VB で == なんて使わないだろ。 俺の知ってる中だと、Python あたりだと思うが。
654 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 02:08:34.33 ] ほんとだ。Pythonだった。 まあ移植しろってつもりで貼ったんだろうな
655 名前:デフォルトの名無しさん [2012/06/11(月) 02:14:06.27 ] >>641 VbNullまたはChr(0)または""のどれでも良いです >>626 の予想される結果をお願いします ま、これに答えられる人はこのスレにはいません 無理言ってごめんなさい
656 名前:640 mailto:sage [2012/06/11(月) 02:51:12.70 ] >>636 とりあえず完成したので貼っときます ttp://codepad.org/Cbvr8wyx 久しぶりに頭の体操になったよ ありがとう
657 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 04:36:19.60 ] >>655 VbNullは文字ではない vbNullStringかchr(0)なら>>627 ""なら>>634 どちらも答えもらってるんだが、何を煽る必要あるんだろうね まあ、答えられる人がいないと思うなら二度と来るなよ
658 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 07:57:29.11 ] 韓国、ノーベル賞の夢消える! 米国 「ソウル大学で多くの論文捏造が判明した、24時間以内に回答せよ」 engawa.2ch.net/test/read.cgi/poverty/1339342300/ ソウル大でまた幹細胞研究の論文捏造か―論文14本 韓国のソウル大教授が学術誌に投稿した幹細胞研究の論文14本に捏造(ねつぞう)の疑いが浮上し、 波紋を呼んでいる。教授は「単純ミス」と釈明している。 韓国では2005年、ノーベル賞も期待されていた別のソウル大教授が発表した胚性幹細胞(ES細胞)関連論文で 捏造が発覚、社会に衝撃を与えた。同じ大学で同分野の論文が問題となっていることから、韓国メディアは「悪夢の再来か」などと報じている。 教授が4本の論文を投稿した米学術誌は24時間以内の釈明を要求したが、教授は「(釈明のための)時間が十分でない」とした上で、論文を取り下げた。 以下詳細 日経 2012/6/3 www.nikkei.com/article/DGXNASGM0300G_T00C12A6FF2000/
659 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 11:51:47.33 ] >>636 >>656 数ヶ所改良したバージョン ttp://codepad.org/g5QwMAWF ※ 100 x 100 のときは maximum recursion depth exceeded に達するので limit 変更 入口(左上)から掘ると迷路が簡単になる傾向があるので出口(右下)から掘るように修正 罫線描画のタイミングを変更することで無駄を減らし高速化
660 名前:デフォルトの名無しさん [2012/06/11(月) 12:34:31.57 ] >>659 ついでに、その迷路を解くアルゴリズムはどうすればいいでしょうか? できるだけくわしく教えてください。 おながいしまつ。
661 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 12:54:22.32 ] >>659-660 アルゴリズムのスレに池よ 邪魔だよお前ら
662 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 16:35:30.53 ] Vista、Excel2007を使用しています 行数不定、列幅2の範囲の値をListboxに表示させたく Private Sub UserForm_Initialize() Set Ws = Worksheets("sheet1") Dim n As Integer Dim Data1() n = Ws.Cells(31, 1).End(xlUp).Row ReDim Data1(1 To n) Dim Data2(1) For i = 1 To n Step 1 Data2(0) = Ws.Cells(i, 2) Data2(1) = Ws.Cells(i, 1) Data1(i) = Data2 Next i With ListBox1 .ColumnCount = 2 .ColumnWidths = "50;50" .List = Data1 End With End Sub で試したところ、配列自体はできている(Data1(i)を適当にとってセルに書き込むと反映される)ようなのですが ListBoxにはn個の空白行が表示されるだけで、Data1をセルに書き込んだ場合も値は反映されませんでした 配列には手を出し始めたばかりなのですが、そもそも配列の作り方からしておかしいのでしょうか?
663 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 17:00:06.38 ] >>662 こういうこと? ReDim Data1(1 To n,1) dim i as Long For i = 1 To n Step 1 Data1(i,0) = Ws.Cells(i, 2).text Data1(i,1) = Ws.Cells(i, 1).text Next i
664 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 17:51:54.44 ] >>663 希望通りに表示できました、ありがとうございます 2次元配列でRedimを用いる場合行最後の次元しか変更できないと思い込んでData2なんて作ってしまいましたが よくよくヘルプ読むとPreserveある場合の話だったのですね・・・orz
665 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 21:19:04.09 ] 異常者だろうな。私の知る限り彼はこのスレで誰ともコミュニケーション成立したことがない。
666 名前:デフォルトの名無しさん [2012/06/11(月) 21:19:24.55 ] 666
667 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/06/11(月) 23:59:55.35 ] すみません。ワードVBAのスレが無いようなので… ワードのVBAなんですが、セル内で位置指定で垂直方向はすぐ見つかったのですが Selection.Cells.VerticalAlignment = wdCellAlignVerticalCenter 水平方向の指定の仕方を教えてくださいm(__)m
668 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 00:11:17.42 ] >>667 ワードVBAのスレがあるかどうかに関係なく、 ここはExcelVBAのスレなのでスレチです
669 名前: 忍法帖【Lv=40,xxxPT】 mailto:sage [2012/06/12(火) 00:21:58.90 ] >>668 申し訳ないです。 マクロを記録して自己解決しました。 Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
670 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 00:26:22.01 ] >>668 いちいちウザイ
671 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 00:30:08.00 ] >>670 じゃあNGに入れろよ お前みたいな何の役にも立たないレスが一番うざいわ
672 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 00:34:21.62 ] 横からスマンが ID無しの板で、固有コテハン名乗ってるわけでもない奴をNGに入れろってのも 何の役にも立たないアドバイスな気が、、、
673 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 00:39:39.79 ] >>672 ID無しの板で個人を特定してウザイなんて言うわけないじゃん スレチってキーワードがうざいって事なんじゃないの?
674 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 01:00:06.19 ] スレチなのに書き込むバカが全面的に悪い
675 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 02:44:18.43 ] ビル・ゲイツ「反原発派の政治家や国民はもう少し科学的知識を持った方がいい」 ikedanobuo.livedoor.biz/archives/51740658.html きょうシアトルで、西和彦さんと一緒にビル・ゲイツにインタビューした。 彼は福島事故について驚くほどくわしく知っていて、 「合理的な日本人が非合理的な反応をしているのは残念だ」と言っていた。 特に原発や放射線のリスクについての科学的知識が政治家や一般国民に知られていないことが問題を必要以上に混乱させている、と語った。 印象的だったのは、中国がウェスティングハウスのAP1000を60基発注するという話だ。 中国は世界中からエンジニアを集め、国家プロジェクトとして原子力開発を進めている。 先月、第1号機が納品された。これは1基115万kWだから、合計6900万kW。 これだけで日本の原発の合計をはるかに上回る。設計はすべて同じだから、コストも非常に安い。 重要なのは安全性だが、AP1000のような第3世代の原子炉には、 炉心溶融を物理的に防ぐ受動的安全装置がついており、巨大地震が起きても大丈夫だ。 福島第一原発は古いマークTで、30年前から技術者が危険だと警告していた。 日本も「脱原発か否か」といった不毛な論争ではなく、古い原発を新しい原発に代えて 安全性を高めることも必要ではないか。 エネルギー産業は、情報通信産業の次の大きなフロンティアだ。 古い地域独占の電力会社が残っているおかげで、イノベーションの余地は非常に大きい。 新興国は安くて効率的なエネルギーを求めている。環境問題を考えても、きわめて危険な 石炭を減らすために原子力は重要だ。風力エネルギーも有望だが、フィードインタリフは イノベーションを殺してしまう。 大事なのは、かつての通信と同じく、電力を全面的に自由化して競争を促進することだ。 エネルギー産業でも、かつてマイクロソフトがIBMを倒したように、巨大な電力会社を倒す ベンチャーが出てくる可能性がある。そのためには不合理な規制を徹底的に見直すことが必要だ。 アメリカにはシェールガスもクリーンコールも第4世代原子力技術もあり、イノベーターも多い。 足りないのは合理的な政府だけだ。
676 名前:デフォルトの名無しさん [2012/06/12(火) 03:17:34.15 ] >>671 スレチの指摘だって 何の役にも立ってないうえに >>670 みたいな書き込みの呼び水になるから 結局は一番迷惑 スレチも荒しも放置に限る
677 名前:デフォルトの名無しさん [2012/06/12(火) 03:57:58.74 ] >>667 バーチカルときたらホリゾンタルちゃうかー
678 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 11:12:41.21 ] >>676 大して迷惑でもないだろ・・・
679 名前:デフォルトの名無しさん [2012/06/12(火) 14:10:36.96 ] detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1488984684 わからないのでお願いします
680 名前:デフォルトの名無しさん [2012/06/12(火) 15:35:56.71 ] >>676 はかなり頭逝ってる
681 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 21:33:07.30 ] >>679 質問文をコピペするのではなく、横着してURLだけ貼って 回答者にわざわざリンク先の質問読みにいけと? 最悪なマルチの仕方だな とりあえず3回くらい氏ねよ
682 名前:デフォルトの名無しさん [2012/06/13(水) 16:30:32.22 ] おまえのレスはスレ違い 俺のレスは問題外 他人のレスは全部気違い みんな概出痴的障碍 青貝馬鹿貝想定外
683 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 18:03:00.56 ] このガチのコミュ障は他人に構ってもらうためにSICPを使ってるだけだろ ただし構ってもコミュニケーションは成立しない 頭がおかしいし、もう一生なおらない、一生な、絶対。病院に言っても無駄 まともなレスを一度も出来ずに死ぬ
684 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 10:36:23.07 ] 痛い子にさわるならアンカー付けてレスしてくれないかな。 連鎖あぼーんできないじゃないか。
685 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 10:51:58.63 ] そこまで一生懸命見る価値はないぞこのスレは 早く卒業しなさい
686 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 11:02:02.78 ] 流し読みするのに邪魔なんだよ。
687 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 12:01:06.06 ] 流し読みの価値すらないことに気付け
688 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 12:44:58.20 ] 流し読みの価値すらないということにしないと困るようです
689 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 13:02:58.24 ] 最近は質問自体が少ないからなあ 質問者が減っているのか、おまいらがオイダシテるのかわからんが
690 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 13:04:47.86 ] ググれば解決することが殆どだしねー 質問が減るのはいいことだ
691 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 13:59:34.76 ] VBAがオワコンだから質問もされない
692 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 16:02:10.96 ] 初心者は常に素人質問をするもの 素人だからググルポイントが解らないとか、結果を読んでも解らないとか だからここで素人質問をする オレもプロではないので全般的に理解できているわけじゃなくて やりたいことを試してエラーが出て、大抵そのエラーの意味はつかみ所がない ググって原因は解っても回避方法がわからないこともある それで質問をすると、即答してくれる人が居て非常に助かる (たまにバカにしたレスが付くけど) 回答するのがウザイならググルキーワードとかヒントだけ出せばいいと思う 過疎化しているのはオワコンだからなのかな? Excel人口は多く、その何%かがVBAをかじるだろうからこのスレの存在は有りがたい オマエラに感謝!
693 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 16:39:15.63 ] >>692 初心者は質問もないのにわざわざこんなスレに来てこんなこと書かないよ いつもごくろうさま
694 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 16:58:12.90 ] >>693 お前邪魔
695 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 08:35:31.86 ] 馬鹿には無理
696 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 17:18:02.56 ] 初歩的な質問ですみません For ii = 0 To 2 sn = Array("1月", "2月", "3月") Set ws = Worksheets(sn(ii)) ws.Columns("A:A").Select ’@ Selection.AutoFilter . . Next ii @のところで 実行時エラー 1004 RangeクラスのSelectメソッドが失敗しました。 のエラーが出ます。 どう修正したらいいでしょうか?
697 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 17:24:27.10 ] >>696 sn = Array("1月", "2月", "3月") For ii = 0 To 2 Set ws = Worksheets(sn(ii)) ws.Columns("A").AutoFilter
698 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 18:37:57.91 ] マクロを登録したボタンの名前を取得したいのですが Sub テスト() Dim Button_Name As String 'どのボタンが押されたか判断する Button_Name = Application.Caller MsgBox Button_Name End Sub このように記述すると >Button_Name = Application.Caller のところで 型が一致しないエラーがでるのですがどうすればいいのでしょうか
699 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 18:58:04.33 ] >>698 型を確認してみたら? Debug.Print TypeName(Application.Caller)
700 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 19:06:57.96 ] >>698 フォームのボタンなら問題ないけど
701 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 19:23:18.25 ] >>699 オブジェクトが必要ですと出ます
702 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 21:47:49.56 ] >>701 「出る」ってのは具体的にどういう状態なのだ?
703 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 22:19:54.80 ] Application.Caller が返すのはオブジェクト型 それをString型で受けようとするから型が一致しないと出るのは当然
704 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 22:50:01.00 ] >>703 それで、どうすればエラーがでなくなるの
705 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 22:57:09.25 ] >>704 Application.Callerのヘルプ見たら答えが載ってるから見てみて ヘルプ見て分からなければヘルプのどの部分が分からないのか質問し直して
706 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 23:05:53.77 ] >>704 エラーなんてでないよ
707 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 23:55:05.42 ] そもそも常にオブジェクト型が返るわけじゃないから。
708 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 00:56:38.28 ] >>698 のものです よく分かりませんが解決しました
709 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 05:15:01.80 ] >>707 いや常にオブジェクト型だろ VBAに戻り値のオーバーライドはないぞ ただその実体が違うだけだ
710 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 08:37:57.82 ] >>709 >VBAに戻り値のオーバーライドはないぞ Variant って知ってる?
711 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 09:13:10.66 ] どんな時にVariantが返る?
712 名前:デフォルトの名無しさん [2012/06/17(日) 09:43:05.78 ] 今からOffice買うなら2010と2007どっちがいい?
713 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 10:54:13.67 ] >>699 Stringでした
714 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 11:24:34.45 ] >>712 VBAは大差ないと思うけど2010の方が速い
715 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 13:47:11.41 ] >>711 常時。 >>713 ホントに TypeName( ) から "String" が返ってきてるのに、String 型の変数に 代入するとエラーになるの? スマン、俺の知識の範囲を超えてるわ。
716 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 14:32:47.38 ] >>715 いや、stringなので、エラーはでない。 なので、>>703 の意味がわからない。
717 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 14:47:21.28 ] >>703 は、スルーでいいと思う。
718 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 16:46:29.32 ] >>712 乗せてるCPU次第だけど 2010は64bitに対応している(VBA7.x)ので そちらの方が良いかな? あと、リボンUIって2010からだったっけ?
719 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 16:50:15.18 ] >>718 >あと、リボンUIって2010からだったっけ? 2007 から。
720 名前:デフォルトの名無しさん [2012/06/17(日) 16:52:50.25 ] >>714 >>718 PCのスペックはBF3をヌルヌルできるくらい高スペックなので問題ないです。 VBAを勉強した買ったから、情報量が多い2007が良いと思ってたけど、2010の方がUIとかの評判良さげですね 2010にします
721 名前:デフォルトの名無しさん [2012/06/17(日) 16:57:22.50 ] ちなみに皆さんVBAは独学? こうやって、わからないところはネットだけで学んだ? それとも最初は参考書に手をつけたりした? もし初心者鉄板のVBA参考書とかあったら教えて下さいな
722 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 17:47:52.44 ] >>721 ヘルプとMSDNライブラリがあれば事足りると思うよ ヘルプとMSDNライブラリで事足りなく感じれば書籍に手を出せばいい
723 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 20:07:34.90 ] Sheets("Sheet1").Range("A1").Select ↑がエラー起こすのはどうしてですか?selectもメソッドだからいけると思ったんだがいけない
724 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 20:25:00.61 ] >>723 Sheet1がないとか、あってもアクチブでないとか
725 名前:デフォルトの名無しさん [2012/06/17(日) 21:35:48.28 ] UserFormにシート上の画像を表示させたい www.asahi-net.or.jp/~zn3y-ngi/YNxv9d92.html グラフなら、ここみたいにやり方を探せたんですがこれをグラフでなく画像で出来ますか? 2003です、お願いします
726 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 22:11:52.58 ] 普通にやればいいだけじゃないの?
727 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 22:16:47.77 ] >>725 シート上の画像をイメージコントロールに貼り付ける でググれ
728 名前:デフォルトの名無しさん mailto:sage [2012/06/17(日) 23:56:12.56 ] おまえらmsdn見てないのかよ だったら俺も見ないで適当に答えるけど オブジェクトが複数あって、あるいは別マクロ経由しててApplication.Callerの対象オブジェクトが特定されてない というかそのコードだと帰ってくる型はrangeかerrorになると思うんだがどっか省略かまちがってね variantに格納して内部情報見てみたらいいんじゃね
729 名前:デフォルトの名無しさん [2012/06/18(月) 00:00:37.45 ] MSDNはどうやって見れるの?
730 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 00:03:27.98 ] PCをモニタにつなげる あ、電源入れろよ
731 名前:デフォルトの名無しさん [2012/06/18(月) 00:08:57.00 ] つなげたよ。 電源も入れた。
732 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 00:51:28.29 ] まじか、すげえな
733 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 01:11:20.86 ] >>723 エラーの内容くらい書けよ
734 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 07:55:15.46 ] >>728 ボタンに↓を登録したんだが間違ってるの? Sub テスト() Debug.Print TypeName(Application.Caller) End Sub
735 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 08:22:18.37 ] >>734 それであってるよ
736 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 08:36:57.24 ] ボタン直下ならstring だわな >>698 の書き方の時点でボタン特定出来てないだろ その時はstring じゃないんじゃね 作ったコードと同じ状況で確認しろよ
737 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 09:00:14.85 ] やってみたけど 文字列返らないんだが バージョンいくつでやってんだ、95か?
738 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 09:54:22.70 ] あってるっていってんじゃん
739 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 10:04:32.37 ] >>724 アクティブシートになってなきゃ出来ないのでしたらシートを対象にした意味がない気がしますがそういう仕様でしょうか >>766 RangeクラスのSelectメソッドが失敗しましたと表示されます
740 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 10:07:47.94 ] ↑安価ミス >>766 でなく>>733 宛てです
741 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 10:08:57.17 ] っとすまん、コマンドボタンじゃなくてマクロボタンか 普通のstring と名前が戻って来るがなあ
742 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 10:10:55.83 ] >>740 SheetsってActiveWorkbooksに対してじゃなかったか? 実行してる箇所(スコープ外)だとこけるぞ 完全参照でやるなら Application.Worksbooks(n).Workshees(n). とかだぞ VBとかからCOMでアクセスしててても使えない ちなみにSheetはチャートシート(使ってるのみたことないが) 込みだからWorksSheesのほうがいいぞ
743 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 10:21:15.19 ] >>739 セルのSelectってのはアクティブシートのみに有効なメソッドだ 但し言語仕様としては、SelectメソッドをRangeオブジェクトのメンバにしなくてはならず Rangeオブジェクトのメンバである以上、親がアクティブシートでも非アクティブシートでも 構文としては全てのRangeオブジェクトに対してSelectメソッドが有効になってしまうというだけ
744 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 12:31:01.45 ] キチガイは >結局どんなものが出てきても文句言ってるっていう気がする。 だよな。 もう、自分や自分の会社で文句でないの作れだよな
745 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 19:53:55.81 ] >>739 セルをSelectするってことは、そのセルをアクティブにする事と同じだと思えばいい Selectされているセル≒アクティブになってるいるセル
746 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 20:07:50.05 ] アクティブセル:単一セルのみに有効な処理の対象となるセル セレクトセル:複数セルに有効な処理の対象となるセル
747 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 09:57:26.89 ] どうしてもわからないのでよろしくお願いします シート1でボタンを配置してシート2のA10:D20範囲にあるオートシェイプを消したいのですが ↓のコードだと一度シート2をselectしてアクティブシートにしなければエラーになってしまいます 画面が切り替わらず(selectせず)にシート1からシート2のA10:D20範囲にあるオートシェイプを消すコードを教えてもらえないでしょうか? Dim MyShape As Shape Sheets("sheet2").Select For Each MyShape In Sheets("sheet2").Shapes If Not Intersect(Range("A10:D20"), MyShape.TopLeftCell) Is Nothing And _ Not Intersect(Range("A10:D20"), MyShape.BottomRightCell) Is Nothing Then MyShape.Delete End If Next
748 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 11:18:02.89 ] シートの切り替え自体はやらないと処理できないと思うが 見た目上の切り替えを見えなくするってことなら可能 Sheets(2).Select の前に Application.ScreenUpdating = False を入れて Next の後に Sheets(1).Select Application.ScreenUpdating = True を入れると、 画面上は切り替わらない。(実際には切り替わってるけど画面の描画はされない)
749 名前:748 mailto:sage [2012/06/19(火) 11:21:25.54 ] ごめん Sheets(2).Select じゃなくて Sheets("sheet2").Select だったね Sheets(1).Select も同様に読み替えてください
750 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 11:46:08.91 ] >>747 シートをSelectしなくても動いたよ? Dim MyShape As Shape For Each MyShape In Worksheets("sheet2").Shapes If Not Intersect(Worksheets("sheet2").Range("A10:D20"), MyShape.TopLeftCell) Is Nothing And _ Not Intersect(Worksheets("sheet2").Range("A10:D20"), MyShape.BottomRightCell) Is Nothing Then MyShape.Delete End If Next
751 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 15:20:50.46 ] selectする奴はド素人の法則
752 名前:747 [2012/06/19(火) 15:26:43.75 ] >>750 それはあなたがもともとシート2をアクティブにした状態でマクロを動かしてるからでしょ。
753 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 15:55:11.12 ] >>752 誰だよお前w
754 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 16:03:29.74 ] >>752 ド素人は黙っとけ
755 名前:747 [2012/06/19(火) 16:25:23.00 ] >>753 オレのものはオレのもの。 キミのものもオレのもの。 ノモのものはノモのもの。
756 名前:747 mailto:sage [2012/06/19(火) 16:50:03.62 ] >>752 誰だよお前 関係ないと思って書いてませんでしたがすみません 通常シート2は非表示にさせておりこのマクロを実行すると表示されるようにしていますので全文はこうなります↓ Dim MyShape As Shape Worksheets(sheet2).Visible = True For Each MyShape In Sheets(sheet2).Shapes If Not Intersect(Range(A10:D20), MyShape.TopLeftCell) Is Nothing And _ Not Intersect(Range(A10:D20), MyShape.BottomRightCell) Is Nothing Then MyShape.Delete End If Next このコードでシート2が非表示の時に実行すると「Intersect'メソッドは失敗しました'_Global'オブジェクト」とエラーメッセージがでます >>750 さんの言うみたいに通常通り最初からシート2が表示されてる時はエラーメッセージが出ないことに気付きませんでした
757 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 17:16:25.65 ] >>756 マジレスすると>>750 のコードはSheet2を非表示にしたまま問題なく動くよ
758 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 17:22:26.68 ] >>756 マジでお前うざいわ もうExcel使うな
759 名前:747 mailto:sage [2012/06/19(火) 17:23:09.99 ] >>757 なにを言っておるのだ 非表示だと動かないと言っておるのだ バカボンのパパなのだ
760 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 17:23:47.07 ] >>750 のどこをどう読んだら「通常通り最初からシート2が表示されてる時」の話だと勘違いするのだろうか。
761 名前:747 mailto:sage [2012/06/19(火) 17:24:09.23 ] >>758 なんだとこの野郎
762 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 17:25:47.68 ] なにこいつ
763 名前:747 mailto:sage [2012/06/19(火) 17:25:57.25 ] >>757 すみません>>750 さんはコードを直して書いてくれてことに気付きませんでした ありがとうごさいます無事解決しました
764 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 17:51:47.35 ] ここって何でID表示ないの?
765 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 18:19:54.08 ] >>764 スレ違いな質問です 自治スレ、もしくは運営関係の板で聞いてください
766 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 18:21:10.16 ] ID無いとなりすまして煽ってるやつが多いんだな
767 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 18:26:02.99 ] 火曜は大体こんなもん
768 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 18:28:34.16 ] 自演できねえだろ
769 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 19:21:49.38 ] IDあると自演にコスト(手間および●費)が掛かるだけで 自演出来なくなるわけじゃないじゃん
770 名前:デフォルトの名無しさん mailto:sage [2012/06/20(水) 07:55:20.69 ] >ID無いとなりすまして煽ってるやつが多いんだな 最近の2chは特にひどい
771 名前:デフォルトの名無しさん mailto:sage [2012/06/20(水) 13:44:15.47 ] 自己解決しました厨と、質問者になりすまして煽る厨はマジでいらんわ。
772 名前:デフォルトの名無しさん mailto:sage [2012/06/20(水) 13:56:47.68 ] > 最近の2chは特にひどい そうか? 2ch創設から見てきているが、どんどんマシになっていく一方に見えるけど
773 名前:デフォルトの名無しさん mailto:sage [2012/06/20(水) 17:16:13.47 ] 俺は牛の屠殺場を見たことがあるが、そこでは牛達が銃で眉間を撃ち抜かれて 殺されている。 日頃従順に人間に従っていた温和な牛たちも、順番を待って並ばされている時に そこではじめて自分の運命に気付くのだろう、日頃聞かないような悲痛な甲高い 鳴き声を絶えず出し続けている。俺は今でもその鳴き声が耳を離れない。 人間は斯くも残酷な行為を毎日何千、何万という動物達に行っているのだ。 せめてその肉を頂く時には少しぐらい感謝の気持ちをもってもいいだろう。 【屠殺場の怖さは異常】 ttp://2.ldblog.jp/archives/1058482.html
774 名前:デフォルトの名無しさん mailto:sage [2012/06/20(水) 17:59:57.10 ] 口に入れるものなのに、銃で撃つとかあたま狂ってるだろ 重金属や火薬なんかくわせんじゃねえよ
775 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 01:34:23.03 ] ちょっと聞きたいんですが、TextBoxに何もデータが入ってない場合、値はvbNullStringなの? それともEmpty?
776 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 01:47:49.35 ] 1分とかからず確かめられることを、何故確かめずにここで聞く?
777 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 01:57:29.44 ] >>776 どうやって確かめたらいいんですか?
778 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 02:41:47.19 ] TypeName使えば、Emptyは"Empty"が返り、vbNullStringは"String"が返るし VarType使えば、EmptyはvbEmptyが返り、vbNullStringはvbStringが返る
779 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 08:02:13.64 ] EmptyでないことはIsEmptyなどでもすぐに分かるよな。 ただvbNullStringじゃなく長さ0の文字列の""ということも考えられるから、そのときはStrPtrを使って調べればよい。 MsgBox StrPtr(TextBox1.Text)などとすれば"0"が返るから""じゃなくvbNullStringということになる。 ちなみにTextBoxにEmptyを代入しても""を代入しても中身はvbNullStringとなる。 TextBoxをクリアーするときは厳密にはvbNullStringをいれるのがベスト。
780 名前:775 mailto:sage [2012/06/21(木) 09:47:11.63 ] モーグ見てきたら関連するスレッドがあるけど、まともな回答者が珍しく間違ってるな。
781 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 09:51:11.59 ] >>780 775ってどういうこと?
782 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 09:53:01.67 ] 釣り質問だったんだろうか?
783 名前:デフォルトの名無しさん [2012/06/21(木) 22:01:51.25 ] EXCELでマクロを使い IEobjectの操作をしてクリック証券の発注を自動化しようと思っています 株価の入力や株数の入力は ソース内の株価の近くにある <div class="torihiki_area"><input type="text" name="jyuchuuSuuryo" maxlength="11" size="14" tabindex="8" value="" id="jyuchuuSuuryo" class="torihiki"> 株 </div> のid jyuchuuSuuryoに対して bjIE.Document.forms(1).Item("jyuchuuSuuryo").Value = VOLUME '株数 のようにすればよかったのですが 注文確定をクリックしたい場合 注文確定の文字列はソース内には無く <span id="orderButtonBlock" class="button_area_section"> <input type="image" name="" src="https://kabu.click-sec.com/sec1-6/images/orderpanel_3/order.gif" tabindex="19" id="orderButton"> </span> 近くに画像のリンクがあり objIE.Document.forms(1).Item(”orderButton").Click clickやcheckedをやってみたのですがエラーがかえってきてしまい躓いてしまいました type=imageのクリックを実行する方法を教えていただけないでしょうか submitで強引に注文できるかなと思ったのですが上の方に銘柄コード検索がありそちらの検索結果を実行してしまいました
784 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 22:27:15.80 ] >>783 その質問は一切Excel関係ないよ
785 名前:デフォルトの名無しさん [2012/06/21(木) 22:36:17.79 ] >>784 そうなんですか エクセルで実行しているので EXCEL VBAでいいのかと思ってしまいました 申し訳ありません
786 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 22:55:48.81 ] >>785 ググる時の検索キーワードから「Excel」を外した方がいいと思うよ 例えば「ie 自動化 画像 クリック」とか
787 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 04:38:56.27 ] >>785 Excelでやっているとしても、それはExcelのVBAに汎用開発環境としての機能があるからVBAでも実現可能ってだけで Excel固有の機能を必要としている訳じゃない限り、それはExcelVBAの質問ではなくスレ違い
788 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 04:42:43.20 ] >>783 そのページをよく観察して、tabキーで目的の場所に移動できるかどうかを調べて見ませう
789 名前:デフォルトの名無しさん [2012/06/22(金) 07:29:57.00 ] ★2 ExcelのVBA以外の部分に関する質問はNGです。 但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。 あえてVBAでやりたいって物に関してはOK。
790 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 07:39:51.46 ] それ、条件付き書式や入力規則みたいなのの使い方聞くのはNGだが VBA無しでExcelの機能で出来る条件付き書式や入力規則でも 柔軟性や拡張性からあえてVBAでやりたいというような場合はOKって話であって Excelに関係ないものを許容するって話じゃないぞ
791 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 08:47:16.20 ] そのレベルの自分で作ったプログラムで自動で証券を買うなんて、そんな恐ろしいことようやるわ 破産フラグ確定
792 名前:デフォルトの名無しさん [2012/06/22(金) 10:29:03.25 ] >>786 ありがとうございます 目的のものが見つかりそうです >>787 大変申し訳ないです >>791 ご発注二関しては朝の寄付の注文をするだけなので 注文履歴の確認は目視で行っています 理論的には ここ5年間手入力でやってきまて問題なく利益を出していたのですが 年齢が上がってきたせいか1日40銘柄の注文をぽちぽちキーボードとマウス操作するのがめんどくさくて、、、、、
793 名前:デフォルトの名無しさん [2012/06/22(金) 11:26:59.75 ] obj = GetObject("fuga.xls") obj.BuiltinDocumentProperties('Author').Value = "hoge" obj.Save() obj.Close() エクセルのファイルの場合、これで作成者は換わるのですが、 ワードのファイルの場合、 obj = GetObject("fuga.doc") と変えても作成者が書き換わらないです。 どうしたらワードの方も換えられますか?
794 名前:デフォルトの名無しさん [2012/06/22(金) 11:43:04.82 ] Wordも obj.BuiltinDocumentProperties('Author').Value = "hoge" を付け加えたまえ。
795 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 13:03:13.53 ] やってますよw
796 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 11:25:51.84 ] かけるかな
797 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 11:35:30.89 ] すみません質問お願いします。 フォームにマルチページを配置して、その中にフレームやボタンを配置しています。 さらにそのマルチページの下(外)にOKとキャンセルみたいなボタンを配置しています。 このときにタブを押していくと、マルチページ内のボタン>マルチページのタブの部分(Page1みたいなとこ) >マルチページの外のボタン(OKとキャンセル)>マルチページ内のボタン>繰り返し というようなタブオーダーになるんですが、このときにタブ部分に行かずに、 マルチページ内のボタン>マルチページの外のボタン>マルチページ内のボタン というようなタブオーダーにしたいとおもっているんですが、現在はマルチページのタブのCycleを2にして マルチページ内のボタンの最後のボタンでタブが押されたら、マルチページの外のボタンにフォーカスを 移動するようにしています。 ただ、個人的にこのやり方が正しいとは思えなくて、もっと普通のやり方があるような気がするんですが どうかそのあたりを教えていただけないでしょうか。 よろしくお願いします。
798 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 17:41:53.22 ] >>797 こんなのはどうかな Private Sub マルチページ内のボタン_KeyDown(ByVal KeyCode As ****) KeyCodeがTABならマルチページの外のボタン.SetFocus
799 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 17:55:27.56 ] クラスモジュールって、そんなにいいものなの? あんまり、良さを感じないんだけど。
800 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 19:22:41.38 ] >>798 レスありがとうございます。 分かりにくくてすみません。 今はそういう風にしています。
801 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 19:37:04.23 ] タブの部分にフォーカス当てたくないってことか? マルチページはそんな風に設計されてないっぽい 普通じゃない使いかたに「普通の方法」なんてないな
802 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 21:30:39.26 ] >>799 中途半端だからねぇ。 よく知らないなら、今からわざわざ覚えるようなものではないと思うよ。
803 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 23:16:28.11 ] >>801 レスありがとうございます。 たしかにおっしゃるとおり、マルチページの設計に沿っていない使い方でした。その点を理解しました。 そこで質問の内容を変えさせてください。 タブオーダーの順番を、マルチページ内のボタンを巡った後に、マルチページの外のボタン、 その後にマルチページのタブ、そしてマルチページ内のボタン、外のボタンという風に コントロールすることは可能でしょうか。 現在は、マルチページ内のボタン>タブ>外のボタンという順番で移動してしまいます。 どうかよろしくお願いします。
804 名前:デフォルトの名無しさん [2012/06/23(土) 23:17:47.02 ] Excelファイルを開いたら 指定したメールアドレスに開いた人のIPアドレスとかを 送信するようなプログラムって作れるのですかね? ちょっとわけありで、こんなのができるといいんですが…
805 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 23:37:56.02 ] >>804 メール送信マクロが組み込まれたExcelファイルを開いたタイミングでメールを送信したいのか 常駐してファイルオープンを常に監視していてExcelファイルが開かれたタイミングでメールを送信したいのか 前者ならマクロを作るのは簡単だけど確実にマクロを実行させる手段がない 後者ならExcelVBAで作るべきものじゃない
806 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 00:06:22.55 ] >>804 技術的には可能だけど 同意なしならめっちゃマルウェアやん 犯罪に加担しろと? アンチウイルスソフトにブロックされてしまえ
807 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 00:46:14.54 ] 大半の人は、実は釣り質問。 単に馬鹿な回答者がいればそれでいい。
808 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 02:51:59.24 ] >>804 質問「作れるか?」 回答「作れる」
809 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 02:56:03.50 ] メール送信というかネット関係は微妙にハードル高いよ ネットに接続されてなかった場合、外に出られなかった場合とかやり始めるときりがない ログを保存しといて、ネットに接続されたらまとめて送信とかやりたいならVBA以外でやった方がいい
810 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 05:38:17.48 ] >>804 それだけならVBSかバッチでも使ってろ 会社のPC全台調査しなくちゃいけなくなったとき、ファイル作って配布したなあ
811 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 06:52:50.55 ] >>802 やっぱりそうですか!レスありがとう。 まあ、たまにはクラスの1つも作ってみます。
812 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 09:03:01.68 ] >>811 データクラスにたいしてJavaでいうインターフェースで メソッド実装を強制する使い方とかロジックの隠蔽とかもするけど 実はVB系だと↓のコントロールに共通処理させるのが多いと思う www.excellenceweb.net/vba/class/text_filter.html
813 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 12:52:51.19 ] Excelで競馬のソフト作ろうと思ってるんだけど 疑問は 1、webから取り込んだ馬やレースなどにコメントなどつけて編集して、それを出力保存して、セル内に同じ馬名や日付とレース番号を入れたら、それを読込事みたいなことができるか? 2、例えばA1:J5の計50のセル内に色々な数値を表示しているが、ボタン一つでセルを結合して一つの表示を見せる。またボタンを押すと50の表示に戻るなんてことができるのか? Excel VBAで上のような2つのような操作ができるのかアドバイスください
814 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 12:55:56.13 ] >>813 できるよ
815 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 12:56:36.83 ] マルチ
816 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:01:22.19 ] >>813 うん。出来る。 どこのサイトから引っ張るのか知らないけど、まあ、素直に組んであれば、 どのタグで引っ張るか、多少悩めば桶。 何をアドバイスすれば、いいの?コード全部は、カンベン。
817 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:08:00.46 ] >>814 出来るのね。ありがと >>816 webクリエを駆使してwebから読み込むのは出来ている。 2の方法が悩み中。例えばこの画像の上のA1:F3には、Sheet2のA1:F3を表示しているとする。 んで、切り替えボタンを押すと、セルの結合してSheet2のA5を表示する。 んで、またボタンを押すと最初の表示に戻る。というのがやりたい場合はどうすればいいのか iup.2ch-library.com/i/i0670448-1340510590.png
818 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:14:21.04 ] >>817 セルの結合も解除もVBAで1行で書ける あとは結合や解除するたびにデータをいちいちコピーするだけ
819 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:22:55.56 ] >>818 競馬の出馬表で上の画像みたいなのが18列あるから、セル結合解除後のコピーもVBAでしたい 要するに、上をA、下をBとすると、Aを表示するAボタン、Bを表示するBボタンの二つを用意しないといけないってことかな?
820 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:31:08.76 ] 大半の人は、実は釣り質問。 単に馬鹿な回答者がいればそれでいい。
821 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 13:34:13.35 ] 詳しくいうなら、こんな感じ 表の1〜8の行には各セルに色々なデーターを読み込ませてあるが、 ボタン一つでセルを結合して違う表示をさせる。んでまたボタンを押すと最初の各データの表示に戻る。 そういうのがやりたいんだ。VBAなら出来るかなと思って iup.2ch-library.com/i/i0670464-1340512301.png
822 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 14:06:41.57 ] まさに底辺同士
823 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 14:20:11.26 ] >>821 「マクロの記録」でセルの結合や解除してコード吐き出させてみたら? 競馬のソフトって育成ゲームか?
824 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 16:50:54.89 ] >>823 んやw予想ソフトw
825 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 17:23:44.56 ] >>821 結合するくらいならシート単位で分割して、二画面表示にすればいいと思うが
826 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 17:49:02.90 ] 予想なんて時間の無駄だからよそうぜぇ ナンチッテ
827 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 17:57:35.86 ] 何法を使って予想するのか知らんが プログラムの間違いと予想の外れの見分けはつくんだろうか 質問のレベルからちょっと思ったりした
828 名前:デフォルトの名無しさん mailto:sage [2012/06/24(日) 23:46:47.61 ] 若かろうがオッサンだろうが、 「これ出来ないとお金払いませんよ、 あなたの生活がどうなろうと私には関係有りませんし。」 と言うとみんなちゃんと新しい技術をマスターしてくる。 努力しないってっことは努力する必要が無いからなんだと思う。 追い詰められていないんだろうね。 幸せなんじゃないか? どうでもいいけど。
829 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 00:05:16.06 ] >>828 その内いいことがあるさ 負けずに頑張れよ
830 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 00:07:07.23 ] 「会議」がアイデアを潰す 若手や中堅がイノベーションを生み出す新しいアイデアを出す時 立ちはだかるのがジジイどもの支配する「会議」という壁だ ・ジジイどもに理解できる企画でなくてはならない ・ジジイどもの好みに合う企画でなければならない ・既に成功した事例がなくてはならない ・ジジイどもに気に入られている人物が提案者でなくてはならない ・ジジイどもに気に入れられていない人物が関わっていてはならない ・ジジイどもの支援が不要な企画でなくてはならない ・にもかかわらずジジイどもにも活躍の場を与えねばならない ・ジジイどもの気まぐれな口出しにいつでも応じなければならない ・失敗してもジジイどもが責任をとらなくてよい企画でなくてはならない ・成功したらジジイどもの業績になる企画でなくてはならない 若い頃は前世代のおかげで繁栄したくせに、自分らの時代には経済を衰退させ そのツケを後世代に回す団塊ジジイ、バブルジジイどもが日本の病巣
831 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 16:32:43.67 ] excel2000以降ですが 実行させた時に保存するのに ActiveWorkbook.SaveAs Filename:="D:\仕切書PG\\kanriヘッダ挿入後ファイル.xls", FileFormat:=xlNormal とした時にファイル名が"02B90000"とか"73D4B100"とかになり"kanriヘッダ挿入後ファイル"と保存出来ない場合があるのは何故でしょう。 ググってみたんですが出てこないので申し訳ありませんが教えて頂けませんか?
832 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 16:38:57.18 ] >>831 ググったらこんなん出てきたけど関係ないかな? esupport.trendmicro.co.jp/Pages/JP-2064267.aspx あと、「\\」は「\」が正しいのでは?
833 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 16:52:20.44 ] >>831 サーバー上とかネットワークドライブに対してやってると Tempフォルダとか権限周りでそんなことがあったな
834 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 16:52:40.98 ] >>832 \\ではなく\です。ごめんなさい。 出力されたファイルは不明なファイルの種類って出てまして、開くと一応内部は変わらず開けます。 駆除ソフトはウイルスバスターでは無かったです。
835 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 16:55:46.39 ] >>833 ネットワークではなく個人のpcのみでDドライブ上のフォルダに保存させてます。
836 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 17:13:20.35 ] 質問 excelのシートに貼り付けてあるpictureを、bmp形式の独立ファイルとして生成する方法が知りたいです importメソッドはpictureオブジェクトには使えないし、dotNetのbitmapオブジェクトを使うのが楽かなあって思うんですが いいアイデアありますか?
837 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 18:13:27.44 ] ありますね
838 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 19:24:27.14 ] あるのか? 想像できんな・・・
839 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 19:41:26.68 ] emf wmf を参照せよ
840 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 19:42:47.35 ] >>836 Web形式で保存すれば画像データになるよ。 目的の物かは知らんけど一括で取り出したいだけなら便利
841 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 19:44:36.89 ] msdn.microsoft.com/en-us/library/dd183479%28VS.85%29.aspx
842 名前:デフォルトの名無しさん [2012/06/25(月) 20:00:43.24 ] ありがとうございました
843 名前:デフォルトの名無しさん mailto:sage [2012/06/25(月) 21:02:04.85 ] 馬鹿には無理
844 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 01:53:46.51 ] 自己解決した問題があったので勝手に忘備録としてかきこ VBAでスペース入力すると勝手に消去されてしまうor全角文字入力すると勝手に確定されてしまう。 原因:Visual studio 2012インスコして追加されるCOMアドインの「Visual Studio Tools for Office Design-Time Adaptor for Excel」 対処:上記のアドインを削除 すでにあったらごめんなさい
845 名前:デフォルトの名無しさん [2012/06/26(火) 22:10:42.87 ] 作品名 全巻数 サザエさん 全4巻 アンパンマン 全5巻 作品数が1000ぐらいあって処理に困っています。 上を下記のようにしたいのですが、どうすればいいですか? よろしくおねがいします。 作品名 全巻数 巻数 サザエさん 全4巻 第1巻 サザエさん 全4巻 第2巻 サザエさん 全4巻 第3巻 サザエさん 全4巻 第4巻 アンパンマン 全5巻 第1巻 アンパンマン 全5巻 第2巻 アンパンマン 全5巻 第3巻 アンパンマン 全5巻 第4巻 アンパンマン 全5巻 第5巻
846 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 22:13:01.14 ] ごめん、意味がわかんない
847 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 22:24:31.89 ] >>845 ループ回すだけじゃないの? 具体的に何がわからないの?
848 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 22:25:53.67 ] >>845 for文って知ってる? VBAは使える?
849 名前:デフォルトの名無しさん mailto:sage [2012/06/26(火) 22:43:57.68 ] 全n巻の数値部分を切り出してループ回せば良いだけだよな 俺も何が解らないのかが解らない まさか丸投げでコード書いてくれとか言わないよな? まあその場合は>>1 ★5だが
850 名前:845 [2012/06/26(火) 23:39:51.27 ] ありがとう、解決しました。
851 名前:デフォルトの名無しさん [2012/06/28(木) 09:49:45.56 ] 過疎
852 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 16:47:49.64 ] 質問すればスレ違いだのなんだので拒否るくせに w
853 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 17:37:37.85 ] スレ違いが拒否されるのは当然じゃね?
854 名前:デフォルトの名無しさん [2012/06/28(木) 19:27:08.73 ] スレ違いの質問だと思うならスルーすればすむのに 馬鹿の一つ覚えでスレ違いスレ違い言うから スレの勢いもとまるし雰囲気も悪くなるってことでしょ
855 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 20:26:52.48 ] スレ違いな質問に、スレ違いだと指摘を入れないでくれってのは スレ違いな質問するお馬鹿さんの自己厨な言い分でしょ でも、社会に出ればわかると思うが、世の中それではまかり通らない
856 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 22:14:23.55 ] スルーしたら、誰からスレ違い指摘するまで無駄な催促が 続くだけだよ。VBAの質問に回答できるレベルの奴なら、 スレ違い質問に回答することの弊害くらい解ってるから、 スレ違い指摘が無くなったからと言って、スレ違いな質問に 回答が付くようになるわけではない。
857 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 22:29:06.77 ] スルー無視で催促質問するような連中はスレ違いを指摘したところでどうにもならんと思うんだ。 ちょうどつい最近もExcel総合質問スレでおかしな馬鹿が粘着して暴れたところだが、 ああいう連中は何言っても無駄だから結局スルーが一番ってことだと思う。
858 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 00:14:59.12 ] Excel2000での質問です。 ワークシート上に配置したチェックボックスの内容をOLEObjectプロパティで取得して集計するというマクロを組んだのですが、 チェックボックスの数が1200個を越えたところでオートメーションエラーが発生しマクロが動作しなくなりました。 チェックボックスの追加自体は可能なのですが、それらをVBAで操作することができません。 ワークシート上のコントロールの数には上限があるのでしょうか? また、回避する手段はありますか?
859 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 00:26:34.49 ] >>858 仕様に関することはMSに問い合わせないとわかんないと思うよ 他の人に試してもらいたいんだったらせめてブックをアップしないと
860 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 00:57:10.74 ] >>858 わからんけど、分割してみたら?
861 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 00:57:38.36 ] >>859 ファイルは会社なのでアップは出来ないです。 コントロールを1000個以上配置するような状況は見たことが無かったのでさすがに無理ですかね やはり仕様ですか・・・ 何か別の手段を考えてみます。 レスどうもでした。
862 名前:858 mailto:sage [2012/06/29(金) 01:08:34.33 ] >>860 恐らく上限はシート毎だと思うので分割すればいけると思います。 それしかなさそうですね
863 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 02:46:39.85 ] >>858 2003で確認してみたけど、1208個以上になるとエラーになるね でも他の人の指摘通り、別シートにすればまた1200個は作れるから 分散すればどうにでもなる どうしても分散したくないなら、おそらく行単位でチェックボックス作ってるとかだろうから Aに列挿入して、A列の書式を「"☑";;"□"」にして Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub ActiveCell.Value = IIf(ActiveCell.Value = 0, 1, 0) ActiveCell.Offset(, 1).Activate End Sub なんてコードを入れてやると、擬似的なチェックボックスみたいになる 仕様としては、A列に1(というか正数)が入力されると「☑」が表示され 0だと「□」、その「1 <-> 0」「☑ <-> □」をセルをクリックする度に上記マクロが 切り替えてくれる あとは For i = 1 To 5000 If Cells(i, 1).Value <> 0 Then '・・・・・ Next i って感じで、チェック入ってる行の取得や操作ができる
864 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 18:13:53.18 ] >>854 良く見ると「スレ違い」って言ってる奴は一人も居ない その心は、皆単に「>>1 嫁」って言ってるだけなんだよ >>1 にスレの趣旨とスレ違いの定義が書かれており、 それを読んでない奴に当然の指摘をしているだけで 個人の尺度で勝手にスレ違いを定義してスレ違いだ なんだと言ってる奴は見あたらない ついでに言うと、その当然の指摘がなされたことによって 勢いや雰囲気が害された感は全く無いね 見なよ、スレ違いじゃない質問への迅速で真摯な対応
865 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 22:12:13.82 ] まだ続けるのかww
866 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 06:50:06.87 ] ヒマだし
867 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 04:29:13.72 ] でもそんな1000個以上あるチェックボックス見るのも嫌だな どんな嫌がらせだ
868 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 11:32:20.19 ] チェックボックスってマウスが上空を通り過ぎるときに 誤動作で勝手にクリックされたことになってチェックされたり外れたりするよね ヒューマンインターフェースとしては最悪な部類だと思う
869 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 11:43:58.14 ] 誤動作までチェックボックスのせいなのか、色々大変だな。 て言うか、そんな誤動作見たことないが。
870 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 12:18:46.57 ] 誤動作じゃなくて誤操作なwww