hige_082 の回答履歴

全1209件中181~200件表示
  • エクセルアドインの自動インストール

    エクセルアドインを自動的にインストールする方法 に関して質問があります。 現在、作成したエクセルアドインを以下の手順で登録しています。 (1)エクセルを開く。 (2)メニューから「ツール」→「アドイン」でアドイン画面を開く。 (3)「参照」ボタンを押してアドイン(.xla)を選択する。 この一連の作業をインストーラの実行のように 一発で完了させたいのですが可能でしょうか? インストールシールドなどのツールを使えばできる等の情報でも 構いませんのでご存知の方がいましたら教えてください。 WindowsXP+Excel2003

  • エクセルVBAで。

    お世話になります。 VBA初心者です。 (初心者でもないのですが、しばらく遠ざかっていました。) エクセルVBAの記述内容をコピーし、 エクセルの通常のシートへ貼り付けした際、 記述上「’」で始まる文字は緑色が付いていますが、 通常のシートへ貼り付けした際、黒字になってしまいます。 そこで、下記の様なVBAを記述し、貼り付け後に、 「’」から始まる文字を緑色に着色しようと試みましたが (やはり)うまくいきませんでした。 エクセル関数なんかも織り交ぜたおかしな記述だと思いますが 何となくやりたい事が伝わって頂けるかと思うのですが、 どう修正したら出来ますでしょうか。 ご教授下さいます様、宜しくお願いいたします。   記 Sub 色() Dim y As Integer Dim x As Integer Dim a As Integer mysheet = ActiveSheet.Name For y = 1 To 10 x = Sheets(mysheet).Cells(Rows.Count, y).End(xlUp).Row a = 0 Do Until a > x a = a + 1 If Right(Cells(y, a), 1) = "'" Then Cells(y, a).Select Selection.Font.ColorIndex = 10 End If Loop Next End Sub

  • エクセルで指定した文字に自動で置換することは可能ですか??

    A1セルに「バナナ」と表示されると下のマクロの記録で作った”置換するマクロ”の「りんご」の部分を「バナナ」に変更し、さらにこの置換マクロを自動実行することはできますか?? Sub Macro1()' Cells.Select Selection.Replace What:="名前(1)", Replacement:="りんご", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Range("A1").Select End Sub このマクロの記録でなくてもいいんですが、あるセルに置換したい文字が表示された時点でシート内の置換が実行されるようにしたいんですけど・・・・・。 よろしくお願いします。

  • Filterがかかっている状態でさらに選択している範囲の行番号を取得したい

    タイトル通りですが、選択範囲の中を 単にEach でループすると 隠れている部分のCellまでみているようです。 フィルターで表にある部分だけを対象に処理はできないものでしょうか? Excel2003 SP3 Windows XP SP3

  • VBAでオートシェイプのグループ化についての質問です。

    VBAでオートシェイプのグループ化についての質問です。 オートシェイプ線(Line)で台形を作成し全てを選択し、グループ化したいと考えています。 また、連続して台形を作成していきたいと考えています。 ?4本線を引く ?グループ化(Aグループ) ?4本線を引く ?グループ化(Aグループ)  ⇒ 連続して作成・・・ Dim st() As Variant Dim ob As Shape Dim MyLine As Shape '線の作成 Set MyLine = ActiveSheet.Shapes.AddLine(startX, startY, widthX, heightY) '線の選択 For Each ob In ActiveSheet.Shapes   ReDim Preserve st(j)   st(j) = ob.name   j = j + 1 Next ob 'グループ化 Worksheets("test").Shapes.Range(st).Select Selection.ShapeRange.Group.Select と上記コードで一つのグループは作成出来たのですが、次に作成すると Worksheets("test").Shapes.Range(st).Select Selection.ShapeRange.Group.Select でエラーになります。 恐らく前のグループ化内の線も選択してしまうのではないかと思っていますが、対処の仕方が解りません。 線の作成方法から選択方法等いろいろ意見が聞きたいと思っています。 アドバイスよろしくお願いいたします。 m(__)m

  • VBAでESCキーを無効にしたいのですが、うまくいきません。

    EXCEL VBA でESCキーを無効にするために、 Application.EnableCancelKey = xlDisabled を使用していますが、 特定のフォルダ内のEXCELファイルを開いて、ある処理をして保存するといったプログラムでは、ESCキーを無効にすることができませんでした。 原因を探るために以下のテストプログラムを作成しましたが、実行中にESCキーを押すと(長押しすると確実に) 「実行時エラー'1004' openメソッドは失敗しました。'Workbooks'オブジェクト」 のメッセージが表示されて止まってしまいます。 どこに原因があるのでしょうか? よろしくお願いします。 以下、テストプログラム ////////// Private Sub CbStart_Click() Dim Fname As String Dim Fpath As String Application.ScreenUpdating = False Application.EnableCancelKey = xlDisabled Fpath = "d:\work\" Fname = Dir(Fpath & "*.xlsx") Do While Fname <> "" Workbooks.Open Fpath & Fname CloseWorkbook Fname Fname = Dir() Loop Application.ScreenUpdating = True End Sub 以上 //////////////////

  • エクセルのRANK関数の応用

    エクセルのRANK関数を使って、順位を表示させたいのですが、 空白セルと、"0"の値が1位にカウントされてしまいます。 これを除外して表示させる方法は無いようなので、 これをVBAで作る事は出来ますでしょうか? "0"と空白セルは除外し、数値の小さい順に表示させたいのです。 以上よろしくお願いします。

  • EXCELで広い範囲のセルに簡単にコピーする方法

    EXCEL2003で大き目のデータを取り扱っています。 たとえば、A1のセルの内容をA1000まで簡単に一括コピーする方法はないでしょうか? いま、A1をコピーしてA2:A1000でマウスを動かして範囲指定しながらコピーしていますが、範囲指定する時間がわずらわしく感じます。 EXCELのワザでも、VBAでもどちらでもいいので教えて下されば助かります。

  • VBAの質問です。

    VBAの質問です。 A列に結合したセルがあり、 B列に結合セルの何番目かを出力する、という関数を作成したいです。 呼び元は、1行ごとにこの関数を呼び出します。 呼び元は他の処理も行っていて、機能追加の意味で別関数を用意したいです。 どうすればB列に番号を振れるでしょうか。 宜しくお願いします。 | A | B | --+-------+-------+ 1 | | 1 | --+ +-------+ 2 | | 2 | --+ +-------+ 3 | | 3 | --+-------+-------+ 4 | | 1 | --+-------+-------+ 5 | | 1 | --+ +-------+ 6 | | 2 | --+-------+-------+ イメージ書いて見ました。 Dim r As Integer Sub 呼び元() For i = 1 To 6 r = 1 Call 結合番号出力 Next End Sub Sub 結合番号出力() Cells(r, "B").Value = ●●● End Sub

  • EXCELで広い範囲のセルに簡単にコピーする方法

    EXCEL2003で大き目のデータを取り扱っています。 たとえば、A1のセルの内容をA1000まで簡単に一括コピーする方法はないでしょうか? いま、A1をコピーしてA2:A1000でマウスを動かして範囲指定しながらコピーしていますが、範囲指定する時間がわずらわしく感じます。 EXCELのワザでも、VBAでもどちらでもいいので教えて下されば助かります。

  • エクセルマクロ シートごとに分割

    編集の関係上、県別にシート分けをしたいのですが マクロで出来ないでしょうか? もし出来るようでしたら教えていただけると助かります。 社名 県名 ・・・・・・ a 北海道 b 北海道 c 青森 d 青森 ・ ・ ・ ↓ シート名:北海道 社名 県名・・・・ a 北海道 b 北海道

  • CSV形式で名前を付けて保存 マクロ

    教えてください。 エクセルでシート2を  「名前を付けて保存」ダイアログを表示させ、  「保存する場所」をデスクトップにして、  「ファイル名」をシート1のセルA7に設定し、  「ファイルの種類」をCSV形式に設定と したいので色々と調べそれぞれの構文は分かったのですが、 それらを組み合わせるとエラーがでて上手くできません。 例えば Sub サンプル() Application.Dialogs(xlDialogSaveAs).Show FileFormat:=xlCSV End Sub 上記のように入力すると FileFormat:=xlCSVの箇所でエラーが発生します。 仕事で使えればかなり楽になるので初心者なりに頑張っていますが、 行き詰っており、どなたか教えて頂けないでしょうか? お願いします。

  • エクセルのアクティブセルの表示を変更する方法がわからず困っております。

    エクセルのアクティブセルの表示を変更する方法がわからず困っております。 理想としては、以下の様にしたいです。 左と上の面(行数・列数が表示されている部分)からアクティブセルまで線が延びてくる様にしたい。 この線は固定せず、アクティブセルを動かすと一緒に移動する様にしたい。 例:D7にアクティブセルがある場合、   Dと7の表記がされている部分から線が延びてくる。 表の数値等を確認する場合に、セルから線が延びていると間違いが少なく済みそうなので方法を探しております。 いい方法がありましたら教えて下さい。お願いします。

  • VBAでESCキーを無効にしたいのですが、うまくいきません。

    EXCEL VBA でESCキーを無効にするために、 Application.EnableCancelKey = xlDisabled を使用していますが、 特定のフォルダ内のEXCELファイルを開いて、ある処理をして保存するといったプログラムでは、ESCキーを無効にすることができませんでした。 原因を探るために以下のテストプログラムを作成しましたが、実行中にESCキーを押すと(長押しすると確実に) 「実行時エラー'1004' openメソッドは失敗しました。'Workbooks'オブジェクト」 のメッセージが表示されて止まってしまいます。 どこに原因があるのでしょうか? よろしくお願いします。 以下、テストプログラム ////////// Private Sub CbStart_Click() Dim Fname As String Dim Fpath As String Application.ScreenUpdating = False Application.EnableCancelKey = xlDisabled Fpath = "d:\work\" Fname = Dir(Fpath & "*.xlsx") Do While Fname <> "" Workbooks.Open Fpath & Fname CloseWorkbook Fname Fname = Dir() Loop Application.ScreenUpdating = True End Sub 以上 //////////////////

  • vbaマクロ 実行時エラー '91'について教えてください

    下記のマクロで、ファイル指定保存をする時に "実行時エラー91 オブジェクト変数またはWithブロック変数が設定されていません”がでます。 やりたいのは、選択したセルの1番目をファイル名として 保存をしたいのですが、うまくいきません。 どうしたらよいのでしょうか? Sub Macro1() Dim セル As Object Dim i As Long  i = 1  For Each セル In Selection   Worksheets("Sheet2").Cells(1, i).Value = セル     i = i + 1  Next ActiveWorkbook.SaveAs Filename:="D:\TEST\" & セル & ".xls" End Sub

  • VBAでESCキーを無効にしたいのですが、うまくいきません。

    EXCEL VBA でESCキーを無効にするために、 Application.EnableCancelKey = xlDisabled を使用していますが、 特定のフォルダ内のEXCELファイルを開いて、ある処理をして保存するといったプログラムでは、ESCキーを無効にすることができませんでした。 原因を探るために以下のテストプログラムを作成しましたが、実行中にESCキーを押すと(長押しすると確実に) 「実行時エラー'1004' openメソッドは失敗しました。'Workbooks'オブジェクト」 のメッセージが表示されて止まってしまいます。 どこに原因があるのでしょうか? よろしくお願いします。 以下、テストプログラム ////////// Private Sub CbStart_Click() Dim Fname As String Dim Fpath As String Application.ScreenUpdating = False Application.EnableCancelKey = xlDisabled Fpath = "d:\work\" Fname = Dir(Fpath & "*.xlsx") Do While Fname <> "" Workbooks.Open Fpath & Fname CloseWorkbook Fname Fname = Dir() Loop Application.ScreenUpdating = True End Sub 以上 //////////////////

  • エクセルで同じ項目の省略

    質問タイトルをどのようにしたらよいかわからなかったんですが、 エクセル表を2ページにわたり同じように作った場合、印刷は当然すべての項目が印刷されますが、作成において、表示を一部同じ項目は省略または非表示にする方法を教えてください。 印刷は、  A        B        C  となるが、 作成中は、 B         C  の表示のみとなる方法です。 エクセルにあまり詳しくなくて、説明も十分でありませんが、よろしくお願いいたします。     

  • エクセルで複数のブックの一部を抽出する

    エクセルで複数のブックの一部をBOOK1に1行ずつコピーしたいんですが、いろいろ探して近いものは見つけたのですが、元になるブックの1部の列をコピーするブックの行にコピー出来ないでしょうか? merlionXXさんのhttp://oshiete1.goo.ne.jp/qa4969413.htmlこれを参考にして作っているのですが、 課名D16 商品名B20:B39 枚数H20:H39 金額I20:I39 の部分をbook1に1件1行としてコピーしたいのですができますでしょうか? もとのブックの行数は決まっています。 どうか力を貸してください。よろしくお願いします。 Sub test02() Dim MyFile As String, MyPath As String '変数宣言 Dim x As Long, y As Long Dim wb As Workbook, tb As Workbook Dim ka As String Dim sh1, sh2 Set tb = ThisWorkbook MyPath = tb.Path & "\" '自分のパスを取得 MyFile = Dir(MyPath & "*.xls", vbNormal) 'パス内のエクセルファイル Application.ScreenUpdating = False '画面更新停止 Application.Calculation = xlCalculationManual '自動計算停止 Do While MyFile <> "" 'エクセルファイルがなくなるまで If MyFile <> tb.Name Then '自分以外のファイルを対象 Set wb = Workbooks.Open(MyPath & MyFile) '選択したファイルを開く With ActiveSheet ka = .Range("D16").Value '課名取得 x = .Range("B" & Rows.Count).End(xlUp).Row '最終行取得 sh1 = .Range("B20:B" & x).Value '商品名取得 sh2 = .Range("H20:I" & x).Value '数量&金額取得 End With With tb.Sheets("Sheet1") y = .Range("B" & Rows.Count).End(xlUp).Row '最終行取得 y = IIf(.Range("B" & y) = "", y, y + 1) If x >= 20 Then '納品書B20以下にデータがあれば Set myRng = .Range("A" & y).Resize(x - 19, 1) myRng.Value = ka '課名転記 myRng.Offset(, 1).Value = sh1 '商品名転記 myRng.Offset(, 2).Resize(, 2).Value = sh2 '数量&金額転記 End If End With wb.Close (False) '選択したファイルを閉じる End If MyFile = Dir() '次のファイルを検索 Loop '繰り返し Application.Calculation = xlCalculationAutomatic '自動計算停止解除 Application.ScreenUpdating = True '画面更新停止解除 Set tb = Nothing Set wb = Nothing Set myRng = Nothing End Sub

  • VBAによる検索、置換

    新しい台帳を作ろうとしています。 2つのシートを用いてデータベース(シート1)そのデータを日別に抽出したもの(シート2)を使い作業をしたいと思ってます。 1ブックにつき、一ヶ月分を入力するが月末には約1000件にもデータが増えてしまう。シート1には一ヶ月通して全件表示(+随時追加可能)。しかし、シート1には未入力セルがある。シート2には日付毎に抽出転記。入力内容の変更・訂正や更新は、シート2で行いたい。シート2では入力内容が判明し次第、随時入力しシート1へ反映させたい。 シート1 A B C D E 1 No. 日付 顧客 商品名 依頼先 2 1  1/2 **商店 N-01 (  ) 3 2  1/4 **商店 M-50 (  ) 4 3  1/5 ++販売 O-04 (  ) 5 4  1/4 --産業 H-07 (  ) 6 5  1/6 ##商事 M-50 (  ) 7 6  1/4 ++販売 A-30 (  ) ※そこへ日付「1/4」を選択する シート2 A B C D E 1 No. 日付 顧客 商品名 依頼先 2 2  1/4 **商店 M-50 (  ) 3 4  1/4 --産業 H-07 (  ) 4 6  1/4 ++販売 A-30 (  ) 5 ※依頼先が決まりこれを少し編集,追加し シート2 A B C D E 1 No. 日付 顧客 商品名 依頼先 2 2  1/4 **商店 M-500 "○○店" 3 4  1/4 --産業 H-07 "▲▲会社" 4 6  1/4 ++販売 A-300 "○○店" 5 終了… シート1 A B C D E 1 No. 日付 顧客 商品名 依頼先 2 1  1/2 **商店 N-01  (  ) 3 2  1/4 **商店 M-500 "○○店" 4 3  1/5 ++販売 OS-04 (  ) 5 4  1/4 --産業 H-07 "▲▲会社" 6 5  1/6 ##商事 M-500 (  ) 7 6  1/4 ++販売 A-300 "○○店"  "日付を操作できるマクロボタンがある" ボタンをクリックするとシート1の内容をシート2へ再更新するようになっている。 日付を記載しているセルがあり、マクロボタン1をクリックすると日付が進み、マクロボタン2だと戻るように なっている。  現行VBA Sub ReturnDate() Dim myRow1 As Long, myRow2 As Long myRow1 = Sheets("運行台帳").Range("C65536").End(xlUp).Row myRow2 = Sheets("日別抽出").Range("C65536").End(xlUp).Row Sheets("日別抽出").Range("F4").Value = Format(DateValue(Sheets("日別抽出").Range("F4").Value) _ - 1, "yyyy/mm/dd") If myRow2 >= 6 Then Sheets("日別抽出").Range("C6:AB" & myRow2).ClearContents End If Sheets("運行台帳").Range("C6:AB" & myRow1).AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("F3:F4"), CopyToRange:=Range("C6"), Unique:=False End Sub 上記フォームを用いたうえで追加処理は次のとおりです(出来ないところ)  (1)上記載のシート2からコピーしてシート1へ貼り付けたいときにどのようにしたらいいのか? ※(2)シート1→シート2のフィルタコピペでは抜粋するだけだが逆の時には行番号が不確定である。不確定の行を指定できる方法は? 長々と申し訳ございません。宜しくお願いします。

  • 実行時エラー9:インデックスが有効範囲にありません」ができてた。調べた

    実行時エラー9:インデックスが有効範囲にありません」ができてた。調べたのですが、原因は分からない、皆さん、助けてください。 以下はあるフォルダーを選定して、セルの値と一致するファイルを探し出して、シートAの中のデータを取り上げて、コピーしたいです。けど、エラーが出てきた。皆さん。よろしくお願いします。 Sub test() Dim forName, bookName As String Dim x, y, l As Long Const cnsDIR = "\*.xls" Dim bFound As Boolean Dim myBook, actBook As Workbook Dim mySheet, actSheet As Worksheet With Application.FileDialog(msoFileDialogFolderPicker) If .Show = True Then myPath = .SelectedItems(1) End If End With forName = Dir(myPath, vbDirectory) If Dir(myPath, vbDirectory) = "" Then MsgBox "It's nothing!", vbExclamation Exit Sub End If bFound = False For x = 2 To 7 Step 1 bookName = Dir(myPath & cnsDIR, vbNormal) Do While bookName <> "" l = InStrRev(bookName, ".xls") If Mid(bookName, l - 4, 4) = Format(Cells(4, x), "0000") Then bFound = True Exit Do 'hang/lie Else bookName = Dir() End If Loop If bFound = False Then Rtn = MsgBox("This is no found. Do you want to continue?", vbYesNo, "選択") If Rtn = vbNo Then Exit For End If Windows(bookName).Activate actSheet = ActiveWorkbook.Sheets For Each actSheet In Worksheets If ActiveSheet.Name = "A" Then Application.Union(Range("C55:F55"), Range("H55:I55")).Copy ThisWorkbook.Sheets(4).Range("B5").PasteSpecial Paste:=xlValues, Transpose:=True End If Next Next x End Sub