[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『入力後その直ぐ下の行に”以下余白”と自動入力したい』(sandy)
注文書の原紙を作成していまして、商品名を入力したらその下に自動で”以 下 余 白”と文字と文字の間にスペースをつけて、更に文字の大きさを”14”にしたものを入力させたいのですが・・・商品名入力時は文字の大きさを”11”で入力しています。どなたか、御教授お願い致します。
ご希望のことはマクロになります。
しかし、 商品名を入力する列の一つ前に列を挿入し 文字の大きさを 14 にする 列幅を狭くする =IF(自行の商品名の入力が無く、一つ上に入力がある,"以 下 余 白","") の数式を入力 しておくと、その様に見えると思います。
(HANA)
マクロの記録を使ってみてはどうでしょうか。 どの列に入力するのか分かりませんので、例ではA列を基準にしています。 1.マクロの記録開始。 2.相対参照ボタンをクリック。 3.名前ボックスにA65536と入力し、Enter。 4.Ctrl+↑を押す。 5.↓を押す。 6.以 下 余 白 と入力。 7.14ポイントに設定。 8.マクロの記録終了。 上記手順で生成されたコードが下記です。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2009/2/24 ユーザー名 : ROUGE '
'
Application.Goto Reference:="R65536C1"
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "以 下 余 白"
ActiveCell.Characters(1, 1).PhoneticCharacters = "イ"
ActiveCell.Characters(3, 1).PhoneticCharacters = "シタ"
ActiveCell.Characters(5, 1).PhoneticCharacters = "ヨ"
ActiveCell.Characters(7, 1).PhoneticCharacters = "シロ"
ActiveCell.Select
With Selection.Font
.Name = "MS Pゴシック"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End Sub
いらない記述を削除すると、下記になります。
Sub Macro1()
Application.Goto Reference:="R65536C1"
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "以 下 余 白"
With Selection.Font
.Size = 14
End With
End Sub
さらに簡潔にするために、ひと手間加えると、下記になります。
Sub Macro1()
With Range("A65536").End(xlUp).Offset(1, 0)
.Value = "以 下 余 白"
.Font.Size = 14
End With
End Sub
(ROUGE)
自動入力 となると...
1) シートタブを右クリックして[コードを表示] 2) 右空白部分に下記コードを貼り付ける 3) x をクリックしてシートに戻る
A列に 商品名 を入力するとして試してください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Columns("a")) Is Nothing Then Exit Sub
Application.EnableEvents = False
With Range("a" & Rows.Count).End(xlUp)
If .Value <> "以 下 余 白" Then
Range("a1", .Cells).Font.Size = 11
With .Offset(1)
.Value = "以 下 余 白"
.Font.Size = 14
End With
End If
End With
Application.EnableEvents = True
End Sub
(seiya)
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Columns("b")) Is Nothing Then Exit Sub
Application.EnableEvents = False
With Range("b" & Rows.Count).End(xlUp)
If .Value <> "以下余白" Then
With Range("b1", .Cells)
.Font.Size = 11
.HorizontalAlignment = xlGeneral
End With
With .Offset(1)
.Value = "以下余白"
.Font.Size = 14
.HorizontalAlignment = xlDistributed
.addIndent =True
End With
End If
End With
Application.EnableEvents = True
End Sub
とか?
(seiya)
.HorizontalAlignment = xlDistributed addIndent:=True
が赤文字になってx印で戻ろうとすると
”コンパイルエラー”
”構文エラー”
と出てきます。
あともう一息だと思います!御教授願います。
.HorizontalAlignment = xlDistributed addIndent:=True を .HorizontalAlignment = xlDistributed .AddIndent = True にしたら(できました)
マクロの記録の使い方を示したつもりでしたが、伝わりませんでしたか? 上記手順の3.の「A65536」を「B65536」に変更し、 6.と7.の間で中央揃えを設定してあげれば、ご希望の動作になると思いますよ。 (ROUGE)
>.HorizontalAlignment = xlDistributed addIndent:=True > を > .HorizontalAlignment = xlDistributed > .AddIndent = True > にしたら(できました)
コードを修正しておきます。 (seiya)
ところが・・・
その"以下余白"がはいるとその上のセルに書いてあった商品名がなぜか右寄せになってしまいます・・・
左寄せが希望ですが。何度も申し訳御座いませんが御教授願います。
それと、大変恐縮な質問ですが、この作業はファイル1枚1枚開いてシートタブを右クリックして"コードを表示"の部分に貼り付けて行かないといけませんでしょうか?
アイコンにマクロを貼り付けてそのボタンをクリックしたらこの作業が出来る!みたいな方法は少々むしが良すぎますでしょうか・・・
HorizontalAlignment の定数は
xlGeneral xlLeft xlCenter xlRight
等がありますので、xlGeneralをお好きなように変更してください。 (seiya)
お陰様で希望する内容のものが出来上がりました。
hanaさん、ROUGEさんも色々アドバイス有り難う御座いました。
ROUGEさんのマクロの記録は一番にチャレンジしてみましたが、相対参照ボタンが出てこなくて結局諦めてしまいました。
それが解決出来ていたら問題無かったと思います(T_T)
どこか、相対参照ボタンを表示させたり非表示させたり設定が出来ることろがあるのでしょうか?
でも、お陰様で問題解決です。
皆さん、本当に有り難う御座いました。
> 相対参照ボタンが出てこなくて結局諦めてしまいました。 記録を開始したら、ちっさいツールバーが出ませんでしたか? 出ていなかったら、記録を開始後、表示-->ツールバー-->記録終了 を選択すると出てきます。 そのツールバーの右側のアイコンが相対参照ボタンです。 (ROUGE)
>アイコンにマクロを貼り付けてそのボタンをクリックしたらこの作業が出来る!みたいな方法 は、ROUGEさんとseiyaさんのコードの 大きな違いを探すと良いかもしれません。
ROUGEさんのコードは、標準モジュールに有って Sub Macro1() 〜 End Sub の間にありましたね。
seiyaさんのコードは、シートモジュールに有って Private Sub Worksheet_Change(ByVal Target As Range) 〜 End Sub の間にあります。
With 〜 End With を移植すれば良いと思います。
ちなみに「相対参照ボタン」は ↓の(3)の ■の隣のボタンです。 https://www.excel.studio-kazu.jp/lib/e4b/e4b.html
(HANA)
その小さなツールバーが何処にも表示されないんです!
以前この”マクロの記録”は使ったことがあるのでそのツールバーが出てくるのは知っていましたが、それが何処にもないんです(T_T)
表示画面の下のスタートボタンの上に”コマンド マクロの記録中”っていう文字は出ているので今記録中なんだ!と言うのはわかるんですが・・・
そのツールバーを表示したり非表示させたり出来るのでしょうか?
それから、HANAさん!私のわがままな質問にご回答頂き大変感謝しています!
"With 〜 End With
を移植すれば良いと思います。"
を早速挑戦してみます。
本当に有り難うございます!
>そのツールバーを表示したり非表示させたり出来るのでしょうか? ROUGEさんが書いておられますので もう一度 書き込みをしっかり読んでいただくのが良いと思います。
そういえば、この掲示板は 文頭に半角スペースを入れると 空行を入れなくても改行がそのまま表示されますよ。 _←ここに 半角スペースです。
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.