- ベストアンサー
EXCELマクロで状態を取得したい
EXCELマクロでShrinkToFitの状態(True,false)を取得したいのですが・・・ どうやって取得したらよいかわかりません。 出来るのかどうかもわかりません。 ご存知の方教えてください。
- lfa3500
- お礼率15% (11/69)
- Visual Basic
- 回答数4
- ありがとう数14
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
できるかどうかわかりませんが、 if Worksheets("Sheet1").Range("A1").ShrinkToFit = True then Msgbox "ShrinkToFitはTrueだよ!" Else Msgbox "ShrinkToFitはFalseだよ!" End if とかですかね…?
その他の回答 (3)
- moon00
- ベストアンサー率44% (315/712)
こういう感じでしょうか。 Sub test() Dim A As Range Dim Flg As Boolean Set A = ActiveCell Flg = A.ShrinkToFit End Sub
- karorumon
- ベストアンサー率26% (25/94)
http://www.big.or.jp/~seto/vbaref/vbaref5.htm 取得するのではなく、 設定するのだと思います。 Worksheets("Sheet1").Range("A1").ShrinkToFit = True Sheet1のA1を縮小表示?
お礼
早速の回答ありがとうございます。 説明が、わかりにくくて、すみません。 縮小表示 が、有効設定か無効設定かを知りたいのです。 ShrinkToFit が、True か False を取得したいのですが、可能でしょうか?
- usami33
- ベストアンサー率36% (808/2210)
構文 : [ Range ].ShrinkToFit Sub TEST1() Range("A1").ShrinkToFit = True '「縮小して全体を表示する」を有効にする Range("B1").ShrinkToFit = False '「縮小して全体を表示する」を無効にする End Sub
お礼
早速の回答ありがとうございます。 説明が、わかりにくくて、すみません。 縮小して全体を表示する が、有効設定か無効設定かを知りたいのです。 ShrinkToFit が、True か False を取得したいのですが、可能でしょうか?
関連するQ&A
- エクセルマクロで教えてください
エクセル2003です。 自動マクロで下記のようなマクロを造ったんですが Selection.End(xlDown).Select Range("A29:D29").Select ■A29を止まったセルの番号にしたいのです。(A**からD**まで) With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Selection.Merge Range("A30").Select ■A30を止まったセルの番号にしたいのです 以上2箇所の指定を教えていただけますでしょうか。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Excelマクロで
Excelマクロで 範囲内を書き換えたときだけ 処理を通るようにしたいのですが どうしたらいいのか分かりません。 範囲がRange("A1:B10")で 書換がB5のとき 範囲内なので MsgBox "true" を 書換がC5のとき 範囲外なので MsgBox "false" を 範囲は変わるのでマクロでお願いします。
- ベストアンサー
- Visual Basic
- エクセル2010のマクロについて、セル結合の解除
全てのセルを選択して、結合されているセルがあったら全て解除したいのですが、 マクロの記録で作成すると、↓を何百回も繰り返すソースになってしまいます With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlCenter .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With 長すぎるとエラーになってしまいますし、何回繰り返すかもランダムなので、↑の処理を、 結合されたセルがなくなるまで繰り返すという設定にしたいのですが、可能でしょうか? よろしくおねがいします。
- ベストアンサー
- オフィス系ソフト
- 現在のフォルダからテキストを読み込むエクセルマクロ
小さな会社で事務仕事をしております。 仕事上、困ったことがあり、どなたか教えて頂きたいです。 テキストファイルをエクセルに読み込み、 ある文字にて区切り、セルに張りつけたいのです。 テキストの数が多いため、マクロを作成したいと思っております。 マクロの記録にて下記(ソース)まで来ているのですが、 実際にやりたいのは、 「現在のエクセルブックと同じフォルダにある」テキストファイルを読み込むことなのです。 私が記録したマクロでは、「固定フォルダ」になっており、 例えば、フォルダ名が変わってしまうと、動作しません(テキストを読み込めません)。 Sub Macro3() ' ' Macro3 Macro ' ' With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;C:\Users\crown_800\test.txt", Destination:= _ Range("$A$1")) .Name = "test" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 932 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = True .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = True .TextFileOtherDelimiter = "[" .TextFileColumnDataTypes = Array(1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With End Sub Webにてカレントディレクトリの取得方法を勉強し、 下記ソースに反映しようとはしているのですが、うまくいきません。 どなたかご相談に乗って頂けないでしょうか? よろしくお願いいたします。
- 締切済み
- Microsoft ASP
- 現在のフォルダからテキストを読み込むエクセルマクロ
小さな会社で事務仕事をしております。 仕事上、困ったことがあり、どなたか教えて頂きたいです。 テキストファイルをエクセルに読み込み、 ある文字にて区切り、セルに張りつけたいのです。 テキストの数が多いため、マクロを作成したいと思っております。 マクロの記録にて下記(ソース)まで来ているのですが、 実際にやりたいのは、 「現在のエクセルブックと同じフォルダにある」テキストファイルを読み込むことなのです。 私が記録したマクロでは、「固定フォルダ」になっており、 例えば、フォルダ名が変わってしまうと、動作しません(テキストを読み込めません)。 Sub Macro3() ' ' Macro3 Macro ' ' With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;C:\Users\crown_800\test.txt", Destination:= _ Range("$A$1")) .Name = "test" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 932 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = True .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = True .TextFileOtherDelimiter = "[" .TextFileColumnDataTypes = Array(1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With End Sub Webにてカレントディレクトリの取得方法を勉強し、 下記ソースに反映しようとはしているのですが、うまくいきません。 どなたかご相談に乗って頂けないでしょうか? よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- エクセルのマクロ セルの結合プロシージャを教えてください。
マクロの記憶でのプロシージャを Rangeを変数型にしたいのです。 行も列も定めまずに、範囲はA1:BX45です。 Offsetを使うのか、もう何がなんだかわからないので 教えてください!! マクロの記憶でのプロシージャです。 ↓ Keyboard Shortcut: Ctrl+d ' End Sub Range("R26:T27").Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = True .ReadingOrder = xlContext .MergeCells = False End With Selection.Merge End Sub
- 締切済み
- オフィス系ソフト
- エクセルのマクロ
エクセルに 1、コマンドボタンを押す 2、貼り付けたいテキストファイルを選ぶ →B3のセルから貼り付ける というマクロを組みました 以下のマクロがそうなんですが、 このマクロだと1つのテキストファイルしか貼り付けれません 2回目以降も貼り付けを同じボタンで繰り返し その前に貼り付けたデータのB列最終セルの一つ下のセルから 同じようにテキスト貼り付けを行えるようにはすることは可能でしょうか? Private Sub CommandButton1_Click() Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) Dim vrtSelectedItem As Variant With fd Dim txtpass As Variant If .Show = -1 Then For Each vrtSelectedItem In .SelectedItems txtpass = "TEXT;" & vrtSelectedItem Next vrtSelectedItem Else End If End With With ActiveSheet.QueryTables.Add(Connection:= _ txtpass, Destination:=Range("$B$3")) .Name = "4" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 932 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _ , 1, 1, 1, 1, 1, 1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With End Sub
- ベストアンサー
- オフィス系ソフト
- マクロ実行後エクセルを閉じたい
2つの別々のファイルを開いて片方からもう片方にコピーして 保存して終了する。(両方とも閉じる) というマクロを作ったのですが コピー終了後に実行したマクロ付きのエクセルも閉じてデスクトップ上には何も開いていない状態にしたいのですがworkbookのところに 下記の命令を記述してもうまくいきません。 Application.Run "XXXXXX" ThisWorkbook.Save ThisWorkbook.Saved = True If Workbooks.Count <= 1 Then Application.Quit ThisWorkbook.Close False マクロ付きのエクセルも一旦は閉じるのですがその後に 別の白紙のブックが開いてしまうのです。 続けて他のマクロをスケジュールで実行したいのですが実行時に 「既にエクセルが開いています」みたいな警告が表示され 実行できません。 エクセルを完全に閉じるようにするにはどうしたらいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルで印刷画面までをマクロにしたい
いつもお世話になっております。 ここで色々教わりながら複数の人が使う多数のエクセルブックの定常作業をマクロ化しています。 保存するファイル名を自動取得してPDFで保存するマクロと、下記の2行を組み合わせてマクロボタンのワンクリックで保存、印刷が出来る様になたのですが、印刷時に色々設定したい場合もあるので、印刷画面までで止めたいのですがNETで調べても「印刷」は一杯あるのですが手前で止めるコードが分かりません。 いつもの「マクロの記録」も使えずお手上げ状態です。 宜しくお願いします。 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False
- ベストアンサー
- Excel(エクセル)
- エクセルマクロ
マクロで外部参照などを出す場合に Escボタンを途中で押すと中断し 下記の添付画像のような表示が出ます。 途中でキャンセルした場合(Escなど?) 画像のようなエラーを出さずにエラー(コメントを作る)メッセージを表示させて 作業を中断することは可能でしょうか? 可能な場合、下記のどの部分に追加するといいでしょうか? 下記はテキストファイルを参照しエクセルに貼り付けるというマクロです Private Sub CommandButton1_Click() Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) Dim vrtSelectedItem As Variant With fd Dim txtpass As Variant If .Show = -1 Then For Each vrtSelectedItem In .SelectedItems txtpass = "TEXT;" & vrtSelectedItem Next vrtSelectedItem Else End If End With With ActiveSheet.QueryTables.Add(Connection:= _ txtpass, Destination:=Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)) .Name = "4" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 932 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _ , 1, 1, 1, 1, 1, 1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With End Sub
- ベストアンサー
- オフィス系ソフト
お礼
解決しました。ありがとうございました。