[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 09:57 / Filesize : 123 KB / Number-of Response : 389
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

●EXCEL・VBAの教えてスレ Part2●



1 名前:デフォルトの名無しさん mailto:sage [2007/01/09(火) 11:14:15 ]
・まじめにExcelの機能を追及してみようと思う奇特なひと
・スキルがないのに無理やりVBAの仕事を押し付けられた普通のひと
・VBAなんていまさらやりたくないのに業務で仕方なく使っているひと
・とにかく漏れにこんな仕事まわすなと怒っているひと
そんなM$大好きなひとからアンチM$なひとたちまで幅広くカバーするスレです

OOoのCalcの質問もOKです

前スレ
pc10.2ch.net/test/read.cgi/tech/1054356121/


21 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 22:49:19 ]
ヤフーのサイトを使って
セルに名入力された名称から株や証券のコードを検索、取得したい
データ取得のwebクエリ使うとなぜか関係ないコードを取得してしまう
vbaを使ってhtmlをexcelで開いてそこからコードを引っ張ろうと思う
shift-jis→url文字列(euc)の変換は上手くいってるのだが
Workbooks.Open FileName:=f_name
の形式で開くと文字化けしてしまう(urlに渡している文字列が)
楽天はOKだったけどミツウロコはミツウ・然ってなっちまう

f_nameの文字列をコピーして
ブラウザのアドレスバーに入力すると
正常に検索結果画面が得られる

助けて〜

22 名前:21 [2007/01/13(土) 23:35:12 ]
age

ttp://quote.yahoo.co.jp/l?s=名称
でその名称を含んだコードが取得できる

webクエリの方法かopenする方法
ご存知の方、教えてください

23 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:53:01 ]
excel VBAでシート上のテキストボックスを全部取得したいのですけど、
worksheets.shapes(i).textboxes
で i で ループさせるとどうしてもあるインデックスだけ
エラーになってしまいます。

何が考えられますか?

24 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 02:25:28 ]
HasTextFrameプロパティ?


25 名前:デフォルトの名無しさん [2007/01/14(日) 12:56:30 ]
こんにちわ。
for文なんですが、たとえば
for i = 2 to 3 and 5
for j = 1 to 3
strAns(j)= cells(1,i).value
next
next
で、2,3,5がA,B,Cだとして、strAnsにA+B+Cを表示させたいのですが出来ないんです
2,3,5が数値なら出来るのですが、どなたか助けてください。

26 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 14:01:32 ]
cells(1,1)
range("A1")
range(cells(1,1))

は同じセルを指す

27 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 14:37:04 ]
>25
文字列を連結するときには”+”じゃなく”&”を使うって事は理解できてるのかな。

28 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 17:29:22 ]
>>25
はい。+1は。
表示させたいのは”ABC"なんです。

29 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 17:31:44 ]
>>25
書き込みまちがえました
&を理解してませんでした。



30 名前:デフォルトの名無しさん [2007/01/14(日) 17:49:15 ]
&を使ったら表示できた

安堵する

by 安藤

と思ったらアンドゥしてしまいました

ヌあんだと

31 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 01:22:31 ]
>24
ありがとう。そんなのがあったんですね。
チェックせずに回してた。

32 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 20:31:23 ]
>>31
excelにはない罠

33 名前:デフォルトの名無しさん [2007/01/16(火) 00:50:35 ]
0から10までの偶数の合計を表示させるには
どうしたらいいかわかる人いますか?


Sub 合計()
Dim intcount As Integer
Dim inttotal As Integer
For intcount = 0 To 10 Step 2
MsgBox intcount

Next
End Sub

これだと0から10までの偶数が並べられるだけで足されません。

34 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 04:25:46 ]
Sub 合計()
  Dim lngCount As Long
  Dim lngTotal As Long

  For lngCount = 0 To 10
    If (lngCount Mod 2) = 0 Then
      lngTotal = lngTotal + lngCount
    End If
  Next lngCount
  MsgBox lngTotal
End Sub

35 名前:デフォルトの名無しさん [2007/01/16(火) 10:05:07 ]
こんにちは。質問させてぐださい。
アンマネージのC++で作成したDLLを呼び出したいのですが、
VBAでプロトタイプ 宣言する時に、DLLのパスを指定しますよね。
普通、絶対パスか環境変数でPATHの通っているところにDLLを置きますが、
このパスをエクセルファイルを基準に相対パスで指定したいのですがなかなか上手くいきません…。
そもそもこれって可能なのでしょうか?
あともう一つ、VBAの参照設定に参照したいDLLを登録しても、結局絶対パスにしなければいけないのは変わらないですよね…。

やりたいことを要すると、
エクセルファイルと同じディレクトリにDLLを置いていれば、
どこにそれらを置いても動作してくれるようにしたいのです。

VBAを動作させる環境はEXCEL2000です。
変なこと言ってるかもしれませんがよろしくお願いします…。

36 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 10:20:35 ]
ブックのパスを取得する方法も知らないの?

37 名前:35 [2007/01/16(火) 10:35:20 ]
>>36
回答ありがとうございマッスル
VBAのコードを実行させたときにブックのパスを取得する方法はわかるんですが、
プロトタイプ宣言時にブックのパスって取得できるんでしょうか?

38 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 10:54:07 ]
うん
まぁがんばれ

39 名前:35 [2007/01/16(火) 11:34:41 ]
Private Declare Function TestSub(ByVal InputPath As String) Lib "Test.dll" As Integer

で、TestSubを呼び出す前に

ChDrive ActiveWorkbook.Path
ChDir ActiveWorkbook.Path

をして

TestSub("test")

で行けました。
ありがとうございました。



40 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 19:17:49 ]
For i to 〜〜 Next で、1つの行のセルの値をひとつずつ取得して変数に代入したいのですが、
Forで使っている i をセルの位置を指定する数字として使用するにはどうすればいいのでしょうか?

(変数)=Range("A"i).Value や
(変数)=Cells(i , 2).Value と試してみたのですがダメでした。


41 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 19:29:40 ]
> (変数)=Range("A"i).Value
は文法的に間違ってるから当然ダメだが、
> (変数)=Cells(i , 2).Value
はB列のi行を取得できるはずだが。

ダメならちゃんとブック、シートも指定してみろ。
それらを表略した場合の動作は、コードを書いたモジュールによって異なるからな。

42 名前:40 mailto:sage [2007/01/16(火) 19:45:06 ]
>>41
レスありがとうございます。
やはり Cells(i,2).Value でもエラーが出ました。一応プログラムを載せてみます。
Sub count256()

Dim i As Integer
Dim a As Integer
Dim b As Integer
Dim c As Integer

c = 0
For i = 2 To 1883
a = Cells(i, 3).Value
b = Cells(i, 4).Value
If a >= 256 Then
If b >= 256 Then
c = c + 1
End If
End If
Next i

Cells(7, 1).Fomula = c

End Sub

ブックとシートの指定はどこでやればいいのでしょうか?

43 名前:40 mailto:sage [2007/01/16(火) 20:07:03 ]
すいません、ただたんに変数宣言でInteger と Double を間違えているだけのようです。
エラーがセル指定のところだったので勘違いしていました・・・

44 名前:デフォルトの名無しさん [2007/01/16(火) 22:15:17 ]
VBEをVBAから弄るためにはどうすればいいですか?

45 名前:45 [2007/01/17(水) 16:33:10 ]
EXCEL-VBAのマクロでソルバーを起動、計算させるコードを書こうと思っています。
(Microsoft Excel 2000)
「参照設定」で「solver.xls」を読み込んだ後、プロジェクトウィンドウ欄に「solver.xla」
が出てきたのでダブルクリックしたのですが、「パスワードを入力してください」というメッセージが
出てきてコードを表示できません。
もともとここをいじらずにVBAプロジェクト上でソルバー起動のコードを書くのでしょうか?
教えてください。



46 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 16:47:52 ]
標準で付いてくるソルバーはワークシート上で使うものであって
VBAで使うものじゃないからな。当然コードは非公開。

47 名前:45 [2007/01/17(水) 19:05:33 ]
>>45
なるほど
プロジェクト上でフツーにコード書いたらソルバー動かせました。
ありがとうございました。

48 名前:デフォルトの名無しさん [2007/01/19(金) 15:50:11 ]
どなたかバブルソートのプログラムを教えて頂けないでしょうか?
(例えば5つの数字を小さい順に並べ替えるというもの)

49 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 16:06:29 ]
>>48
Web上にサンプルコードが転がってるだろ



50 名前:デフォルトの名無しさん [2007/01/19(金) 16:18:56 ]
Visual Basicで出力結果をExcelで表示させるプログラムを教えて下さい。

51 名前:デフォルトの名無しさん mailto:sage [2007/01/19(金) 16:21:57 ]
>>50
VBプログラマ質問スレ(6.0以前) Part50
pc10.2ch.net/test/read.cgi/tech/1161517193/

52 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 12:32:43 ]
どっかの宿題スレで見たぞ
マルチじゃないのか?


53 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 23:18:46 ]
コンボボックスに複数のセル範囲の値をリスト表示させるには
どうしたらいいの?
ListFillRangeプロパティに指定しても受け付けてくれない。


54 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 23:37:48 ]
>>53
AddItemで入れてきゃいいじゃん。
コンボボックスってのは元々コードでアイテムを設定するものだから。

55 名前:エクセル楽しい♪ [2007/01/22(月) 01:22:42 ]
ExcelVBAでWindowsMediaPlayer9を制御したいのですが、命令がわかりません。
おわかりになる方はお教えいただければ幸いです。

◆やりたいこと
ユーザーフォームのテキストボックスにテキストを入力して、
「画像表示」ボタンを押すと、テキストに対応する動画像が表示される
ようにしたい。

◆困っていること
ユーザーフォーム上でテキストを入力して、「画像表示」ボタンを押した後、
さらに、同じくユーザーフォーム上のWindowsMediaPlayerの画面の「再生」
ボタンを押さないと再生できない。
「画像表示」ボタンを押せば再生できるようにしたい。

◆状態
ユーザーフォーム上に、「ツール」→「その他のコントロール」で
WindowsMediaPlayerを埋め込んでいます。
そして、フォームのコードを下記のように書いています。
Private Sub cbGazouhyouji_Click()
  〜中略〜
With main.WindowsMediaPlayer
.URL = "C:\XXXXXX\" & XXXX & ".MOV" ←ここまでは正常に動く
'.status = "再生中"        ←ここが違っているようです
End With
  中略
End Sub

◆条件
ExcelVBAだけでできることが希望です。他にツールや高度な技術が必要な
場合は、できないということで結構です。

56 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 03:39:32 ]
無限ループになったらどうすればいいですか?
タスクマネージャで終了させたらコードが全部

57 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 03:45:55 ]
無限ループさせなきゃいいだべさ
保存してから実行すればいいだべさ

58 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 04:25:20 ]
Escキー押してみるといいだよ

59 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 04:49:47 ]
Ctrl+Break



60 名前:デフォルトの名無しさん [2007/01/22(月) 16:33:48 ]
ボンボボックスってなんですか。

61 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 17:07:51 ]
>>55
スレ違い

62 名前:デフォルトの名無しさん [2007/01/23(火) 08:53:19 ]
すいません画像の色情報に関して質問なんですが

今はApplication.CommandBars("Picture").Controls.Item(12).Executeを出して
手動で透明にしてから
色情報 = Selection.ShapeRange.PictureFormat.TransparencyColor
を出しています。

これを自動で透明にしたいのですがどうやればいいのでしょうか?

63 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 09:26:33 ]
>>62
普通に

64 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 18:46:06 ]
>>63
Win32APIのGetPixelで解決しました。ありがとうございました。

65 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 01:02:18 ]
初心者すぎる質問ですが;
セルの数値を +1 するようなマクロを、マクロボタンに登録して、マクロボタンをクリック
する度に、セルの数値を増加させるというようなマクロってどう書けばいいの?

66 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 01:11:42 ]
>>65
マクロボタン作って

Private Sub CommandButton1_Click()

Cells(1, 1) = Cells(1, 1) + 1

End Sub

でおk

67 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 01:20:06 ]
できました
ありがd

68 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 11:49:50 ]
ExcelVBAで、TextBoxの中にある文字列をShift+Enterで改行した時、
TextBox内の上の行と下の行との間隔を設定する方法、ご存じの方おられませんか?


69 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 11:56:52 ]
>>68
それはTextBoxの領分ではなくRichTextBoxの領分だ
ちゃんと目的にあったコントロールを使おう



70 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 13:48:02 ]
>>69
解答ありがとうございます。
早速調べてみたのですが、現在の環境WinXP・Excel2000(VBA6)では
Microsoft Rich Text Box Controlが無いようです(参照設定の中にありませんでした)

何か他の方法ないでしょうか?
お手数お掛けします


71 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 14:13:15 ]
>>70
「参照設定」ではなく「その他のコントロール」だぞ
いったい何を調べてるんだか┐(´ー`)┌

そこにも無ければ導入すればいいだけの話

72 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 14:49:55 ]
>>71
何度もすみません・・・orz

「その他のコントロール」が押せません
何か間違ってますか?

73 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 14:54:18 ]
当然ツールボックスを表示した状態じゃないと押せないけど

74 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 15:00:18 ]
なんか次は

RichTextBoxでの行間設定はどうやるんですか?

とか言い出しそうだな
先に言っておくが、そのくらい調べられない奴はVBA使うな

75 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 15:01:18 ]
>>73
フォームをわざと挿入し、ツールボックスを表示したところ
無事その他のコントロールが触れるようになり、RichTextBoxコントロールの追加に成功しました。

本当にありがとうございました!

76 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 15:01:58 ]
>>74
行間設定もきっちりできました、ありがとうございました

77 名前:デフォルトの名無しさん [2007/01/25(木) 20:44:26 ]
すげー!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


今まで
「エクソーメァクーロ(英語は発音大事)なんか組めてもC++にゃかなわねえんだよ」
と思ってたわけだが、
マクロ組んでやると存外にも仕事場での受けがよい。


78 名前:デフォルトの名無しさん [2007/01/25(木) 20:47:40 ]
=(A1,A2)
とかするじゃない

こげなもんば、大したことなかったい。
が、見てみい。
「ほー!!!!!!!!!!!!!!!!!!!!!!!!!! 便利なもんさ!!!!!!!!!!!!!!!!!」

とか喜んでくれよる。
こらすごか。

79 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 06:41:08 ]
数百個のチェックボックスを一列に配置したとき
for i= 〜to 〜文の中で「i」番目のチェックボックスの値を取得するのは
どうしたらいいんでしょうか?
例えば
for i = 1 to 300
if = 「i」番目のcheckbox= true then
cells(i,2).value=cells(i,2).value+1
end if
next i
というようにしたいんですが
ヘルプやらググルやら見てみたんですが
分かりませんでした




80 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 07:47:17 ]
>>79
VBならコントロール配列使うところだが、VBAのコントロールではコントロール配列に出来ないので、
連番名(標準のCheckBox1, CheckBox2, …で良い)にしておいてControlsコレクションを使う
Controls("CheckBox" & i)
イベントも取りたい場合はクラスで疑似コントロール配列を実装する

つーか、何百個ものチェックボックスを配置するインターフェイスを見直した方がいいと思うけどね
予測するに、ListBoxを
ListBox.MultiSelect = fmMultiSelectMulti
ListBox.ListStyle = fmListStyleOption
と、「複数選択可 & チェックボックス有り」で使えば済む話なんじゃないの?
ListBox.Selected(i)でチェック状況取得できるし

81 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:26:09 ]
テキストを読み込みたいんです。

123 123 123 123
123 123 123 133

みたいなのは Line #で読めたんですけど

123 123 132 123 123↑123 123 132 123 123↑・・・

こういうデータは読み込めません。↑は何なのか、わかりません。
改行されてないデータはどうしたら読み込めるんでしょう?

検索しようにも↑の記号の読み方がわかりません。お手上げです。

82 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:40:22 ]
>>81
> ↑は何なのか、わかりません。
お前は解るはずだ。というか調べる手段があるはずだ。
それが何なのかはバイナリエディタで見れば一目瞭然だからな

逆にこっちがわかんねーっつうの。
文字としての↑(81 AA)だってならわかるが、Line #で読めないってことは 81 AA では無いわけで
特殊文字の表現記号ならエディタによって表示が異なるので、お手上げです。

83 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 23:45:40 ]
↑は本当はもっと横につぶれたような形をしており

コピーしてペーストすると消えてしまう謎の文字です。

バイナリエディター・・・?

調べてみます。

84 名前:79 mailto:sage [2007/01/27(土) 11:00:26 ]
>>80
さっそくの回答ありがとうございます
ですがcontrols("checkbox"&i)ではエラーになりました(subまたはfunctionが見つかりません)
もしかしてワークシート上に直接配置したcheckboxだとダメですか?

実際には900行×20列の表(900人分顧客データみたいなもの)
から今回対象になる人を範囲でえらび(100番目から200番目等)
さらにその中から対象から外したい人を最左列に配置したチェックボックス
で選択して残った対象者だけで別の表を作成するというようなプログラムを組みたかった
のですが、リストボックスの方法だとちと選びづらいです
>>つーか、何百個ものチェックボックスを配置するインターフェイスを見直した方がいいと思うけどね
 おっしゃる通りですね(´・ω・`)

素直に左端に1か0を入力することで判別する方がいいかもです
チェックボックス900個も置いたらめちゃくちゃ重くなったし
 
 




85 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 11:50:41 ]
>>84
シート上ならOLEObjectsコレクションだ
objSheet.OLEObjects("CheckBox" & i).Object.Value

Shapesコレクションからも辿れるけどね
objSheet.Shapes("CheckBox" & i).OLEFormat.Object.Object.Value

> 素直に左端に1か0を入力することで判別する方がいいかもです
の方法でも、表示形式を [=0]"";[=1]"●" とかにすれば解りやすいし

' A列をダブルクリックしたらチェック反転
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Target.Column <> 1 Then Exit Sub
  Target.Value = 1 - Target.Value
  Cancel = True
End Sub

' A列を含む範囲を右クリックしたら、その範囲全てのチェック状態を、選択範囲の一番上を基準に反転
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  If Target.Column <> 1 Then Exit Sub
  Target.Resize(, 1).Value = 1 - Target.Cells(1).Value
  Cancel = True
End Sub

などを使えば、マウスでチェック状態の切替が出来る
●の変わりに☐☑を使うことも可能
Range("A:A").NumberFormat = "[=0]""" & ChrW(9744) & """;[=1]""" & ChrW(9745) & """"

86 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 15:05:41 ]
>>81
何らかの制御コードだろ。そのテキストを作った香具師に聞けば?
#なんとなく、改行コードの問題な希ガス。

87 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 16:18:50 ]
VBAの命令の意味と
記述方法が書いてある辞典的なページってありませんか?



88 名前:デフォルトの名無しさん mailto:sage [2007/01/27(土) 16:43:58 ]
>>87
付属のVBAヘルプ

89 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 02:19:41 ]
do Until xxxx <> vbnullstring
のときの
<>っていうのはどういういみですか

=とは違うの?



90 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 02:23:31 ]
>>89


91 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 02:50:28 ]
>>89
=とは逆の意味

92 名前:デフォルトの名無しさん [2007/01/28(日) 09:27:17 ]
excelのVBEを開こうとすると、VBEを開けるどころかexcelそのものが閉じてしまいます。
ウィルススキャンをしたところウィルスに感染はしていませんでした。

OS:Windows2000でexcelはexcel2000です。ちなみにwordのVBEは普通に開けます。

どうすれば正常にVBEが開けるようになれば良いのか、よろしくお願いします。

93 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 09:30:28 ]

do Until xxxx <> vbnullstring

do While xxxx = vbnullstring

同じ意味と考えてもいいですか?


94 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 09:51:59 ]
>>92
とりあえずブックを全て閉じた状態で試していないならブックを全て閉じてからVBEを立ち上げろ
同じく、アドインも全て外した状態で試してないなら一度全て外せ
それでダメならExcel(Office)の再インストール
上書きインストールではなく一度アンインストールしてから再インストールね
それでもダメならOS再インストール

まさかこの板に来る奴が再インストール出来ないとか面倒とかは言わないだろ

>>93
結果は同じだけど意味は違う

95 名前:92 mailto:sage [2007/01/28(日) 10:01:56 ]
>>94
ご返信ありがとうございます!

一応Officeの再インストールは既に行いましたが、駄目でした。

ちなみにVBEのみの起動はどうすればよいのでしょうか?

やっぱりOSの再インストールしかないんでしょうかねぇ。。。

96 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 11:28:10 ]
>>95
まぁがんばれ

97 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 14:31:36 ]
EXCEL2000で
イベントプロージャー「テキストボックス名_Change」を作成したいのですが

図形作成→テキストボックスで
テキストボックスを作成したのですが

右クリックしてもコードの表示は出ません。(本には書いてあるのですが)
2000だと他の方法にしないといけないのですか


結果として
Private Sub TextBox1_Change()
をかくようにしたいのですが

98 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 14:36:44 ]
>>97
今2000で試したけど、ちゃんと出たよ。

99 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 15:04:36 ]
コントロールツールの方だと「プロパティ・コードの表示」がある
フォームコントロールの方だと「マクロの登録・コントロールの書式設定」がある

イベントが使えるのはコントロールツールの方
右クリックして「マクロの登録・コントロールの書式設定」が出るなら、間違った物使ってるだけ
「プロパティ・コードの表示」も「マクロの登録・コントロールの書式設定」も出ないならPCを窓から投(ry



100 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 15:05:38 ]
できましたあああ。ありがとうございます!
ですが最終的にこっちの方法を採用させていただきました。
>表示形式を [=0]"";[=1]"●" とかにすれば解りやすいし

> A列をダブルクリックしたらチェック反転
>Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
>  If Target.Column <> 1 Then Exit Sub
>  Target.Value = 1 - Target.Value
>  Cancel = True
>End Sub

大変有益なご教示大感謝です

101 名前:79 mailto:sage [2007/01/28(日) 15:06:46 ]
ミスッタ_| ̄|〇
上の100は>>85さんへのレスです

102 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 15:10:48 ]
>>98
>>99
できました
フォームコントロールの方で書いてましt

103 名前:102 mailto:sage [2007/01/28(日) 15:11:19 ]
ありがとうございました


104 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 18:28:12 ]
vista.crap.jp/img/vi6997563313.jpg

105 名前:83 mailto:sage [2007/01/28(日) 19:38:04 ]
矢印の正体はLFってやつでした。chr(10)とやらなんやら

なるほど・・・CR+LFじゃないとダメ・・・

まだ読み込めないけど、手がかりはつかめたんで頑張ってみます。

106 名前:デフォルトの名無しさん [2007/01/28(日) 21:47:19 ]
2007ってデフォルトフォーマットではマクロは保存できないんだな、店頭デモ機で試してみたんだが
VBAは後方互換で残ってるだけなの?

107 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 00:23:36 ]
>>106
オプションで開発タブをリボンに表示するにチェックを入れると使えるよ

108 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 15:41:15 ]
べき算って
2の2乗=4
3の3乗=27ってことですか?

109 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 16:32:45 ]
冪乗とはいうけど冪算とは余り言わない希ガス。



110 名前:デフォルトの名無しさん [2007/01/29(月) 21:56:03 ]
今ExcelのマクロはほとんどVBAになっちゃってるけど、ブックにシートを追加するときに
Excel4.0のマクロシートが残ってることがわかる。やってみたいけど、誰かマスターする
方法おしえてくれないかな?解説書は売り切れてるしネットでも見当たらない。せっかく
残ってる機能だから眠らせておくのは惜しい。

111 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:29:47 ]
2列のセルの文字列を一つにすることは可能?

セルA  セルB
桃     太郎    =桃太郎

112 名前:デフォルトの名無しさん [2007/01/29(月) 22:54:34 ]
>>111
可能だ。=CONCATENATE("桃","太郎")とすればいい。
セルA=桃、セルB=太郎なら、=CONCATENATE(セルA,セルB)でもいい。
セルが3つ以上でもやり方は同じだ。

113 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 00:00:45 ]
>>112
それのどこがVBA?
このスレ的にはVBAで応えるべきなんじゃないのか?

114 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 00:51:21 ]
Word/VBAの教えてスレはどこ?

115 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 00:53:40 ]
ありがとうございます



116 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 16:21:57 ]
すみません、ちょっと教えて下さい

マクロで、指定したセルにチェックボックスを作ったり、削除したりするには
どう書けば良いのでしょう?
VBA駆け出しで、全く分かりませんorz

117 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 18:12:08 ]
>>116
マクロの記録を録ってみろ

その記録されたコードを見てわからなければお前にはまだ早い
精進して出直せってことで

118 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 22:59:22 ]
>>116
表示→ツールバー→VISUAL BASIX
出ないことを祈る

119 名前:デフォルトの名無しさん [2007/01/30(火) 23:05:19 ]
>>111
>>112を転用で、
Application.WorksheetFunction.CONCATENATE(セルA,セルB)

VBA的に
セルA.value & セルB.value 又は セルA.value + セルB.value
&だと文字列+数値が可。+だと不可
CStr(数値) + 文字列だと文字列として結合

>116
作るのは>>117の言うとおり。
ぐぐるなら[OLEObject]もしくは[Shape]
削除はデザインモードじゃないときにやるとエクセルが壊れる。
デザインモードでなら.Deleteとか.Cutで消える。

中途半端だがかんべん。



120 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 23:55:15 ]
はじめまして、早速一つお聞きしたいことがあります。
Function関数において最終的に表示される文字列を、
「その関数を使ったセルとは別のセル」に表示させたいのですが
どのような式を打ち込めばよいでしょう?

121 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 00:09:06 ]
>>120
Sub abc()
Dim str As String
str = test
Worksheets("Sheet2").Range("A1").Value = str
End Sub

Function test() As String
test = "返り血"
End Function

こういうこと?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<123KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef