hige_082 の回答履歴

全1209件中161~180件表示
  • 複数選択のListBoxでClickイベントが拾えません

    VBAのフォーム上で、複数選択ができるListBox1を作っています。 ListBox1を選択する度に、ListBox2へListBox1の選択内容で 絞り込んだListBox2のリストを作るという処理をしたいのですが、 ListBox1_ClickイベントでListBox1のリストクリック時に 何も反応がありません。 .MultiSelect = fmMultiSelectSingle で指定した複数リストボックスはClickイベントが拾えないのでしょうか? ListBox1リスト内のデータ選択・解除の度にイベントが 発生するようにしたいです。 宜しくお願いします。

  • マクロを自動登録できますか??

    エクセル2000を使用しています。 自分の業務を自動化する為、マクロを作成し新規ツールバーを作成して登録しています。   中々好評なマクロで、他の人のPCにも入れてあげたのですが、 VBAコードをコピーして、新規ツールバーを作って、ボタンをデザインをしていたのですが、PCが変わったり、ツールバーに新しいマクロを追加した時が非常めんどくさいんです。  アプリケーションをインストールするみたいに、簡単にコピーする事はできないでしょうか?  USBフラッシュに入れて、簡単にインストールできるとよいのですが・・・?  どなたか教えてください。

  • エクセルで複数ファイルコピー保存

    こういうことがやりたいです。 1、新規ブック作成 2、1997フォルダー内の19970303日報1を開きA1:K38をコピーし新ブック(sheet1)A1に貼り付け、次に19970303日報2を開きB3:K36をコピーし新ブック(sheet1)L5に貼り付ける。名前をつけて保存(新ブックのK2をファイル名にする)。すべて閉じる。また1からはじめ、同じ作業を次のファイル19970304日報1、19970304日報2に対して行う。  日報ファイルはファイル名が日付になっているため順番に並んでいます。またシートは1つです。  前にこのサイトで教えていた大ことを参考に作ってみましたが、日報ファイルが開いてコピーまでは動いていますが、貼り付けができないです。また名前をつけて保存もできないです。  初心者のため完全に理解して作っていなくておはづかしいですがご教授よろしくお願いします。 Sub copybook7() Dim myPath As String 'このブックのパス Dim DataFile As String 'Dir()で開くブック名 Dim copybook As Workbook '開いたブック Dim DataSht As Worksheet 'このブックの貼り付けシート Dim i As Long '貼り付け行カウンタ Workbooks.Add With ActiveSheet.PageSetup .PrintTitleRows = "" .PrintTitleColumns = "" End With With ActiveSheet.PageSetup Range("A1:G1,L1:AG1").ColumnWidth = 9 Range("H1:K1,AH1").ColumnWidth = 12 End With With ThisWorkbook Set DataSht = .Worksheets(1) myPath = "C:\1997\" DataFile = Dir(myPath & "*.xls", vbNormal) i = 1 Do While DataFile <> "" If DataFile <> .Name And _ InStr(1, DataFile, "日報") > 0 Then Set copybook = Application.Workbooks.Open( _ Filename:=myPath & DataFile, ReadOnly:=True) If InStr(1, DataFile, "日報1") > 0 Then copybook.ActiveSheet.Range("A1:K38").Copy DataSht.Range("A1").PasteSpecial Paste:=xlAll ElseIf InStr(1, DataFile, "日報2") > 0 Then copybook.ActiveSheet.Range("B3:K36").Copy DataSht.Range("L5").PasteSpecial Paste:=xlAll Else End If Application.DisplayAlerts = False copybook.Close SaveChanges:=False Application.DisplayAlerts = True Set copybook = Nothing End If DataFile = Dir ActiveWorkbook.SaveAs Filename:=ActiveSheet.Range("K2") & "日報" .Close Loop Set DataSht = Nothing End With End Sub

  • エクセルにてシートBの記入情報をシートの名前を入れるだけで、シートAに

    エクセルにてシートBの記入情報をシートの名前を入れるだけで、シートAに表示するようにしたいです。 シートB~AZまでに顧客の住所や電話番号などの情報が1社ごとに1シートに記載されています。シートAにはシートB~AZまでの顧客情報が一覧表示できるようにするため、シートの番号を入れるだけで、反映するような計算式を教えていただければと存じます。

  • http://okwave.jp/qa/q5634033.htmlにて

    http://okwave.jp/qa/q5634033.htmlにて質問させていただきました。その節はありがとうございました。 実はこれは私の質問の仕方が悪かったのですが、ちょっと予想と違うものであったことに気づきました。 本来は以下のようにしたいのですが、ご教示願いたいと思います。 上記URLでのご回答ですと、常に最終の「締」列-J2になってしまいます。 そうではなく、図のように最終の「締」列-最終の一つ前の「締」列が計算されるようにし、常に「締」列には数値が表示されている様にしたいのですが、いかがでしょうか? ご不明な点や情報不足は補足致しますので、ご指摘下さい。 よろしくお願い致します。

  • エクセルVBAで、シート1の値をシート2へ移すには?

    エクセルVBAの質問です。初心者です。 ■シート1のA1に「123」と打ったら、シート2のA1に「123」と表示される。そして、A2に「456」と打ったら、シート2のA2に「456」と表示される。続いてシート1のA3の値をシート2のA3に・・・とどんどん繰り返してたくさんの値を別のシートに移せるようにしたいです。 関数で言えば、VLOOKUP と似ている機能を作りたいと思ってます。 よろしくお願いします。

  • エクセル VBA 

    エクセル VBA  Sheet上にコマンドボタンをクリックさせたら 電卓表示させるにはどのように記述をしたら良いですか? (1)勿論、VBAで電卓作成したいのですが…何か良いサイトはありますか?それか  作り方を教えて欲しいです。 (2)ツール⇒すべてのプログラム⇒アクセサリ⇒電卓  で表示できますよね!それをコマンドボタンクリックで  表示させるには、どのように記述したら良いですか?   すいません教えてください!

  • vbaによるメール送信

    vbaによるメール送信 開いているExcelファイルをメールで送りたいと思っています。 Application.Dialogs(xlDialogSendMail).Show を使っていますが、 エラーが発生してしまいます。 エラー内容 メールでエラー発生。excelをいったん終了し、 メールシステムを再起動してから、もう一度実行して下さい。 原因と対処方法を教えて下さい。

  • マクロ:セルの範囲指定

    エクセルマクロで困っています。 セルの範囲指定をしようとしています。 初心者過ぎて、よくわかりません。 現在のマクロ↓ Sub 済() If ActiveCell.Column = 21 Then Selection.FormatConditions.Delete '条件付き書式削除 With Selection.Interior .ColorIndex = 16 .Pattern = xlSolid End With ActiveCell.Offset(0, 1).Select With Selection.Interior .ColorIndex = 16 .Pattern = xlSolid End With ActiveCell.Offset(0, 1).Select With Selection.Interior .ColorIndex = 16 .Pattern = xlSolid End With ActiveCell.Offset(0, 1).Select With Selection.Interior .ColorIndex = 16 .Pattern = xlSolid End With ActiveCell.Offset(0, 1).Select With Selection.Interior .ColorIndex = 16 .Pattern = xlSolid End With ActiveCell.Offset(0, 1).Select With Selection.Interior .ColorIndex = 16 .Pattern = xlSolid End With ActiveCell.Offset(0, 1).Select With Selection.Interior .ColorIndex = 16 .Pattern = xlSolid End With ActiveCell.Offset(0, 1).Select With Selection.Interior .ColorIndex = 16 .Pattern = xlSolid End With ActiveCell.Offset(0, 1).Select With Selection.Interior .ColorIndex = 16 .Pattern = xlSolid End With '色変え判定セル書き換え ActiveCell.Offset(0, 5).Select ActiveCell.FormulaR1C1 = "77" ActiveCell.Offset(0, -5).Select Else answer = MsgBox("U列を選択して下さい", vbCritical) End If End Sub やりたい事は、下記の通りです。 列Uがアクティブの時にU~ACの行を塗りつぶし。 列は変動します。 今は、やり方がよく分からなかったため オフセットで一つ一つ塗りつぶしてます。 マクロを組みすぎてファイルが重くなって困っています。 回答よろしくお願いいたします。

  • Application.ScreenUpdating = Falseで結果変わることありますか?

    Application.ScreenUpdating = Falseすると超高速化されるので これにしたいのですが、ただ画面が更新されないだけど結果には 影響することはありませんよね?

  • エクセルVBAのユーザーフォーム上にコマンドバーメニューの「グラフオブ

    エクセルVBAのユーザーフォーム上にコマンドバーメニューの「グラフオブジェクト」の機能をそのまま搭載したいのですが、何かよい方法はありませんでしょうか。 コントロール名が「グラフ オブジェクト(&C):」で、IDが「1622」であるとこまではわかっているのですが、どうやってユーザーフォーム上のコンボボックスで呼び出せばよいのかがわからず困っています。 趣旨としては、オリジナルのマクロや、頻繁に使用するコマンドバーメニューをユーザーフォーム上に集約したいというものです。 どうぞ宜しくお願い致します。

  • マクロを使ったコピペがうまく動作しない。

    あるデータを転記用のブック(月毎にシートが分かれています。シートの内容は同一)に貼り付ける処理を行うため、下記のようなマクロを組んだのですが、何故か貼りつきません。処理終了時には、転記元ブック(シート)で最終処理の範囲(5番目のB287)を選択しています。一体何がいけないのでしょうか? データはA1からPまでで毎月可変しています。 また、転記用ブックが12枚あるため、月を指定してから貼り付けたいのですが、どのようにすればよいでしょうか?(下記は直接シ-トを指定しました) Sub test() Dim 最終行 As Integer '-------------------------------------------- 開始 Windows("21-12.xls").Activate 最終行 = Range("p65536").End(xlUp).Row Sheets("1").Range("A1:p" & 最終行).Select Selection.Copy Windows("転記.xls").Activate Sheets(12月).Select Range("B1").PasteSpecial Paste:=xlPasteValues '-------------------------------------------- 1 Windows("21-12.xls").Activate 最終行 = Range("p65536").End(xlUp).Row Sheets("2").Range("A1:p" & 最終行).Select Selection.Copy Windows("転記.xls").Activate Sheets(12月).Select Range("B83").PasteSpecial Paste:=xlPasteValues '-------------------------------------------- 2 Windows("21-12.xls").Activate 最終行 = Range("p65536").End(xlUp).Row Sheets("3").Range("A1:p" & 最終行).Select Selection.Copy Windows("転記.xls").Activate Sheets(12月).Select Range("B157").PasteSpecial Paste:=xlPasteValues '-------------------------------------------- 3 Windows("21-12.xls").Activate 最終行 = Range("p65536").End(xlUp).Row Sheets("4").Range("A1:p" & 最終行).Select Selection.Copy Windows("転記.xls").Activate Sheets(12月).Select Range("B227").PasteSpecial Paste:=xlPasteValues '-------------------------------------------- 4 Windows("21-12.xls").Activate 最終行 = Range("p65536").End(xlUp).Row Sheets("5").Range("A1:p" & 最終行).Select Selection.Copy Windows("転記.xls").Activate Sheets(12月).Select Range("B287").PasteSpecial Paste:=xlPasteValues --------------------------------------------- 5 End Sub 

  • エクセルで任意の文字を抽出してその列の全ての文字を並べる方法

    エクセルの1列に赤 青 青といった感じに3行のセルに文字があり 2.4列目に赤が混じっていて、3列目には白 白 白で赤がない場合に、 赤がある列だけを判別して並べる方法ってありますか? 例えば、いま1・2・3・4列と昇降してますが 赤が3列目にはないので、1・2・4・3と並べるように文字判別して列を並び替えることできますか?

  • エクセル関数

    現在エクセルで勤務時間を計算するデータを作成しているのですが、1点わからない点がありまして質問させてください。 平日の残業時間の計算は =IF(OR(+$C6="土",$C6="日"),I6,IF(I6>480,I6-480,0)) のようにして一応17:30以降の働いた場合の表示はできているので、問題ないのですが、 たとえば、休日の場合、平日と同じように働いたとしても、残業扱いにするとき、労働基準法で6時間を超える作業をする場合、45分の休憩をとりなさいというものを考えて計算式を作る場合、単純に作業時間が6時間超える場合、作業開始時間から終了時間の差から1440-45の数値(時間を分に置き換えた数値)をかけてあげれば、計算できるのですが、 ここからが悩んでいます。 6時間に満たない作業時間の場合、45分の休憩時間を引かずに計算式で計算し、表に表したいのですが、どのようにしたらいいのでしょうか? 例) 13:00作業開始 17:30作業終了 4:30作業時間 としたいのですが、現在だと3:45と表示されてしまいます。 おそらくIF関数を使用すればできると思うのですが、思うようにできません。 6時間以上か未満か判断し、45分の休憩を考えた関数をどなたか教えていただけないでしょうか? 宜しくお願い致します。

  • ご指導願います。

    どなたが教えてください。 エクセルのVBAです。 dim row as Integer for row = 1 to 65535 if (selectSheet.Cells(1, row) = "") then selectSheet.Cells(1, row) = "#####" EndIf をアレンジしたいのです。 上記のプログラムが構築されているコマンドボタンと同じuserformにオプションボタンを5個、コンボボックスを一つ作りました。 オプションボタン1を選択するとコンボボックスにはあ行が。 オプションボタン2を選択するとコンボボックスにはか行が。 オプションボタン3を選択するとコンボボックスにはさ行が。 オプションボタン4を選択するとコンボボックスにはた行が。 オプションボタン5を選択するとコンボボックスにはな行が。 選択できるようにしたいのです。 次に選んだオプションボタンと同名前のシートに上記の#####が入力されるようにしたいのですが、どのようにすればいいのですか? また、違うuserformでもオプションボタンで選択したシートに記入されるように選択の保持ですか? そういったことは可能なのでしょうか? どなたか教えてください。

  • エクセルVBAでUndoをやり直して元に戻したい。

    エクセル2000または2003に関する質問です。 VBAでApplication.Undoを使用してユーザーが最後に実行した操作を取り消すことが可能ですが、逆にUndoメソッドで取り消した操作を元に戻すにはどうしたらよいのでしょうか? Application.SendKeys ("^y")  のようにUndoをやり直すショートカットを動かせば可能のようですが、ショートカットキーにたよらない方法はないのでしょうか。 ( ̄∇ ̄; ?

  • このマクロの意味を教えて下さい。

     条件付き書式の色付けで「指定した文字を含む」という条件を 4つ以上つくるということで、下のマクロを探してきたんですが、少しでも意味を 知りたいです。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub If Selection.Count > 1 Then Exit Sub x = Target.Value c = 0 If x Like "*あ*" Then c = 6 If x Like "*い*" Then c = 4 If x Like "*う*" Then c = 34 If x Like "*え*" Then c = 3 Target.Interior.ColorIndex = c End Sub これを実行したんですが、なぜ結合したセルの場合だけ、文字を 削除した際に色が残るのですか? それを指示している部分と改善策を教えて下さい。

  • あるセルに入力されたら別のシートの値を取りたい

    久し振りにお世話になります。 よろしく御願いします。 windows XP EXCELL2003 です あるシートの E17 に入力されたとき、 G17にはシート「リスト」P2の値を (値は312ときまっています) G18にはシート「リスト」P3の値を (値は買掛金ときまっています) のそれぞれの値を取るにはどうすればいいか教えていただけませんでしょうか。

  • エクセルVBAでUndoをやり直して元に戻したい。

    エクセル2000または2003に関する質問です。 VBAでApplication.Undoを使用してユーザーが最後に実行した操作を取り消すことが可能ですが、逆にUndoメソッドで取り消した操作を元に戻すにはどうしたらよいのでしょうか? Application.SendKeys ("^y")  のようにUndoをやり直すショートカットを動かせば可能のようですが、ショートカットキーにたよらない方法はないのでしょうか。 ( ̄∇ ̄; ?

  • このマクロの意味を教えて下さい。

     条件付き書式の色付けで「指定した文字を含む」という条件を 4つ以上つくるということで、下のマクロを探してきたんですが、少しでも意味を 知りたいです。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub If Selection.Count > 1 Then Exit Sub x = Target.Value c = 0 If x Like "*あ*" Then c = 6 If x Like "*い*" Then c = 4 If x Like "*う*" Then c = 34 If x Like "*え*" Then c = 3 Target.Interior.ColorIndex = c End Sub これを実行したんですが、なぜ結合したセルの場合だけ、文字を 削除した際に色が残るのですか? それを指示している部分と改善策を教えて下さい。