• ベストアンサー

エクセル 関数 マクロ(画像追加)

SI299792の回答

  • SI299792
  • ベストアンサー率48% (730/1516)
回答No.2

済みません。検証したら計算に時間がかかったので、数式を変更します。 (回答を削除できたらいいのに。) GY~GZ列をワークエリアに使います。目障りなら非表示にして下さい。 GY16 1 (数字でも文字でも何でもいい) GZ16 =SUBTOTAL(103,GY16) 纏めてGY16:GY10000へコピペ。 J4: =COUNTIFS($GZ$16:$GZ$10000,1,J$16:J$10000,$I4) J4:FZ10 へコピペ。

rieeir3580
質問者

補足

SI299792さん いろいろアドバイスありがとうございます。 これ、ワークエリアってやつですか? すみません無知でして今更ながらの質問ですみません。 自分でもワークエリア調べてみますが・・・

関連するQ&A

  • エクセルでのマクロ:画像の貼り付け

    お世話になります。 まだマクロについて不勉強ですが、表記のことができるかどうか気になっています。 お教えください。 1 エクセルの列に A B Cと表記しておく 2 「A」「B」「C」という名前のフォルダから画像を取ってきてA BCの列の下に貼り付ける 3 新しく「D」というフォルダができた場合、エクセルの列にDを追記してさらに貼り付けていく   (クリックを押せば自動的に貼り付けれるでもよいです) できるできないでもいいのでお教えください。 よろしくお願いします。

  • エクセルで同じ大きさの画像だけを並び替えるマクロ

    仕事でエクセルのシートに600枚ほどの写真画像を並べる作業をしなければなりません。 画像のサイズは2種類あり、  ・大きなサイズの画像(高さ5.73cm、幅7.51cm)が2枚、  ・小さなサイズの画像(高さ4.31cm、幅5.77cm)約50枚(以下n枚とします) を1つのsheetに配置します。 このとき、大きなサイズの画像はシートの右上に並べ、小さなサイズの画像は横4枚×縦(n/4)+1列に並べなければなりません。シート上での配置のイメージは下のような感じです。 ●:大きなサイズの画像 ☆:小さなサイズの画像 --:シートの範囲だと思ってください -----------------------------                  ●● ☆     ☆     ☆     ☆ ☆     ☆     ☆     ☆ ☆     ☆     ☆     ☆ ☆     ☆     ☆     ☆ ・ ・(途中省略) ・ ☆     ☆     ☆     ☆ ----------------------------- シート右上に配置されてある大きなサイズの画像配置を変更せずに、小さなサイズの画像のみを選択して横4枚の格子状に並べるにはどのようなマクロを組めばよいでしょうか? 過去の質問QNo.3864319を参考にしましたが、この方法では同じサイズの画像すべてを並べ替えているように設定されてあります。したがって、このマクロを実行すると、位置を変えたくない大きなサイズの画像も含めて格子状に並べ替えられてしまうため、困っています。並べ替えをしなければならない画像は3000枚くらいになると思われるので、このマクロを完成させてしまわないと作業が締め切りに間に合わないのでとっても困っています。 どうかよろしくお願いいたします。

  • エクセルでマクロを使って画像を貼り付ける

    エクセルで画像を扱うことになり、関数では行き詰ってしまったので質問です。 過去に同じような質問をされているのをみつけましたが、VBAの知識がないために 自分に必要な改良ができませんでした。 やりたいことは、次の通りです。  1.セルE10に"P"の文字が入っていたら、処理はしない。  2.セルG10の文字列と同じファイル名のpngの画像を、K10に張り付ける。  3.E列(またはG列)が空白になったら、終了 画像ファイルは、エクセルファイルが保存されているフォルダに、画像というフォルダを作って、 その中に保存したいです。(フォルダ名は、英字でも構いません。) G列は名前なので、現状は氏と名の間に空白が入っています。 画像データのファイル名にも同じように空白を入れてありますが、空白があっても大丈夫でしょうか。 初めての質問なので、失礼があるかもしれませんが、宜しくお願いします。

  • 画像をエクセルに貼り付けるマクロ

    画像をエクセルに貼り付けるマクロ 複数の画像をエクセルに貼り付ける機会が多く、下記のマクロを利用しています。これは他人が作ったものでその人が今はいないため修正の仕方がわかりません。 これだとヨコに2個の画像で縦方向に画像が貼り付けられます。これをヨコに3個の画像で 縦方向に画像を貼り付けるようにしたいのですが、方法がわかりません。 お詳しい方どうかよろしくお願いします。 <現在> 1  2 3  4 5  6 <やりたいこと> 1  2  3 4  5  6 7  8  9 Sub Insertpic() Dim strFilter As String Dim Filenames As Variant Dim pic As picture Dim sc As Range Dim i As Long Dim j As Long Dim k As Long '「ファイルを開く」ダイアログでファイル名を取得 strFilter = "画像ファイル(*.jpg;*.jpeg;*.gif;*.bmp;*.png),*.jpg;*.jpeg;*.gif;*.bmp;*.png" Filenames = Application.GetOpenFilename( _ FileFilter:=strFilter, _ Title:="画像の挿入(複数画像が選択できます)", _ MultiSelect:=True) If Not IsArray(Filenames) Then Exit Sub ' 貼り付け開始セルを選択 'ActicveCellRange("C5").Select ' マクロ実行中の画面描写を停止 Application.ScreenUpdating = False ' 順番に画像を挿入 For i = LBound(Filenames) To UBound(Filenames) Set pic = ActiveSheet.Pictures.Insert(Filenames(i)) '画像の大きさ指定 With pic.ShapeRange .Height = 120# .Width = 175# .Rotation = 0# End With ' 次の貼り付け先を選択 Select Case i Mod 2 Case 1 '奇数回目 ActiveCell.Offset(, 4).Select Case 0 '偶数回目 ActiveCell.Offset(11, -4).Select End Select Set pic = Nothing Next i ' 終了 Application.ScreenUpdating = True MsgBox i - 1 & "枚の画像を挿入しました", vbInformation End Sub

  • これはマクロなんでしょうか?*エクセル*

    エクセルを開いて、日付を変更すると、該当する日付部分が自動的に変わってくれるというやつです。 ↑分かりにくかったらまた追記します。 詳しい方いらっしゃいましたら助言いただけないでしょうか? よろしくお願いします。

  • Excelへ画像追加

    OLEオートメーション(タイプライブラリ使用)で、Excelへ画像を表示させたいのですが、実現可能でしょうか? また、どのようにすればよいのでしょうか? よろしくお願いします。 環境:Excel2000 + VC6 + Win2k

  • エクセル マクロで困っています。画像がずれます。

    御質問させて頂きます。 エクセルで、マクロを使って画像を貼り込んでいます。 初心者ながらにいろいろ調べまして、マクロを使って、100枚ほどの写真をシートに貼り付ける作業をしています。 ですが、何を間違っているのか、だんだん写真がずれてきます。 セルの高さに合わせて画像を挿入してるつもりなんですが、どうやらあっておらずズレてきています。 初心者で本当にすみませんが、ご指導ください。。。 宜しくお願い致します。 Sub 複数の画像を挿入() Dim strFilter As String Dim Filenames As Variant Dim PIC As Picture ' 「ファイルを開く」ダイアログでファイル名を取得 strFilter = "画像ファイル(*.jpg;*.jpeg;*.gif;*.bmp;*.png),*.jpg;*.jpeg;*.gif;*.bmp;*.png" Filenames = Application.GetOpenFilename( _ FileFilter:=strFilter, _ Title:="図の挿入(複数選択可)", _ MultiSelect:=True) If Not IsArray(Filenames) Then Exit Sub ' ファイル名をソート Call BubbleSort_Str(Filenames, True, vbTextCompare) ' 貼り付け開始セルを選択 'ActicveCellRange("C5").Select ' マクロ実行中の画面描写を停止 Application.ScreenUpdating = False ' 順番に画像を挿入 For i = LBound(Filenames) To UBound(Filenames) Set PIC = ActiveSheet.Pictures.Insert(Filenames(i)) '------------------------------------------------------------- ' 画像の各種プロパティ変更 '------------------------------------------------------------- With PIC .Top = ActiveCell.Top ' 位置:アクティブセルの上側に重ねる .Left = ActiveCell.Left ' 位置:アクティブセルの左側に重ねる .Placement = xlMove ' 移動するがサイズ変更しない .PrintObject = True ' 印刷する End With With PIC.ShapeRange .LockAspectRatio = msoTrue ' 縦横比維持 ' 画像の高さをアクティブセルにあわせる ' 結合セルの場合でも対応 .Height = ActiveCell.MergeArea.Height End With ' 次の貼り付け先を選択(アクティブセルにする)[例:5個下のセル] ActiveCell.Offset(1).Select Set PIC = Nothing Next i ' 終了 Application.ScreenUpdating = True MsgBox i - 1 & "枚の画像を挿入しました", vbInformation End Sub

  • エクセル マクロ 画像についての質問です。

    エクセル マクロについての質問です。 下記のコードでセルに画像を合わせて貼り付け、表を作成しています。 が、このコードだと画像の保存先を移動させると画像が表示されなくなり、分類でフィルターをかけるとバラバラの違う画像が表示されてしまったりして困っています・・・。 どなたか良いご意見を頂ければと思い、投稿しました。よろしくお願いします! Sub PictFit() Dim PicFile As String Dim Pic As Picture PicFile = Application.GetOpenFilename() '画像のパスを取得 If PicFile = "False" Then Exit Sub Set Pic = ActiveSheet.Pictures.Insert(PicFile) '画像を貼り付ける With Pic .Height = ActiveCell.MergeArea.Height '画像の高さ .Top = ActiveCell.Top '画像の上位置を変更 .Left = ActiveCell.Left + (ActiveCell.MergeArea.Width - .Width) / 2 '画像の横位置を変更(セル幅中央に画像中央) End With End Sub

  • エクセル マクロ フルパスから画像を読み込む

    数日前からマクロを勉強し始めた初心者です。 下の画像のような表を作っています。 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ ■Sheet1 …「商品在庫一覧」 ■Sheet2 …「印刷用シート」※必要なものだけをSheet1から呼び出し、印刷用として同じシート上で並べ替える(図では‘行5’から下が印刷範囲です) ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ Sheet2のD列(D1~D3‥)に商品画像のフルパスを呼び出し、「写真を配置」のボタンを押すと、印刷範囲の‘行7’のセルに自動で画像が配置されるようにしたいです(‘あ’のパスの画像を‘い’のセルに)。 画像を配置するような関数はなく、マクロでなければ実現できないということで、似ている条件の構文をアレンジして‥と思ったのですが、マクロのことをきちんと理解できていないためうまくいきません。 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ ■「D1」のパスから「A7」に画像を配置する構文を教えていただけますでしょうか。 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ 初歩的なことを聞いてすみません。 完成までの残り時間があまりないもので、質問させていただきました。 どなたかお暇がありましたら、お願いいたします。

  • Excelマクロ 選択画像の大きさを100%に

    貼り付けた画像で、選択したものの画像の大きさを、元のサイズ100%にしたいです。 For Each shp in selection shp.ScaleHeight 1, msoTrue というようにしたいのですが、うまくいかず、手詰まりになりました。 簡単なサンプルを作って頂けないでしょうか。