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


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

Excel VBA 質問スレ Part27



1 名前:デフォルトの名無しさん mailto:sage [2012/11/25(日) 20:19:47.50 ]
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 質問スレ Part26
toro.2ch.net/test/read.cgi/tech/1345363310/

76 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 08:06:00.76 ]
セルに入力させるにあたって、1又は9以外を入力させたくないんですが、そういうことって出来ますか?

77 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 08:17:19.22 ]
>>76
VBAではないが
セルに入力規則を設定して
マウスで候補を選ばせるのはどう?

78 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 09:06:41.20 ]
>>77
入力規則のこと忘れてました^^;
それが良いですね。ありがとです

79 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 09:11:06.92 ]
>>76

>>77の方法が一番簡単だけど、
どうしてもVBAでやりたかったら対象のシートにこんなマクロを設定してみる。
特定のセルのみの設定なら修正が必要。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim tmpRange As Range
For Each tmpRange In Target
If tmpRange.Value <> 1 And tmpRange.Value <> 9 Then
tmpRange.Value = ""
End If
Next
End Sub

80 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 09:34:57.53 ]
>>79
ありがとう。今やってんのはC3セルのみなんで

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False

If Target.Address = "$C$3" Then
If Range("c3").Value <> 1 And Range("c3").Value <> 9 Then
MsgBox "値は1,9のいずれかのみ 訂正!", vbOKOnly
End If
End If
Application.EnableEvents = True

End Sub

という事にしました。入力規則も簡単で良いんですが、VBAの勉強も兼ねて^^;

81 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 11:28:36.00 ]
そりゃだめだC3を含んだ複数セルをコピペした場合そのチェックは動かない
targetをFor EachしてC3セルだった場合にだけチェックするように書き換えないと
これはVBA以前の問題で全てのケースを洗い出す想像力大切よ

82 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 12:17:58.08 ]
チェンジ かつ 固定セルなら

V = Range("$C$3").Value
If V <> 1 And V <> 9 Then MsgBox "$C$3 is 1 or 9 only.", vbOKOnly

でいいじゃん入力規則でいいじゃん

83 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 12:28:30.43 ]
入力規則の方が高速でいいよな

84 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 13:52:56.94 ]
人間が介在する作業で高速もクソもないだろ
どうがんばっても人間の指の方が遅いんだから



85 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 20:37:23.52 ]
スループットは確かに人間が介在したらそこがネックになるけど
操作する人間に対するレスポンスが早いか遅いかって話で、操作性の問題だな
人間の感覚でとらえられないぐらいの差ならどうでもいい

86 名前:デフォルトの名無しさん [2012/12/01(土) 21:08:25.23 ]
VBA で

c:\test\ を

c:\test

という具合に末尾の \ を削除したいのですがどうすれば末尾の特定文字を削除する事が出来ますか?

87 名前:デフォルトの名無しさん [2012/12/01(土) 21:13:58.31 ]
自己解決


left でいけた。いkぅぅう

88 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 21:51:02.08 ]
>>80
それだけのためにマクロ入れたらxlsmにするとかマクロ有効にするとかで嫌がられないか?

89 名前:デフォルトの名無しさん mailto:sage [2012/12/01(土) 21:51:36.03 ]
leftってまさか、なんでもかんでも一文字削ってるんじゃ…

90 名前:デフォルトの名無しさん mailto:sage [2012/12/02(日) 14:47:52.43 ]
HTTP/HTTPSで通信を行い、JSONPのデータをデコードして
セルに書き出すようなExcelVBAのサンプルなどはございますでしょうか?

よろしくお願いいたします。

91 名前:デフォルトの名無しさん mailto:sage [2012/12/02(日) 15:03:44.97 ]
そんなCOMはねえな

92 名前:デフォルトの名無しさん mailto:sage [2012/12/02(日) 15:06:15.54 ]
と思ったらJScript使えばそのままいけるのか
「vba HTTP/HTTPSで通信を行い、JSONP」でぐぐれ

93 名前:デフォルトの名無しさん mailto:sage [2012/12/02(日) 15:49:07.67 ]
>>92
ありがとうございmす、さっそくググってきます!






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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