OSはXP オフィス2003とMacOSX/9.2にそれぞれオフィスXと98があります。よろしくおねがいいたします。
マクロでやっていくしかないでしょうね。
マクロでやる場合、セルに貼り付ける時は、クリップボードを経由させ 一括で 貼り付けると 若干 速いようです。
http://srd.yahoo.co.jp/PAGE=D/LOC=S/R=8/*-http://www.sk2.aitai.ne.jp/~happy/:detail]
テキストボックスというのは図形描写で書かれたものでしょうか?それともただセルに入力されたテキストを列毎に保存したいのでしょうか?
前者ならVBAを勉強してマクロを作るしかないと思います。
後者なら、保存したい列以外をいったん削除して「名前を付けて保存」で「ファイの種類」でテキスト形式を選びます。
ご回答ありがとうございます。
図形描写で書かれたテキストボックスがセルの一つ一つに入っていて、そのテキストをセルに入れたいのですが、マクロをいじってみてもよくわからなくて。。。時間がないので困っております泣
http://www.hatena.ne.jp/1115128073#
人力検索はてな - テキストボックスのみでつくられたエクセルの表データをテキストとして列ごとに保存したいのですが、やり方がわからないのでセルを一つ一つコピペしていますが、膨大な量な..
For a = 1 To 2
ActiveSheet.Shapes(a).Select
b = Selection.Characters.Text
Range(”A” & a) = b
Next a
とりあえず こんな感じで マクロでできます。
あとは、環境に応じていろいろいじくってみてください。
クリップボード経由ではないので 若干 遅いですけど・・・。
クリップボード経由は ちょっと面倒なんです。
ありがとうございます。
が、しかし。。。
>_< 出来ませんでした。。
あまりマクロは詳しくないので勉強してみますがなんせ時間がなくて困っています。
Yahoo! JAPAN
テキストボックスの位置によってセルを決定(BottomRightCellプロパティ)、などのロジックを入れるとより洗練されますが、とりあえずどうぞ:
Dim ws As Worksheet
Dim c As Shapes
Dim s As Shape
Set ws = ActiveSheet
Set c = ws.Shapes
For i = 1 To c.Count
c.Item(i).Select
ws.Cells(i, 1) = Selection.Characters.Text
Next
ありがとうございます。しかし、
プロシージャの外では無効です。というエラーがでて実行できませんでした。
色々と勉強したいのですが、
今はとにかく時間がないので困っています。ありがとうございました。
http://www.excel.studio-kazu.jp/
エクセル(Excel)の学校
お急ぎのようなので専門的なところで聞いた方が早いと思います。
エクセルでわからない事があるときは、いつもここを利用しています。多くの人にまめに見られているようです。
http://excelfactory.net/excelboard/
ExcelQ&A掲示板(エクセル質問掲示板)
http://homepage1.nifty.com/kenzo30/bbs/situmon.htm
エクセル質問掲示板利用案内
ありがとうございます!早速聞いてみたいと思います。
試してみたのですが、テキストボックスの数と配置が複雑&膨大で私のレベルでは上手くいきませんでした。ご回答いただきありがとうございました。
[Web ページとして保存]でそのHTMLのソースを編集、あるいはブラウザで表示された画面をコピー、であとはデータをエディタかExcelで成形すればなんとかなりませんか?
ご回答ありがとうございます。
web頁で保存を実行すると、フォントフェイスのみが保存され、肝心のテキスト内容が保存されませんでした。ご回答いただきありがとうございました。
VBAが使えるならココとか参考になりそうですがどうでしょうか?
こちらもトライしてみます。出来たらまた回答します。
ありがとうございます。VBAはあまりいじったことがないので自信がありませんが、ためしてみたいと思います。ありがとうございます。
回答者4です。念のため補足すると:
(1) 問題のExcelを開きます
(2) Alt+F11でVBA画面を開きます
(3) 左上のプロジェクトビューで右クリックして[挿入 - モジュール]でモジュールを追加します
(4) 追加されたモジュールをダブルクリックして
(5) sub hoge()とタイプして[Enter]
(6) sub hoge()とend subの間に回答4のスクリプトをコピペしてください
(7) sub hoge()とend subの間にカーソルを置いて、F5で実行します
親切にありがとうございます。
別のスクリプトで実行したらある適度できるようになりました!
http://www.hatena.ne.jp/1115128073
人力検索はてな - テキストボックスのみでつくられたエクセルの表データをテキストとして列ごとに保存したいのですが、やり方がわからないのでセルを一つ一つコピペしていますが、膨大な量な..
4の回答で出来ませんか?
1.エクセルで「ツール」→「マクロ」→「VisualBasicEditor」を選ぶ。
2.VisualBasicEditorで「挿入」→「標準モジュール」
3.以下のように一行目にSub test()と最後の行にEnd Subを入れる。
4.エクセルで「ツール」→「マクロ」で「マクロ名」がtestとなっていると思うので、実行ボタンを押す。
5.テキストボックスのあるセルにコピーされるので、テキストボックスを削除するなり、セルを列ごとコピーするなりしてください。
尚、テキストボックスの右下隅が位置するセルにコピーされるので、テキストボックスが少しずれていて、一つのセルにテキストボックスが重複していると上書きされるので、実行する前に列の幅と行の高さを広げておく方が良いかもしれません。
Sub test()
Dim ws As Worksheet
Dim c As Shapes
Dim s As Shape
Set ws = ActiveSheet
Set c = ws.Shapes
For i = 1 To c.Count
c.Item(i).Select
Range(Selection.BottomRightCell.Address) = Selection.Characters.Text
Next
End Sub
ご丁寧なご回答ありがとうございます。
一つのセルにたくさんのテキストボックスがしかも重なっているので、上記の者では出来ませんでした。でもとても参考になりました。ありがとうございます!
回答ありがとうございます。
もし御存じであればマクロのやりかたを教えていただけると幸いです。