- 締切済み
エクセルの操作・・ひとつでも分かれば教えて
現在エクセル2003で表の操作をしています。 数点困っているのですが、ひとつでも結構ですので、お分かりの方がいらっしゃったら教えていただけないでしょうか? 1)セル内にAlt+Enterを使って複数行のデータが入っています。 これに段落番号を付けたい 2)3列分のデータを列挿入しながら連続して複数回貼り付けを行いたい 3)ひとつの行の高さを文字列が入っている以上に高くしたいのですが、どうしても文字列のあるところまでしか高さを広げられません。行の高さには制限があるのでしょうか? 困っています。どなたか教えてください
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- nishi6
- ベストアンサー率67% (869/1280)
選択したセルの文字列に段落番号を振るようにしてみました。 複数選択したセルに対して機能します。(セル選択はShiftキーやCtrlキーを使います) 今は1行の場合は段落番号を振りません。1行でも「段落内容」→「1.段落内容」のようにしたければ、下のコードから '// <1> の2行を削除します。 段落番号と文字列の間は、「Const Kugiri = "."」で定義します。空白なら「Const Kugiri = " "」です。 また、段落番号を全角文字にする場合は、下から7行目を strNew = strNew & strAdd ↓ strNew = strNew & StrConv(strAdd, vbWide) のように変えます。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、挿入→標準モジュール で標準モジュールを挿入します。出てきたコードウインドウに下記マクロをコピーして貼り付けます。 マクロの実行方法は、対象セル(1つでも、複数でも)を選択し、ツール→マクロ→マクロ で段落番号を実行します。 Sub 段落番号() Dim rg As Range '// セル Dim L As Integer '// 文字列カウンタ Dim Ct As Integer '// 段落番号 Dim strOld As String '// 最初の文字列 Dim strNew As String '// 段落番号を付けた文字列 Dim strAdd As String '// 付加する文字列 Const Kugiri = "." '// 段落番号との区切文字 For Each rg In Selection If rg.Text <> "" Then '// 未入力セルは処理しない If InStr(rg.Text, vbLf) <> 0 Then '// <1> strNew = "" Ct = 1 strOld = Ct & Kugiri & rg.Text For L = 1 To Len(strOld) strAdd = Mid(strOld, L, 1) If strAdd = vbLf Then Ct = Ct + 1 strAdd = vbLf & Ct & Kugiri End If strNew = strNew & strAdd Next rg = strNew End If '// <1> End If Next End Sub
- masu4649
- ベストアンサー率20% (1/5)
#1です。 沢山のセルの意味が良く分かりませんが、段落番号用に1列挿入してその右列に段落に必要な文章を入力する。 段落番号は"1."と入力することで文字列と認識させてオートフィル機能でドラッグすると1. 2. 3.となります。 もしくは 最初の段落セルに1を入力。 次のセルに2を入力。 上記2つのセルを選択してオートフィル機能でドラッグすると、3 4 5と続きますが…
お礼
再度ご意見をいただき、ありがとうございます。 本当に、仰るとおりだと感じます。 私もそうしたい(笑) ただ、すでにデータが入ったエクセルファイルを加工したいという”無茶”をやっておりまして(*^_^*) いち早くご回答をいただいたうえ、補足していただき、感謝しております。 お礼が遅くなり。大変失礼いたしました。 ありがとうございました
- Cupper
- ベストアンサー率32% (2123/6444)
回答ではありませんが、参考意見です。 Excelで行なう作業なのでしょうか。 Wordで行なうべき作業のような気がします。 適切なツールを使用しているか再度検討してみてください。 ※なんかソフトウェアに使用者が使われている感じがするんですよ。
お礼
そうですね。 私も同感です。これはまさにワードの仕事・・・ 実はあらかじめエクセルで入力されているデータに加工を施したいという事情がございまして・・・ もっとも少ない操作でなんとかならないものかと悪戦苦闘しております。 ご意見ありがとうございました。 お礼が遅れまして大変失礼いたしました。
- nakamuraya
- ベストアンサー率33% (144/425)
>2)3列分のデータを列挿入しながら連続して複数回貼り付けを行いたい あらかじめ、挿入する箇所の列番号を右クリック「挿入」で空けておけば、貼り付けたい3列を指定し「コピー」、貼り付け箇所の頭列番号をCtrlキーを押しながら連続指定し「貼り付け」。
お礼
ご回答ありがとうございます! そうですね(*^_^*)その方法だと効率よくコピーできそうですね。 「挿入」操作さえがんばれば、CTRLキーでの一括貼り付けは気持ちよく片付きそうですね。 試してみます! ありがとうございました。
- masu4649
- ベストアンサー率20% (1/5)
1.段落番号は付けれないようです。 1.○○Alt+Enter 2.○○Alt+Enterで対応するしかないのでは? 2.3列選択してコピー→挿入したい列で右クリック→コピーしたセルの挿入。 1回目はOKですが、次回は「コピーしたセルの挿入」がメニュに表示されませんので、3列選択コピーから繰り返さないと出来ないようです。 3.行の高さは0~409ピクセルの範囲で指定してくださいとメッセージが出ます。それ以上無理なのでは?
お礼
早速のご回答、ありがとうございます。 やはりそうなのですね。 一人で悶々と試行錯誤していましたが、他の方のご意見も聞かせていただけたことで、”納得”することができました。 1)に関しては、かなりたくさんのセルに関して段落番号を付ける操作をしたいものですから、機能を使って効率よく操作したいと考えていた次第です。 エクセルで方法がないなら、セル内の文字をコピーして、いったんワードに貼り付け、ワードの機能を使って段落番号を付与し、それをコピーしてエクセルのセルを編集状態で貼り付け あたりが考えられるかな・・といったところです。 他に"コレ”という方法があれば、引き続き教えていただけると助かります。 2)に関しては、そうなんですよね。私も同じところで「アレ?」と思いました。クリップボードを表示したら何とかなるかと思いましたが、これもだめですね。 納得できました。ありがとうございます。コピー操作を繰り返してやってみます! 3)ありがとうございます!409までなのですね。これは仕方ないですね(笑) 回答から推測させていただくと、操作をして確認していただいたのですね。迅速な回答に改めて御礼申し上げます。
お礼
目からうろこのようなご回答、感謝いたします。 試してみたところ、見事に番号がつきました。 ありがとうございます。 VBAはまったく無知なもので、とても助かりました。 お返事が遅くなり、大変失礼いたしました。 ありがとうございました