ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

EXCEL VBAコミュの任意のセルの文字列を折り返す

  • mixiチェック
  • このエントリーをはてなブックマークに追加
お世話になります。VBA初心者です。
最近勉強を始めたばかりなのですが、私なりに調べてみたのですが全く見当がつかなかったのでお力をお貸し頂けないでしょうか・・・冷や汗
下記のようなVBAの対象セルを任意のセルにするにはどのように書き換えればよいのでしょうか。ちなみに、インプットボックスを使わない方法で、ということなのですが・・・。

sub 文字列の折り返し()
 range("A1:F10")..WrapText=True
end sub

このA1:F10のところをどのセルでも折り返せるように変更をしたいのです。
初歩的なことですみません。
よろしくお願い致します。

コメント(11)


任意ということなので

?選択範囲に適用する
Selection.WrapText = True

?セルのA1などに範囲示す文字列場所を設ける
  セルA1 A1:F5

  Range(Range("A1")).WrapText = True

などで如何ですか?
>めぐさん

sub 文字列の折り返し()
 Selection.WrapText=True
end sub

でどうでしょう?
折り返したい範囲を選択してから、マクロを実行してください。
>ちなみに、インプットボックスを使わない方法で、ということなのですが・・・。

ということですが、最終的にInputboxメソッドへ到達しそうなので
Inputboxを使う形も載せておきます。

Sub sample()

Dim myPr As String, myTi As String
Dim myCell As Range

myPr = "対象の範囲を選択"
myTi = "文字列の折返し"

Set myCell = Application.InputBox(prompt:=myPr, Title:=myTi, Type:=8)

myCell.WrapText = True

End Sub

これならどっちへ転んでも対応できると思うのですが、、、
どういった理由でInputboxを使ってはダメなのでしょ???
>ゆめと@へれ さん、
>Amlaid さん、
ご回答本当にありがとうございますぴかぴか(新しい)

どちらのお答もわかりやすく、じっくり考えると「なるほど・・・」と理解することができました。
実は、説明不足だったのですが、上記の式を任意のセルでも使えるマクロに修正しなさい、というテキストの問題だったのです。それで、「inputboxは使用せずに修正すること」という条件がありまして・・・。

どちらのお答えも任意のセルに対応という意味合いではもちろん適正だと思うのですが、この問題の解答としては少し違う気がしてしまいます。
まだあまり複雑なことは習っていないので、わりと単純な回答になるかとおもうのですが、いくら調べてもさっぱり見当がつきません。他にも何か方法はあるのでしょうか?
もしかすると、refeditでしょうか?
使ったことない機能なので、詳しく書けませんが。
Refeditってフォームで使うんじゃなかったでしょか?
>onoeさん、
>ゆめと@へれ さん、
アドバイスありがとうございます。
refeditは恥ずかしながらはじめて知り、少し調べてみました。
やはりフォームで使うようですね。内容にはわりと沿っているようなのですが、今回の回答には違うようなかんじです・・・。

色々と詳しい方に教えて頂いたのに、私の知識不足もあり、解決、といかずなんだかすみません涙
VBA、正解がひとつでないので難しいですね・・・・。
えーと。単純にシートメソッド使ったらダメなんですか?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Target.WrapText = True

End Sub

>VBA、正解がひとつでないので難しいですね・・・・。
VBAに正解が一つしかないのではないですよ!!
プログラム言語全てに対して言える事です。
コーディングする人・コーディングする時・コーディングする要求など
様々な要件を満たした上で、その時に最適なプログラムコードが出来ます。

「正解が一つしかない」逆を言えば「万物において正解」とも取れます。

要するに結果が全てと言う事です。
>めぐさん

お力になれなくてスミマセン

自分もまだまだ理解力の乏しい身なので
お互いガンバっていきましょう!
>>めぐ

もしかしてもう去っちゃった?
もし見てたら反応が欲しいwww

今回の問題の中でInputBoxを使わない事としか定義されていないので、
シートモジュールのSelectionChangeイベントを使ってはダメとは言われていませんよね?

であれば、これでも問題ないと思います。
>魔流さん

アドバイスありがとうございます!
お返事をしたかったのですが、伺った内容を調べたり試してみたりしていたらかなり時間がかかってしまいましたたらーっ(汗)
まだかなり初心者のため、教えていただいた内容にわからない所がたくさんありました・・・(すみません。。)
今回は、期限も迫っていたのでとにかく魔流さんに教えていただいた内容で答えてみました。(まだ習っていない内容が多かったので、回答として適切かはわからなかったのですが、とにかく助かりました!)

今回、通信講座の問題だったこともあり、いろいろ質問に沿った答を求めてしまったため、魔流さん、ゆめと@へれさん、はじめ皆さんが教えて下さった内容が正しいにもかかわらず曖昧な反応になってごめんなさい。
ですが、講座の問題はともかく、今回いろいろ教えて頂いて調べて試すことでいろいろな方法があることを知り。少ーしずつですがなんとなーく前よりはVBAのことがわかり始めてきました・・・。
今後も勉強していって徐々に慣れて覚えていきたいと思います。どうもありがとうございました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

EXCEL VBA 更新情報

EXCEL VBAのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。