Excel VBA質問スレ Part12at TECH
Excel VBA質問スレ Part12 - 暇つぶし2ch493:デフォルトの名無しさん
09/08/15 17:49:02
>>487
ヒント

range ( , )
columns(3)
columns(c)
.select

494:デフォルトの名無しさん
09/08/15 18:06:48
>>493
492ですができました。
勉強になりました。
ありがとうございます。

495:デフォルトの名無しさん
09/08/15 18:16:48
マクロの記録をすると
Columns("C:E").Select
ってでてくるよ

>>492
"3:" & c
&は文字の結合だから

496:デフォルトの名無しさん
09/08/15 18:19:09
Columns("3:5").Selectって記録マクロでできるか?
Range("3:5").SelectとかRange("3:5").Selectならわかるが、Columns("3:5")は動かんなぁ。
記録マクロが動かんマクロになるわけないと思うが。


497:デフォルトの名無しさん
09/08/15 18:20:03
493で答え出とるがな

498:デフォルトの名無しさん
09/08/15 18:20:14
すまん、Range("3:5").SelectとかRows("3:5").Selectの間違い。

499:492
09/08/15 18:22:07
すいません。
僕のは間違えです。

500:486
09/08/15 19:17:25
>>495 へのレス
>>490 >>495 は同一人物だと仮定してレスします 別人だったらすみません。

  >>490
   >マクロの記録には、
   >Columns("3:5").Selectと出てきます。

  >>495
   >マクロの記録をすると
   >Columns("C:E").Select
   >ってでてくるよ

なんかレス番によってマクロの記録結果が違っているのですが....
Columns("3:5").Select って本当に記録された?

501:デフォルトの名無しさん
09/08/15 20:07:43
ヒント 列と行を広辞苑で調べてみようっ!


502:デフォルトの名無しさん
09/08/15 21:34:46
オブジェクトやプロパティやメソッドの検索の基本的なやり方を教えて頂きたいです。

オブジェクトブラウザ
インテリジェンス
ウォッチ
ヘルプ、MSDN、Google

等々ありますが、これらの強み弱み、表示できない事、表示できる事を、
上手くまとめて頂けないでしょうか。

ウォッチでは実行時のプロパティーは表示されるけど、
何故か一部のプロパティーが表示されないし、
メソッドは当然の如く表示できません。

オブジェクトブラウザやインテリジェンスは、
実行時系プロパティーが当然取れません。
隠しオブジェクトについては、表示する様にすれば表示できますが。

ヘルプは実行時系も隠しもメソッドも全てあると思いますが、
検索性に難ありで、網羅性や信頼性に疑いを持ってしまう所アリ。

間違いがあったり、足りない所があれば教えて頂きたいです。

アーリーバインディングやレイトバインディングとか、
その辺りとの関わりも良く分かって無いです、
教えていただけると助かります。

503:デフォルトの名無しさん
09/08/15 22:32:48
宿題は自分で頑張ってね。

504:デフォルトの名無しさん
09/08/15 22:34:06
>>502

ググレカス

505:デフォルトの名無しさん
09/08/15 23:30:05
質問です
一つ目
選択範囲のセルをオブジェクト変数に代入するにはどうすればよいでしょうか?
Dim aaa
aaa = Selection
としてもaaaにはvalueしか入らず、文字列の配列になってしまいます。

二つ目
選択範囲の全てのセルに対し、
長さが5じゃなければそのセルに文字列""を代入するというコードを書いてみましたが
aaa = ""
の行で「実行時エラー'10'
この配列は固定されているか、または一時的にロックされています」
というエラーが出ます。どういう風に書けばよいのでしょうか?
また、aaaの文字列の配列に直接値を入れたとしてもselectionに反映されません。これもどうすればよいのでしょうか?
勉強中に作ってみたものなので、特にこのコードを使って何かを処理するわけではありません。
コレクションをうまく使ってみたいと思っています。
よろしくお願いします。

Sub a()
Dim aaa
Dim m
aaa = Selection

For Each m In aaa
If Len(m) <> 5 Then
aaa = ""
End If
Next

End Sub


506:デフォルトの名無しさん
09/08/15 23:51:17
>>555

Sub test()

Dim rng

Set rng = Selection

For Each cell In rng
If (Len(cell) <> 5) Then
cell.Value = ""
End If
Next

End Sub


507:デフォルトの名無しさん
09/08/15 23:55:21
>>506
おお、すごい!ありがとうございました

508:デフォルトの名無しさん
09/08/16 00:34:34
>>505 はオブジェクト指向の考え方を一度学んだ方が良いと思う
今後も、できねー、なんで?を連発の予感

509:デフォルトの名無しさん
09/08/16 00:37:25
dimで宣言するなら型までだな

510:デフォルトの名無しさん
09/08/16 00:39:51
>>509
同意
更に option explicit を入れないと何となく動くけど、変なエラーが・・・になる

511:デフォルトの名無しさん
09/08/16 00:46:42
C使ってるとこの表現忘れがちになるな
俺だけかな

512:415
09/08/16 08:44:11

既に目を通してくれた方には煩わしいかもしれませんが
未解決のまま流れているので再投させていただきます。

オートシェイプに背景画像を挿入する場合についての質問です。

手動でやる場合、
・オートシェイプの書式設定
 ・塗りつぶし
  ・色
   ・塗りつぶし効果
    ・図
     ・図の選択
で、画像を挿入した際に、同ページに
 □図の縦横比を固定する
 □図形に合わせて塗りつぶしを回転する
というオプションがありますが、このオプションをVBAで変更する方法を教えてください。

マクロの記録をしても、変更が記録されずに困っています。

WindowsXP/Office2003

513: [―{}@{}@{}-] デフォルトの名無しさん
09/08/16 09:01:18
drawingobjectでどうだ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch