Private Sub Worksheet_Change_3(ByVal Target As Range) 'A1:A10に入力した文字のフォントを15にする
If Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub
With Target
.Font.Size = 20
If InStr(.Value, Chr(10)) = 0 Then '改行がなければ
'.HorizontalAlignment = xlGeneral ''[横位置]
'.VerticalAlignment = xlCenter ''[縦位置]
.WrapText = False ''[折り返して全体を表示する]
'.Orientation = 0 ''[方向]の角度
'.AddIndent = False ''[前後にスペースを入れる]
'.IndentLevel = 0 ''[インデント]の数値
.ShrinkToFit = True ''[縮小して全体を表示する]
'.ReadingOrder = xlContext ''[文字の方向]
'.MergeCells = False ''[セルを結合する]
End If
End With
End Sub

このプロシージャを短縮できますか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

Private Sub Worksheet_Change_3(ByVal Target As Range) 'A1:A10に入力した文字のフォントを15にする


If not Intersect(Target, Range("A1:A10")) Is Nothing Then Target.Font.Size = 15
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

QVB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログ

VB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログラムを考えています。

グローバルキーフックを使用しないで、実現する方法はありますでしょうか?
ご教示の程お願いいたします。

Aベストアンサー

>グローバルキーフック
これの引数っていろいろありますよね?

マウスとキーボードだけは.NETで捕らえることができます。
ただCTL+ALT+DELというショートカットは、これらの管理よりもっと深いところで行われているので、仮にCで作成してフックしても目的の制御の実現は出来ません。


>グローバルキーフックを使用しないで
となると、やはり#1さんの方法しかありません。


#1さんの参考URL中に
「SAS発生時の動作:」
というのがあります。そこに
「GINAのWlxLoggedOnSas()」
というところがあるのですが、その近辺を熟読してください。
そしてこれ
http://msdn.microsoft.com/en-us/library/aa380570(VS.85).aspx


#1さんが示した情報は「古い」のではなく、古くから存在する実現方法というだけです。
そして現在、新たな別方法が出現しているわけではありません。

.NETで作成するDLLとCで作成するDLLは当然異なりますので、質問の
「VB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログラム」
という質問には、「無理です」としか言いようがありません。

>グローバルキーフック
これの引数っていろいろありますよね?

マウスとキーボードだけは.NETで捕らえることができます。
ただCTL+ALT+DELというショートカットは、これらの管理よりもっと深いところで行われているので、仮にCで作成してフックしても目的の制御の実現は出来ません。


>グローバルキーフックを使用しないで
となると、やはり#1さんの方法しかありません。


#1さんの参考URL中に
「SAS発生時の動作:」
というのがあります。そこに
「GINAのWlxLoggedOnSas()」
というところがあるのですが、その...続きを読む

QVB で =Right([nendo],2) & "/06" はどういう事ですか?Right([nendo],2)は?

VB で =Right([nendo],2) & "/06" はどういう事ですか?Right([nendo],2)は?

Aベストアンサー

&="&"
&="""
=Right([nendo],2) & "/06&quot  -> =Right([nendo],2) & "/06"
[nendo]はアクセスのフィールド名か(アクセスのVBA?)。[]で囲むから。
中身は、#2でご指摘の年度で2007とかは行っているのでしょう。
Right関数は文字列の右側、最後から文字数を指定して切り出す。
&は文字列を結合する演算子。
/06をこの順序で結合するもの。

Q[×]ボタン.Enabled = False は可能?

済みません,質問が二つあります。

1.メインフォームから,BorderStyle = 1 のダイアログフォームを Modeless で開くのですが,このフォームを右上の[×]ボタンで閉じさせたくありません。[×]ボタンをクリックしても凹まないようにし(Disabled にし),さらに表示も淡色にする方法があれば,教えていただきたく存じます。

2.テキストボックスに入力された文字列が,ファイル名として有効かどうかを簡単に判定する方法はありますか? つまり,ファイル名に「\/:,…」などが使われていたら NG,しかしパス名で使われている分には OK といった判定が簡単にできるのでしょうか?

どうかよろしくお願いいたします。

Aベストアンサー

こんにちはmaruru01です。
1.について
単に[×]で閉じないようにするなら、FormのUnLoadイベントでCancelをTrueにしてやればよいと思います。
2.について
サンプルを作ってみました。ついでにファイル名が存在するかどうかのチェックもつけました。
No.3の方が言っているように、Open For InputまたはOutputでファイルを開いてみて、エラー値で判断します。
pathNameにファイル名(フルパス)を入れて、今回の質問では、-1が返ったら、ファイル名としては無効(不正なファイル名)ということになります。
参考になれば幸いです。
では。


'ファイルの存在チェック及び、不正ファイル名チェック
Public Function NGfileName(ByVal pathName As String) As Integer

  Dim Num As Integer

  NGfileName = 0
  Err.Number = 0

  On Error Resume Next

  'inputモードでファイルの存在チェック
  Num = FreeFile
  Open pathName For Input As #Num
  If Err.Number = 0 Then
    NGfileName = 1 'ファイルが存在する
  End If
  Close #Num

  If NGfileName = 1 Then Exit Function
  Err.Clear

  'outputモードで不正ファイル名チェック
  Num = FreeFile
  Open pathName For Output As #Num
  If Err.Number <> 0 Then
    NGfileName = -1 'ファイル名が不正
  End If
  Close #Num

  If NGfileName = 0 Then Kill pathName
  Err.Clear

End Function

こんにちはmaruru01です。
1.について
単に[×]で閉じないようにするなら、FormのUnLoadイベントでCancelをTrueにしてやればよいと思います。
2.について
サンプルを作ってみました。ついでにファイル名が存在するかどうかのチェックもつけました。
No.3の方が言っているように、Open For InputまたはOutputでファイルを開いてみて、エラー値で判断します。
pathNameにファイル名(フルパス)を入れて、今回の質問では、-1が返ったら、ファイル名としては無効(不正なファイル名)ということになります。
参...続きを読む

Q実行時エラー '32755' [キャンセル] ボタンが選択されました。 について

ファイルを保存する時、キャンセルをするとタイトルどおりのエラーメッセージが出ます。当方、初心者でデバッグの仕方がわからず困ってます。どなたか教えてください。

コードの一部
Dim myFile As String

Private Sub Command2_Click()
CommonDialog1.Filter = "テキスト(*.txt)|*.txt|すべて(*.*)|*.*"
CommonDialog1.FilterIndex = 1
CommonDialog1.Flags = cdlOFNOverwritePrompt '上書き確認する
CommonDialog1.ShowSave '!!!デバッグの際はこの行が反転表示されます!!!
If CommonDialog1.FileName = "" Then Exit Sub
myFile = CommonDialog1.FileName
FileWrite
Form1.Caption = "Form1" & myFile
End Sub

Private Sub FileWrite()
Dim buf As String
Open myFile For Output As #1
Print #1, RichTextBox1.Text; '最後の';'は余計な複改を入れないため
Close #1
Exit Sub
End Sub

ファイルを保存する時、キャンセルをするとタイトルどおりのエラーメッセージが出ます。当方、初心者でデバッグの仕方がわからず困ってます。どなたか教えてください。

コードの一部
Dim myFile As String

Private Sub Command2_Click()
CommonDialog1.Filter = "テキスト(*.txt)|*.txt|すべて(*.*)|*.*"
CommonDialog1.FilterIndex = 1
CommonDialog1.Flags = cdlOFNOverwritePrompt '上書き確認する
CommonDialog1.ShowSave '!!!デバッグの際はこの行が反転表示されます!!!
...続きを読む

Aベストアンサー

エラー処理を入れました。そのほかに便宜上
command2--->1,
RichTextBox1.Text; -->"aaa"に変えましたが
私の場合上手くいきました。ご参考に。
Dim myFile As String

Private Sub Command1_Click()
CommonDialog1.Filter = "テキスト(*.txt)|*.txt|すべて(*.*)|*.*"
CommonDialog1.FilterIndex = 1
CommonDialog1.Flags = cdlOFNOverwritePrompt '上書き確認する
On Error GoTo error1
CommonDialog1.ShowSave '!!!デバッグの際はこの行が反転表示されます!!!
If CommonDialog1.FileName = "" Then Exit Sub
myFile = CommonDialog1.FileName
MsgBox myFile
FileWrite
Form1.Caption = "Form1" & myFile
Exit Sub
error1:
MsgBox Err.Description
Err.Clear
End Sub

Private Sub FileWrite()
Dim buf As String
Open myFile For Output As #1
Print #1, "aaa" 'RichTextBox1.Text; '最後の';'は余計な複改を入れないため
Close #1
Exit Sub
End Sub

エラー処理を入れました。そのほかに便宜上
command2--->1,
RichTextBox1.Text; -->"aaa"に変えましたが
私の場合上手くいきました。ご参考に。
Dim myFile As String

Private Sub Command1_Click()
CommonDialog1.Filter = "テキスト(*.txt)|*.txt|すべて(*.*)|*.*"
CommonDialog1.FilterIndex = 1
CommonDialog1.Flags = cdlOFNOverwritePrompt '上書き確認する
On Error GoTo error1
CommonDialog1.ShowSave '!!!デバッグの際はこの行が反転表示されます!!!
If CommonDialog1.FileName = ""...続きを読む

QSubとEnd Subについて

VBScriptのSubとEnd Subについて教えて下さい。

Dim LogonID
Dim Password
Dim URL
Dim objIE
Dim objINPUT
Dim BodyText
Dim AriNashi

LogonID = "XXXXXXXX"
Password = "XXXXXXXXX"
URL = "https://login.yahoo.co.jp/config/login?.src=www&.done=http://www.ya..."

下記のようなプログラムはうまくいくのですがSubで囲むと何故か動作しなくなってしまいます。
使い方が間違っているのでしょうか?


Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Navigate URL
objIE.Visible = True

Do Until objIE.Busy = False
WScript.sleep(250)
Loop

If objIE.document.URL = URL Then
BodyText = objIE.document.body.innerTEXT
AriNashi = InStr(1, BodyText, "Yahoo")
If AriNashi > 0 Then
Set objINPUT = objIE.document.getElementsByTagName("input")
objINPUT(0).value = LoginID
objINPUT(1).value = Password
objINPUT(2).Click
Else
msgbox "NO"
End If
Else
WScript.Echo " ダ メ" & Err.Description
End If
Set objIE = Nothing

VBScriptのSubとEnd Subについて教えて下さい。

Dim LogonID
Dim Password
Dim URL
Dim objIE
Dim objINPUT
Dim BodyText
Dim AriNashi

LogonID = "XXXXXXXX"
Password = "XXXXXXXXX"
URL = "https://login.yahoo.co.jp/config/login?.src=www&.done=http://www.ya..."

下記のようなプログラムはうまくいくのですがSubで囲むと何故か動作しなくなってしまいます。
使い方が間違っているのでしょうか?


Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Navigate ...続きを読む

Aベストアンサー

Subで囲むとプロシージャとなります。
プロシージャは他から呼び出されない限り、勝手に動作はしません。

Sub Hoge
'実体
End Sub

と書いたなら、プロシージャの外で
Call Hoge()
のようにプロシージャを呼び出してあげてください。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報