• ベストアンサー

excelのVBAで・・(初心者です)

ExcelのVBAを勉強し始めたばかりなのですが・・ セル書式のフォントに OutlineFont = False というのがありますが、これをtrueにするとどのように変化するのでしょうか? もともと、truetypefont=Outlinefont と考えている私は、もともとアウトラインフォントではないかと考えてしまいます。 もともとのVBの考え方がおかしいのは重々承知ですので、具体的にTrueにするとどのように変化するか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

VBAのエディタでOutlineFontを選択、F1キーでキーワードに関するヘルプが表示されます。 -----以下引用----- True の場合、フォントをアウトライン フォントにします。値の取得および設定が可能です。ブール型 (Boolean) の値を使用します。 解説 OutlineFont プロパティは Windows では無効ですが、値は保持されるので値の取得や設定は可能です。 -----以上引用----- との事で、Windowsでは特に意味はないようです。 -- > もともと、truetypefont=Outlinefont > と考えている私は、 OKだと思います。 こういう項目はMacなどの他の機種や、以前のバージョンの移植のために残され、そのままになっているものが多いです。 削除しちゃうと、昔作ったOutlinefontのプロパティの記述のあるファイルが開けなくなっちゃいますんで。

omusupa
質問者

お礼

大変よくわかりました。 ありがとうございます。 勉強し始めたばかりですので、また質問することがあると思います。そのときにはよろしくお願いします。

関連するQ&A

  • エクセルVBAのコメント設定について教えていただけないでしょうか。

    エクセルVBAのコメント設定について教えていただけないでしょうか。 セルK2に、「8/13」など、日付を投入します。 セルL2には「=DAY(K2)」と投入して、日付だけを表示させています。 セル11行目から下方向に、1日から31日まで表示されています。 セルK2に表示された日付を元に、M列の対象となる日付に以下の ようにコメントを入れようと思っています。 K2が13日でしたら、M23にコメントを入れたいと思っています。 「13(金)        ←←改行する。 通知予定」 次のようにマクロを設定しましたが、(1)曜日の情報をコメント欄に入れることがで きません。 また、(2)コメントの書式設定がうまくいきません。 コメント欄を「MSゴシック」のフォントで「14ポイント」のサイズで 「自動サイズ調整」をしたいのですが、コメントが挿入されたセルの書式が変更さ れてしまいます。 曜日の情報入れて、コメントの書式を設定する方法を教えていただけないでしょうか。 --------------------------------------------------------------------- Sub コメント書式設定2() Dim 通知日 As Long 通知日 = Range("l2").Value Cells(通知日 + 10, 13).Select ActiveCell.AddComment Text:=通知日 & Chr(10) & "通知予定" With Selection.Font .Name = "MS Pゴシック" .FontStyle = "太字" .Size = 14 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With End Sub

  • エクセル VBA

    エクセルで指定したフォルダから シート1のA1セルに記入された名前のテキストファイルを 開くマクロを作りました 変数filepassがセルA1に記入されたファイルのパスのとして Workbooks.OpenText filename:=filepass, StartRow:=1 _ , DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _ , Space:=False, Other:=False, FieldInfo:=Array(1, 1) しかし このままだと指定したフォルダ(filepass)にファイルがなかったとき エラーになります もしファイルがなかったときに 何かメッセージを表示させたいのですが どのようにすればよいのでしょうか どなたか 教えてください VBAは素人です よろしくお願いします

  • Excel VBA

    Excel VBAのテキストを片手に色々(仕事で必要で・・・)試しています。そこで、セルをダブルクリックしたときに実行するマクロを作成してみました。(テキストにしたがって)コピー元シートのA2番地に入力されている文字と同じ文字を、Shieet1の任意のセルをダブルクリックすると自動的に入力されるマクロです。ですが、コピー元の文字だけではなく書式も一緒に反映されるので、任意のセルに書式が設定されている場合、書式が崩れてしまいます。なので、どなたか 文字だけ もしくは 書式だけ を自動実行する方法を教えてください。 なかなか伝わりにくい文章で申し訳ありませんが・・・。宜しくお願いいたします。ちなみに↓↓VBの記述を貼り付けます。 Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Cancel = True Worksheets("コピー元").Range("A2").Copy Destination:=Target End Sub

  • エクセル VBA

    エクセル VBA 指定セルがNULLじゃない場合、セルを横に1つずつずらしていきNULLのセルで抜けるVBを作りたいです。 Do Until IsNull???? loop

  • Excel VBA OptionButton

    Excel VBAのOptionButtonについてお伺いします。 現在、Excel2007にてユーザーフォームを作成しております。 シート上の文字によって、ユーザーフォーム上のオプションボタンの ON/OFFを切り替えたいのですがうまく動作しません。 具体的には・・・・ ユーザフォーム上のCommandButton1を押下すると、 sheet2のE22セルの文字がTRUEの場合、ユーザーフォーム上の OptionButton1がON・OptionButton2がOFF sheet2のE22セルの文字がFALSEの場合、ユーザーフォーム上の OptionButton1がOFF・OptionButton2がON 以下のように考えていたのですが、動作しません。 ------------------------------ Private Sub CommandButton1_Click() If sheet2.Range("E22").Value = "TRUE" Then OptionButton1.Value = True ElseIf sheet2.Range("E22").Value = "FALSE" Then OptionButton2.Value = True End If ------------------------------ お知恵お借りしたく存じます。 宜しくお願い致します。

  • エクセルVBAで出来ますか??

    はじめまして。 私の質問を読んで下さりありがとうございます。 上司にエクセルで少々複雑な?仕組みを作るように指示されたのですが、私自身はエクセルに詳しくはなく、社内にも詳しい人がいなくて困っています。 「Excel VBA パーフェクトマスター」という本を購入して勉強を始めたのですが、あまりに情報が多すぎてどこを参考にすればよいのかすら分かりません・・・。 来週末までに作らないといけないため休日返上でお仕事しながら勉強していますが、さっぱり分からなくて泣きそうです・・。 エクセルVBAに詳しくて親切な方がいらっしゃいましたら、無理のない範囲で構いませんので、どうか教えて頂けないでしょうか。宜しくお願い致します。 前置きが長くなってしまいましたが、具体的には以下のような処理はどうすれば良いのかが分かりません。 (1) 「Sheet1」のセル[A2]をダブルクリックすると「Sheet3」が表示される。 (2) 「Sheet3」のセル[D5]をダブルクリックすると「Sheet2」のセル[C2]の値(文字か数字)が「Sheet1」のセル[A2]と「Sheet4」のセル[B5]に表示され、更に「Sheet5」のセル[F10]の数値が「Sheet1」のセル[N5]に表示される。 (3) 上記の一連の処理が完了すると「Sheet1」が表示される。(「Sheet1の画面に戻る) 以上のような処理を複数組み合わせればできそうなのですが、このような事はエクセルVBAで出来るでしょうか? (私には出来るのか出来ないのかすら分かりません。命令した上司も分かってないと思います。) 出来るか出来ないかだけでも結構なので、どうか教えてください。 もし可能なら、具体的なアドバイスを頂けると、とても助かります。 どうか宜しくお願い致します。

  • VBAの超初心者です

    こんにちは。 エクセルでVBAの勉強をしようと頑張ってはいるんですが、最初からつまづきっぱなしで、助けて下さい。 あるセルに数値を返すようにしたのですが、1の位を四捨五入したい場合はどのようにしたらよいでしょうか。 よろしくお願い致します。

  • Excel VBA 超初心者 困っています。

     Excelで見積書を作成しています。  マクロでページを追加できるようにしたいのですが、貼り付け先のセルを指定する方法をインターネットで探しながら作ってみると  実行時エラー1004 Range クラスの PasteSpecial メソッドが失敗しました。 となります。  ワークシートを指定すればいいのかなと思いますが、どういう風に指定するのかがわかりません。    どうか、教えてくださいませんでしょうか。宜しくお願いします。 Sub 頁追加() ActiveSheet.Unprotect ActiveSheet.Range("A42:AZ84").Copy Dim a As Range Set a = Application.InputBox( _ Prompt:="セル範囲を選択してください", _ Title:="セル選択ダイアログ", _ Type:=8) a.PasteSpecial Application.CutCopyMode = False EndSec: Set Rng = Nothing ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub

  • VBまたはエクセルVBAを勉強したいと思っているのですが・・

    VBまたはエクセルVBAを勉強し、仕事に生かしたいと思っているのですが、素人にもわかり易く仕事に生かせる参考書ってありますか?またVB、エクセルVBAよりもこれをやっていたほうが良いというのがありましたらご意見下さい。今年は私にとって正念場だと思っています。よろしくお願いします。

  • VBAの操作方法について教えてください(初心者)

    いつもお世話になっております。 以下のような操作をエクセルにおいて行いたいのですが。 (1)エクセルのセルをクリック! (2)エクスプローラー起動!画像データを選択! (3)セルに合わせて縦横変倍をかけてデータ(JPGデータ)を貼付! 同様の操作が可能な以下のVBAが公開されていたので使わせて頂こうと考えているのですが、操作方法が分かりません。 VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END Attribute VB_Name = "Sheet1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = True Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean) Cancel = True '===============画像選択 myF = Application.GetOpenFilename _ ("jpg bmp tif png gif,*.jpg;*.bmp;*.tif;*.png;*.gif", , "画像の選択", , False) If myF = False Then MsgBox "画像を選択してください(終了)" Exit Sub End If '===============画像の掃除 For Each mySP In ActiveSheet.Shapes myAD1 = mySP.TopLeftCell.MergeArea.Address myAD2 = Target.Address If myAD1 = myAD2 Then mySP.Delete Next '===============画像の貼り付け Set mySP = ActiveSheet.Pictures.Insert(myF) '===============タテヨコの縮尺を保持 myHH = Target.Height / mySP.Height myWW = Target.Width / mySP.Width If myHH > myWW Then mySP.Height = mySP.Height * myWW mySP.Width = Target.Width Else mySP.Height = Target.Height mySP.Width = mySP.Width * myHH End If '===============中央へ調整 myHH2 = (Target.Height / 2) - (mySP.Height / 2) myWW2 = (Target.Width / 2) - (mySP.Width / 2) mySP.Top = Target.Top + myHH2 mySP.Left = Target.Left + myWW2 Set mySP = Nothing End Sub 作成したエクセルのVBエディタを開く⇒標準モジュールの作成⇒上記VBAをコピペ・・・ 正直わかりません。昨日一晩かけて調べたのですがわかりません。 どなたか宜しくお願い致します。

専門家に質問してみよう