ap_2 の回答履歴

全199件中161~180件表示
  • 大量の図変換でVBAが遅い

    Excel2007を使用しています。 ActiveXコントロール「Microsoftバーコードコントロール 9.0」にてバーコードを生成後、 図(拡張メタファイル)として変換するというVBAを作成しています。 動作としては完成したのですが、後半に行くに従い処理が遅くなっていきます。 スタート時は10個/秒ほどですが、 最後付近は2秒/個ほどになってしまいます。 手元の環境で、700個で240秒ほどかかります。 少しでも速度を改善させる方法はありますでしょうか。 バーコード生成部分はFunctionでサブルーチンから切りだしています。 サブルーチンでは、再描画の停止(ScreenUpdating = False)や、 手動計算への切換(Calculation = xlCalculationManual)は定義しています。 ------------------------------------------------------------------- Function ShowBarCode(P_Left As Long, P_Top As Long, P_Width As Integer, _ P_Height As Integer, P_Value As String, P_Style As Integer) Application.ScreenUpdating = False Dim mySht As Worksheet Set mySht = ActiveSheet Dim myShp1 As Object ' セルにバーコードを貼付ける Set myShp1 = mySht.OLEObjects.Add(ClassType:= _ "BARCODE.BarCodeCtrl.1", Link:=False, DisplayAsIcon:=False, _ Left:=P_Left, Top:=P_Top, Width:=P_Width, Height:=P_Height) With myShp1 .Object.Style = P_Style .Object.Value = P_Value .Width = .Width - 3   ' 再描画のための小細工 .Width = .Width + 3   ' 再描画のための小細工   End With ' バーコードを図(メタファイル)として変換 myShp1.Copy ActiveSheet.PasteSpecial Format:="図 (拡張メタファイル)", Link:=False, DisplayAsIcon:=False ' バーコードを削除 myShp1.Delete End Function ------------------------------------------------------------------- 添付図:バーコード付きシート サンプル

  • 助けてください、雇われはつらいです。

    業務で命じられました。 エクセル、アクセス等で、どこの棚にどんな書類があるか、図書のタイトル・内容等から検索できるようにしたいのですが なにかいい本やホームページがあったら教えてください。

  • VBAとC言語で小さめのシステムを構築したいです。

    プログラミングのトレーニングがてら、この2つの言語を用いて500行以内のコードで実装できる簡単なシステムを作りたいです。 2つの言語合わせて作るのではなく、 こんなプログラムを作ったら構造体やポインタ、ファイル入出力が身につく、 こんなプログラムを作ったらオブジェクトの考え方やエクセルとの関連、ユーザインタフェースが学習できる、 という感じのエッセンスが含まれているものをそれぞれ作れたらいいなと思っています。 何かお勧めや提案がありましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • noname#198479
    • Visual Basic
    • 回答数4
  • VBAとC言語で小さめのシステムを構築したいです。

    プログラミングのトレーニングがてら、この2つの言語を用いて500行以内のコードで実装できる簡単なシステムを作りたいです。 2つの言語合わせて作るのではなく、 こんなプログラムを作ったら構造体やポインタ、ファイル入出力が身につく、 こんなプログラムを作ったらオブジェクトの考え方やエクセルとの関連、ユーザインタフェースが学習できる、 という感じのエッセンスが含まれているものをそれぞれ作れたらいいなと思っています。 何かお勧めや提案がありましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • noname#198479
    • Visual Basic
    • 回答数4
  • Excel グラフのコピーについて

    VBAでグラフシートをコピーして新しくデータを貼り付けたのですが、グラフ側のデータ範囲がぜんぜん違う所になってエラーになります。データ貼り付け範囲はコピー元と同じ範囲です。(件数は可変) データ範囲までコピーするためにはどうすればよいのでしょうか。 シートのコピー方法は、  Sheet("Sheet1").Select  Sheet("Sheet1").Copy Before:=Sheet(2) です。 グラフシートにはボタンマクロを配置して、そのボタンを押すと、データを範囲(件数)を求めて グラフを再作成するようにしています。ところが、上記コピーですとコピー後ボタンを押すと、 「実行時エラー'1004'; Series クラスの XValues プロパティを設定出来ません」 とエラーが出ます。 よろしくお願いします。

  • エクセルのマクロでファイルを自動で保存するには?

    こんにちは。お世話になります。 エクセルのVBAマクロ文の書き方でお知恵を拝借したいと思います。 さて、私のかかる業務でエクセルファイルで営業実績を出しています。 COBOLで作ったファイルをCSVにインポートして そのCSVの値を別のエクセルファイルで引っ張るという手順を踏んでいますが、 それをマクロで動かすとエクセル上で『保存しますか?』と聞いてきます。 答えは『はい(Y)』で確定しているので、その命令文さえ組み込められればいいのですが、 その命令文の書き方が判りません。 (解決したいVBAマクロの命令文) Workbooks.Open Filename:="D:\(Aファイル).csv" Workbooks.Open Filename:="D:\(Aファイルの値を引っ張るBファイル).xls" ThisWorkbook.Saved = True (ここで聞いてくる注意に自動で『Y』を入れたいと思っています。) ActiveWindow.Close ActiveWindow.Close 以上、お知恵を拝借したく、お願いいたします。

  • エクセルのマクロでファイルを自動で保存するには?

    こんにちは。お世話になります。 エクセルのVBAマクロ文の書き方でお知恵を拝借したいと思います。 さて、私のかかる業務でエクセルファイルで営業実績を出しています。 COBOLで作ったファイルをCSVにインポートして そのCSVの値を別のエクセルファイルで引っ張るという手順を踏んでいますが、 それをマクロで動かすとエクセル上で『保存しますか?』と聞いてきます。 答えは『はい(Y)』で確定しているので、その命令文さえ組み込められればいいのですが、 その命令文の書き方が判りません。 (解決したいVBAマクロの命令文) Workbooks.Open Filename:="D:\(Aファイル).csv" Workbooks.Open Filename:="D:\(Aファイルの値を引っ張るBファイル).xls" ThisWorkbook.Saved = True (ここで聞いてくる注意に自動で『Y』を入れたいと思っています。) ActiveWindow.Close ActiveWindow.Close 以上、お知恵を拝借したく、お願いいたします。

  • VBAでぺージ設定を継承するファイル分割の方法

    エクセルファイルの分割方法について教えてください。 使用OS等:Windows XP、Excel2003 具体的には1ブック、1シートのみに全データが入っています。 項目行は2行あり、分割のキーと項目がA列に入っています。 そのキー毎に新しいファイルを作りたいと考えています。 始めに新しいファイルにパスワードをつけるかどうか、つけるならつけたいパスワードを入力するようなフォームが立ち上がります。 そして、分割したい元ファイルはどれなのか選択式になっており、いろいろなファイルに適応できるような物にしています。 尚、元ファイルの入っているフォルダ内に分割された各々のファイルを作成します。 分割後のファイルには、”キー(XXX)+元ファイル名”にし、ページ設定や書式なども継承するようにしたいのですが、今使っているものですと、ページ設定が繁栄されません。 ほとんど初心者なもので、元々あったマクロを少し修正したりはしているのですが、上記の問題を解決する事ができず、困っております。 使用中のコードを載せますので、アドバイスまたは違う方法がありましたら、ご教示願います。 コメントなどつけていただけるとありがたいと思います。 どうぞよろしくお願い致します。 Sub 分割パスあり() Dim DPath As String Dim DName As String Dim fNAME As String Dim fiNAME As String Dim pass As String Dim oneNAME As String Dim oneFILE As String Dim opdia Dim n UserForm1.Hide pass = InputBox("パスワードを入力して下さい。", "パスワード入力") opdia = Application.Dialogs(xlDialogOpen).Show If opdia = Cancel Then Exit Sub End If DPath = ActiveWorkbook.Path & "\" DName = ActiveWorkbook.Name Range("A:A") = Range("A:A").Value Range("A3").Select Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess Selection.EntireRow.Insert shift:=xlShiftDown n = 4 For n = 4 To ActiveCell.CurrentRegion.Rows.Count * 2 On Error GoTo ErrorHandler If Cells(n, 1).Value = Cells(n - 1, 1).Value Then Else fNAME = Cells(n - 1, 1).Text fiNAME = fNAME & DName Rows("1:2").Copy Workbooks.Add ActiveSheet.Paste ActiveWorkbook.SaveAs Filename:=DPath & fiNAME, password:=pass Windows(DName).Activate Cells(n, 1).EntireRow.Insert shift:=xlShiftDown Cells(n - 1, 1).CurrentRegion.EntireRow.Select Selection.Copy Windows(fiNAME).Activate ActiveSheet.Paste Destination:=Range("A3") Cells.Columns.AutoFit ActiveWorkbook.Close savechanges:=True Windows(DName).Activate n = n + 1 End If Next oneNAME = Cells(n, 1).Text oneFILE = oneNAME & DName FileCopy Source:=fiNAME, Destination:=oneFILE Rows("1:2").Copy Workbooks.Add ActiveSheet.Paste ActiveWorkbook.SaveAs Filename:=DPath & oneFILE, password:=pass Windows(DName).Activate Cells(n, 1).CurrentRegion.EntireRow.Select Selection.Copy Windows(oneFILE).Activate ActiveSheet.Paste Destination:=Range("A3") Cells.Columns.AutoFit ActiveWorkbook.Close savechanges:=True Application.CutCopyMode = False Application.DisplayAlerts = False Windows(DName).Close savechanges:=False MsgBox "分割処理が終了しました" Exit Sub ErrorHandler: ActiveWorkbook.Close savechanges:=False Windows(DName).Close savechanges:=False MsgBox "分割処理が終了しました" Exit Sub End Sub

  • VBAでぺージ設定を継承するファイル分割の方法

    エクセルファイルの分割方法について教えてください。 使用OS等:Windows XP、Excel2003 具体的には1ブック、1シートのみに全データが入っています。 項目行は2行あり、分割のキーと項目がA列に入っています。 そのキー毎に新しいファイルを作りたいと考えています。 始めに新しいファイルにパスワードをつけるかどうか、つけるならつけたいパスワードを入力するようなフォームが立ち上がります。 そして、分割したい元ファイルはどれなのか選択式になっており、いろいろなファイルに適応できるような物にしています。 尚、元ファイルの入っているフォルダ内に分割された各々のファイルを作成します。 分割後のファイルには、”キー(XXX)+元ファイル名”にし、ページ設定や書式なども継承するようにしたいのですが、今使っているものですと、ページ設定が繁栄されません。 ほとんど初心者なもので、元々あったマクロを少し修正したりはしているのですが、上記の問題を解決する事ができず、困っております。 使用中のコードを載せますので、アドバイスまたは違う方法がありましたら、ご教示願います。 コメントなどつけていただけるとありがたいと思います。 どうぞよろしくお願い致します。 Sub 分割パスあり() Dim DPath As String Dim DName As String Dim fNAME As String Dim fiNAME As String Dim pass As String Dim oneNAME As String Dim oneFILE As String Dim opdia Dim n UserForm1.Hide pass = InputBox("パスワードを入力して下さい。", "パスワード入力") opdia = Application.Dialogs(xlDialogOpen).Show If opdia = Cancel Then Exit Sub End If DPath = ActiveWorkbook.Path & "\" DName = ActiveWorkbook.Name Range("A:A") = Range("A:A").Value Range("A3").Select Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess Selection.EntireRow.Insert shift:=xlShiftDown n = 4 For n = 4 To ActiveCell.CurrentRegion.Rows.Count * 2 On Error GoTo ErrorHandler If Cells(n, 1).Value = Cells(n - 1, 1).Value Then Else fNAME = Cells(n - 1, 1).Text fiNAME = fNAME & DName Rows("1:2").Copy Workbooks.Add ActiveSheet.Paste ActiveWorkbook.SaveAs Filename:=DPath & fiNAME, password:=pass Windows(DName).Activate Cells(n, 1).EntireRow.Insert shift:=xlShiftDown Cells(n - 1, 1).CurrentRegion.EntireRow.Select Selection.Copy Windows(fiNAME).Activate ActiveSheet.Paste Destination:=Range("A3") Cells.Columns.AutoFit ActiveWorkbook.Close savechanges:=True Windows(DName).Activate n = n + 1 End If Next oneNAME = Cells(n, 1).Text oneFILE = oneNAME & DName FileCopy Source:=fiNAME, Destination:=oneFILE Rows("1:2").Copy Workbooks.Add ActiveSheet.Paste ActiveWorkbook.SaveAs Filename:=DPath & oneFILE, password:=pass Windows(DName).Activate Cells(n, 1).CurrentRegion.EntireRow.Select Selection.Copy Windows(oneFILE).Activate ActiveSheet.Paste Destination:=Range("A3") Cells.Columns.AutoFit ActiveWorkbook.Close savechanges:=True Application.CutCopyMode = False Application.DisplayAlerts = False Windows(DName).Close savechanges:=False MsgBox "分割処理が終了しました" Exit Sub ErrorHandler: ActiveWorkbook.Close savechanges:=False Windows(DName).Close savechanges:=False MsgBox "分割処理が終了しました" Exit Sub End Sub

  • エクセルのデータの処理はVB?orVBA?

    エクセルのデータを処理するときVBAとVBどちらで処理することが多いですか? また、処理する理由は何ですか? 自分はVBAで処理していますが、VBAだとメモリがたりなくなったり、処理に時間がかかるので困っています。 VBAで処理する理由は、はじめに学んだからです。 VBで処理するように変えようか迷っています。 教えていただけないでしょうか? よろしくお願いします。

  • フォントの色自動について

    フォントの色自動 WordとExcelの違いについてお尋ねします。 Wordで塗りつぶしの色を濃い色を選べば、黒色だった文字の色が 白色に自動的に変わります。 しかし、Excelではそれが行われません。 例えば文字を入力したセルに塗りつぶしの色で 濃い色を選んでも、文字の色はWordみたいに変わりません。 ExcelでもWordのようにセルに塗りつぶしの色で濃い色を選んだら 黒色だった文字の色が白色に自動的に変わるようにできないんでしょうか? 解答よろしくお願いします。

  • エクセルVBEにおける中断モードとその後の処理

    Excel VBAの初心者です。Windows Vistaで Excel2007を使っています。 VBEから下記のコードを使ってBook1に 日曜から土曜までの曜日入力をオートフィル を使って自動入力ができるようにしたいと思っています。 Sub 曜日入力() Range("A1") = "日" Range("B1") = "月" Range("A1:B1").Select Selection.AutoFill Destinaition:=Range("A1:G1") End Sub ところが最初 Selection.AutoFill Destinaition:=Range("A1:G1") のところを Selection.AutoFill Destinaition:=Range("A1:G7") 入力したため、エラーが返され実行されませんでした。 そのため再度VBEに戻って Selection.AutoFill Destinaition:=Range("A1:G1") と入力し、エクセルBookにもどってマクロを実行させようとすると 「中断モードでコードを実行することができません」 とまたまたエラーが返されてしまいました。 そこで質問が2つです。 1.そもそもこの中断モードってなんでしょうか? 2.このあとどうしたらエラーを出さずにマクロを 実行させることができるでしょうか? ご存知の方、ご教示願います。

  • VBA

    VBAでこの計算をする方法ありますか? (1000÷(X÷60)+3)÷3=7

  • Excel VBAで表組みしたらデバック発生

    Excel VBAの初心者です。Windows Vistaで Excel2007を使っています。 表をマクロの実行で作成したいと思っています。 何もないエクセルブックより 「開発」→「マクロの記録」→「相対参照」 →「表の作成」→「記録終了」→「相対参照で記録の解除」 →「エクセルマクロ有効ブックで保存」 ところがこのマクロ記録が入ったブックを再度立ち上げ、 表をオールクリアにし、マクロボタンより表作成を実行 させようとすると、次のエラーメッセージがでました。 『実行時エラー'9' インデックスが有効範囲にありません。』 デバックからModule1をみると以下の記述となっていました。 Sub 表組み() ' ' 表組み Macro ' ' ActiveCell.Range("A1:E5").Select Selection.Copy Windows("Book1").Activate ActiveSheet.Paste ActiveCell.Columns("A:A").EntireColumn.Select ActiveCell.Rows("1:1").EntireRow.RowHeight = 11.25 ActiveCell.Rows("1:5").EntireRow.Select Selection.RowHeight = 21.75 ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 14.88 ActiveCell.Offset(0, 4).Range("A1").Select Application.CutCopyMode = False With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With ActiveCell.Offset(1, -3).Range("A1:D4").Select Selection.NumberFormatLocal = "#,##0_ " ActiveCell.Select ActiveCell.FormulaR1C1 = "78000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "102000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "9800" ActiveCell.Offset(-2, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "65000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "204000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "500" ActiveCell.Offset(-2, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "86000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "151000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "10200" ActiveCell.Offset(-2, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-3]:RC[-1])" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-3]:RC[-1])" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-2]C:R[-1]C)" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(0, -3).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(-4, -2).Range("A1:D1").Select Selection.AutoFilter End Sub 上から9行目(?)のWindows("Book1").Activateに 黄色い矢印が示され、また行全体が黄色く四角に 覆われていました。 おそらくこの記述に問題があると思いますが、 どんな記述に変えたらいいのか分かりません。 Excel VBAにお詳しい方ご教示願います。 なお、マクロで作成したい図を添付いたします。 参考にしていただければ幸いです。

  • Excel VBAで表組みしたらデバック発生

    Excel VBAの初心者です。Windows Vistaで Excel2007を使っています。 表をマクロの実行で作成したいと思っています。 何もないエクセルブックより 「開発」→「マクロの記録」→「相対参照」 →「表の作成」→「記録終了」→「相対参照で記録の解除」 →「エクセルマクロ有効ブックで保存」 ところがこのマクロ記録が入ったブックを再度立ち上げ、 表をオールクリアにし、マクロボタンより表作成を実行 させようとすると、次のエラーメッセージがでました。 『実行時エラー'9' インデックスが有効範囲にありません。』 デバックからModule1をみると以下の記述となっていました。 Sub 表組み() ' ' 表組み Macro ' ' ActiveCell.Range("A1:E5").Select Selection.Copy Windows("Book1").Activate ActiveSheet.Paste ActiveCell.Columns("A:A").EntireColumn.Select ActiveCell.Rows("1:1").EntireRow.RowHeight = 11.25 ActiveCell.Rows("1:5").EntireRow.Select Selection.RowHeight = 21.75 ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 14.88 ActiveCell.Offset(0, 4).Range("A1").Select Application.CutCopyMode = False With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With ActiveCell.Offset(1, -3).Range("A1:D4").Select Selection.NumberFormatLocal = "#,##0_ " ActiveCell.Select ActiveCell.FormulaR1C1 = "78000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "102000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "9800" ActiveCell.Offset(-2, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "65000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "204000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "500" ActiveCell.Offset(-2, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "86000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "151000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "10200" ActiveCell.Offset(-2, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-3]:RC[-1])" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-3]:RC[-1])" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-2]C:R[-1]C)" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(0, -3).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(-4, -2).Range("A1:D1").Select Selection.AutoFilter End Sub 上から9行目(?)のWindows("Book1").Activateに 黄色い矢印が示され、また行全体が黄色く四角に 覆われていました。 おそらくこの記述に問題があると思いますが、 どんな記述に変えたらいいのか分かりません。 Excel VBAにお詳しい方ご教示願います。 なお、マクロで作成したい図を添付いたします。 参考にしていただければ幸いです。

  • Excel VBAで表組みしたらデバック発生

    Excel VBAの初心者です。Windows Vistaで Excel2007を使っています。 表をマクロの実行で作成したいと思っています。 何もないエクセルブックより 「開発」→「マクロの記録」→「相対参照」 →「表の作成」→「記録終了」→「相対参照で記録の解除」 →「エクセルマクロ有効ブックで保存」 ところがこのマクロ記録が入ったブックを再度立ち上げ、 表をオールクリアにし、マクロボタンより表作成を実行 させようとすると、次のエラーメッセージがでました。 『実行時エラー'9' インデックスが有効範囲にありません。』 デバックからModule1をみると以下の記述となっていました。 Sub 表組み() ' ' 表組み Macro ' ' ActiveCell.Range("A1:E5").Select Selection.Copy Windows("Book1").Activate ActiveSheet.Paste ActiveCell.Columns("A:A").EntireColumn.Select ActiveCell.Rows("1:1").EntireRow.RowHeight = 11.25 ActiveCell.Rows("1:5").EntireRow.Select Selection.RowHeight = 21.75 ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 14.88 ActiveCell.Offset(0, 4).Range("A1").Select Application.CutCopyMode = False With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With ActiveCell.Offset(1, -3).Range("A1:D4").Select Selection.NumberFormatLocal = "#,##0_ " ActiveCell.Select ActiveCell.FormulaR1C1 = "78000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "102000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "9800" ActiveCell.Offset(-2, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "65000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "204000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "500" ActiveCell.Offset(-2, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "86000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "151000" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "10200" ActiveCell.Offset(-2, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-3]:RC[-1])" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(RC[-3]:RC[-1])" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-2]C:R[-1]C)" ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(0, -3).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)" ActiveCell.Offset(-4, -2).Range("A1:D1").Select Selection.AutoFilter End Sub 上から9行目(?)のWindows("Book1").Activateに 黄色い矢印が示され、また行全体が黄色く四角に 覆われていました。 おそらくこの記述に問題があると思いますが、 どんな記述に変えたらいいのか分かりません。 Excel VBAにお詳しい方ご教示願います。 なお、マクロで作成したい図を添付いたします。 参考にしていただければ幸いです。

  • エクセルで画像の自動挿入は可能でしょうか?

    エクセルのVLOOKUPで画像を数式で自動挿入は可能でしょうか? 例えば A1のセルに品番111を入力して A2にC:\Users\X\Desktop\画像\A\111.jpgの画像を自動的に挿入する事は可能でしょうか? もし可能ならばどの様な数式になりますでしょうか? 宜しくお願いします

  • vbaでoutlookのメール本文取得時の問題

    vbaでoutlookのメール本文取得時の問題役に立った:0件 質問者:sstta 投稿日時:2011/05/07 11:51 困り度: メールの仕分けルールで、条件に該当したメールに対して以下を 実行するように設定しています。 Sub CustomMailMessageRule(Item As Outlook.MailItem) msgbox(Item.body) End Sub 一応、メール本文が表示されはするのですが、何故か空白行だけ「?」マークが 入ってしまいます。対象メールがhtml形式でもテキスト形式でも同じです。 上記はmsgboxですが、テキストファイルに出力しても変わりません。 どうしたら?が入らないようになりますでしょうか?

  • 会社で使うOfficeソフトの割合

    会社では、自社ソフトやグループウェアも含めて様々なソフトを使われていると思います。 その中でMicrosoft Office製のソフトの割合と会社規模を教えていただけないでしょうか。 (メーラーは除きます) 御社で仕事をしている人はどうだか、感覚としてで結構です。 テンプレートとして ■割合 ・Excel ・Word ・Powerpoint ・Access ・その他(ソフトの名前) ■会社規模 ・~10名 ・~50名 ・~100名 ・~500名 ・~1000名以上 これをコピーしてお願いできないでしょうか。 <例> ■割合 ・Excel 60% ・Word 10% ・Powerpoint 20% ・Access 10% ・その他 0% ■会社規模 ・~100名 このように回答いただければ幸いです。

  • プログラミングのコード量に関する素朴な疑問

    自分がプログラミングを初めてから、ふと思った疑問なのですが、 たとえば、ファイナルファンタジーとかドラクエとかって、どのくらいのコードを書いて、あんなゲームになっているんだろう??なんて思いました。 僕はExcelのVBA機能を使ってプログラムをしているのですが、 ひとつのモジュールで、だいたい、1500行前後、これをWordで文字数をカウントしたら、約3万文字でした。 これ以上書きこむと、そのコードを実行するのに耐えられない時間を要するので、だいたいこの程度で、ひとつのモジュールを終えているんだと思います。 プログラムの書き方や、繰り返し処理の設定の仕方や、僕の場合はExcelベースなので、特にシートとのアクセスの多さでコード量なんてプログラムを組む人それぞれだと思いますが、プログラムを組むプロの人たちが、制限容量の中で頑張ってあんなゲームを作るためには、どんだけの行数、文字数を使ったプログラムを作成するんだろう? と、ふと疑問に思ってしまいました。 別にドラクエなどでなくてもよいのですが、たとえば、このプログラムはこんだけの量(行数だったり、文字数だったり)を要さないと作れなかったんだよー、みたいなことをご存じの方がおりましたら、その逸話などを紹介していただけないでしょうか?? たとえば、僕が実際に検索してみた「素数を生成」するプログラムなどは、多くの方が作成されており、長いものから、短いものまで、同じような結果がでるのに、さまざまでとても興味深いです。 ファミコン時代などは、容量がこれくらいの制限だから、これくらいのコード(文字数とか。。。)しか納められなかったんだよ…、みたいなことも知れたら幸いです。 どうぞ、よろしくお願いいたします。