tossy005 の回答履歴

全34件中1~20件表示
  • エクセルVBAによる不連続データ群の合算と、ワークシートをまたぐ連続処理について

    エクセルのVBAによる、合算処理が上手くいかずに困っています。 現在の状況ですが、1つのワークブックト中に、 いくつかのシートに分かれたデータ群があります。 それぞれのシートごとのデータ群で合算したいと思っています。 1つのデータ群に対してのVBAは作成できたのですが、 それぞれのデータ群ごとに合算しつつ、シートをまたいで 連続処理することができません。 お知恵を拝借できれば幸いです。 Workbook Sheet1の内容    [ A ][ B ][ C ][ D ][ E ] [ 1] 日付 品名 予算 金額 差額 [ 2] 3/1 aaa 1000 200 800 [ 3] 3/1 bbb 500 100 400 [ 4] 3/1 ccc 600 200 400 [ 5]   合計 2100 500 1600 [ 6]  [ 7] 日付 品名 予算 金額 差額 [ 8] 2/1 ddd 1000 500  500 [ 9] 2/1 eee 2000 600 1400 [10] 2/1 fff 1800 1200  600 [11]  合計 4800 2300 2500 [12] [13] 日付 品名 予算 金額 差額    以下、同一シート内にデータ群が続いていき、    さらにWoorkbook Sheet2, Sheet3 ..... と続きます。    以下、自作のVBA Sub sample() Dim my_last_row As Long '最終行の行数用 Dim my_last_address_sum As Long '最終行から一つ下のセル(合計用のセル)のアドレス取得用 my_last_row = Range("D65536").End(xlUp).Row my_last_address_sum = Range("D65536").End(xlUp).Offset(1).Address(RowAbsolute:=False) '=sum関数の埋め込み Range(my_last_address_sum).Formula = "=sum(C1:" & "C" & Format(my_last_row) & ")" '=sum関数を埋め込んだセルのコピー Range(my_last_address_sum).Copy '=sum関数を埋め込んだセルから、右に1つ分だけセルを移動する Range(my_last_address_sum).Offset(0, 1).Select '移動したセルを基準にして、右に2つ分だけセルを拡張する(合計3セルを選択する) Range(ActiveCell, ActiveCell.Offset(0, 2)).Select '選択した3つのセルに対して、=sum関数を埋め込んだセルのペーストする ActiveSheet.Paste 'セルA1に戻る Range("A1").Select End Sub

  • ACCESS テーブル同士の照合

    テーブルAとテーブルBの照合がしたいのですが (AとBはフィールド名、データ型等全てが同じ) 項目が多く、クエリーの結合プロパティで一つ一つ設定するのが面倒です AとBを単純に照合出来る方法は無いでしょうか?

  • 変数にいれる値

    企業毎にシートに分け集計させている集計表があるのですが 他シートから日付をとりMonthで月の数値を取得し3列の詳細項目の後に集計させています。 tugi = 3 + Month(.Cells(list_cnt, intBASE)) 例えば取得した日付が4月であれば7列目に集計させています。 現在は1月初まりなので3列の説明項目後に集計させているのですが 今後4月初まりとなるので、 tugi = Month(.Cells(list_cnt, intBASE)) と書き換えたのですが「型が違います」とでてしまいます。 tugi = 0 + Month(.Cells(list_cnt, intBASE)) としても同じエラーでだめでした。 試しに tugi = 1 + Month(.Cells(list_cnt, intBASE)) としたら正常に実行できました。 あまりVBAには詳しくないのでこれ以上どう修正したらいいのか わかりません。 何かご指摘頂けたらありがたいです。

  • ACCESSのクエリについての質問です。

    社員名簿のクエリの方法で悩んでいます。社員名簿のテーブルには「入社日」「退職日」と産前産後休暇や怪我等で長期休暇をとる従業員も少なくないものですので「長期休務開始日」「復職日」の4つの日付があります。 たとえば9月1日から9月30日に在籍していた社員をクエリで抽出するために 「入社日」の抽出条件に→ <=#2008/09/30# 「退職日」の抽出条件に→ >=#2008/09/01# Or Is Null と入社退社に対しては分かるのですが、 「長期休務開始日」「復職日」をどうしたらいいか分かりません。(半日悩みました) アクセスに詳しい方よろしくお願いします。 よろしくお願いします。

  • エクセルのマクロで上のセルの数式を相対参照でコピーしたい(フィルみたいに)

    エクセル2002で以下のようなシートがあります。  | A | B | C | D --------------------------- 1 |  1| 10| 100| =C1-1 --------------------------- 2 |    |    |    |  ここで、B2に文字が入力されると、A1とC1とD1をコピー、B2が消されるとA2とC2とD2を消去するマクロを書きました。 現在以下のように書いていますが、これでは入力位置がB2だろうがB3だろうかB20だろうが、D2と同じ数式になってしまいます。B5に入力されたならD5の数式はC5-1にしたいのですが、このような入力をするにはどうすればよいでしょうか。 ちなみにD列の数式は本当はもっと複雑です(この数式ならTarget.Offset(0, -4).Value = Int(Target.Offset(-1, -4).Value + 1でもたぶんいい・・・はず・・・) オートフィルを使えば!と思いましたが、Target・・・では使い方がわかりません。 Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Column <> 2 Then Exit Sub   //B列以外への文字入力はマクロ停止(のつもり) If Target.Value <> "" Then Target.Offset(0, -1).Value = Int(Target.Offset(-1, -1).Value + 1)   //A1に+1したものをコピー Target.Offset(0, 1).Value = Target.Offset(-1, 1).Value   //C2にC1をコピー Target.Offset(0, 2).Formula = Target.Offset(-1, 2).Formula  //D2にD1の数式をコピー◆ここが問題! Else Range(Target.Offset(0, -1), Target.Offset(0, 4)).ClearContents End If Application.EnableEvents = True End Sub

  • MSN Messenger エラーコード80072745

    Windows Live Messengerにサイインできません。エラーコードが80072745と出ていて診断したのですが繋がりません。OSはVista Basic ウイルスバスター2008プログラムバージョン16.10.1182 体験30日版 通信回線はドコモ定額を利用しています。(mopera.net) どうすれば接続ができるでしょうか?対処の仕方を教えてください。

  • Access DoCmd.OpenFormの引数

    現在Access VBAを勉強中の者です。 DoCmd.OpenForm については、同じQ&Aがありますが回答内容の意味が理解できず応用が利きません。 具体的には、 DoCmd.OpenForm "フォーム名", , , "商品番号 = '" & Me!商品番号 & "'" における、Where句の「"」と「'」の使い方です。 私の情報収集では、   (1)文字列は「"」で囲む。   (2)Where句は「"」で囲む。   (3)「"」の囲みが重複したら内側を「'」に変更する。 なのですが、(2)と(3)は上記の例からでは理解に苦しみます。 DoCmd.OpenForm のWhere句の「"」と「'」の使い方についてその仕様を教えて下さい。

  • Excelで、自列に数字がる行の左端列の数字を加えるには?

    下表で、左端は行番号、最上行は列名で、-は空白セルを表しています。 例えば、(1)=40行のGには、G列に数字がある行のF列の数字を足す式を求めています。 + F G H I 7 1 9 - - 8 1 - - - 9 5 1 - - 10 2 - 5 11 0 - - 5 12 1 - - - 40 (1) (2)  (3) (1)=G40=1+5 (2)=H40=2 (3)=I40=0 なお、スペースが詰まった表示になりますが、Excel表をここで表示する方法があればそれも教えて下さい。以上

  • Excelで、自列に数字がる行の左端列の数字を加えるには?

    下表で、左端は行番号、最上行は列名で、-は空白セルを表しています。 例えば、(1)=40行のGには、G列に数字がある行のF列の数字を足す式を求めています。 + F G H I 7 1 9 - - 8 1 - - - 9 5 1 - - 10 2 - 5 11 0 - - 5 12 1 - - - 40 (1) (2)  (3) (1)=G40=1+5 (2)=H40=2 (3)=I40=0 なお、スペースが詰まった表示になりますが、Excel表をここで表示する方法があればそれも教えて下さい。以上

  • インターネットにつがらない

    先日、パソコンを軽くしようと思い、officeの設定を変更したら 急にインターネットにつながらなくなりました。 IEを立ち上げようとすると、windowsインストーラが立ち上がり CDロムの挿入を求められます。 officeとIEは、あまり関係が無いように思うのですが どうしたらよろしいでしょうか?

  • エクセル 他のシートにデータをコピーする方法

    エクセルの操作方法について質問です。 Sheet1で作成したデータ(マクロで編集しています)を、Sheet2へデータをコピーさせたいのですが、手早くできる方法はないでしょうか? マクロで並び替えたデータを別表にしたい(Sheet1の一部のデータ)のですが、量が膨大なためコピー&ペーストの繰り返しでは時間がかかって仕方ありません。 同じシートだと、=(イコール)で簡単にできますが、シートが異なる場合でも、同様な方法はありますか?

  • エクセルの最後の行から上に1000件分だけを・・・

    エクセルの最後の行から上に1000件分だけを表示させる方法はありませんか? グラフに最後の行から上に範囲を決めて表示させる方法はありませんか? よろしくお願いします。

  • 検索用フォームで数値型データを抽出する方法

    いつも大変お世話になっております。アクセス初心者ですが宜しくお願いします。 テーブル1を元にクエリ1を作成し,それを元にフォーム表示用を作成しました。フォーム表示用のデータを検索するために非連結のフォーム検索用を作成しました。 検索用フォームでは,氏名,住所,契約締結日等複数の非連結フィールドがあり,入力された値を抽出するために,検索実行というコマンドボタンを一つ配置しています。 検索実行コマンドボタンは,以下のようになっています。 Private Sub 検索実行_Click() On Error GoTo エラー処理 Dim StrWhr As String 'Where条件式 Dim StrMsg As String '表示メッセージ Dim StrSrc As String 'レコードソース Dim stDocName As String '表示用フォームの名前 If Nz(Me!名前, "") <> "" Then StrWhr = IIf(StrWhr = "", "", StrWhr & " And ") & "名前 Like '*" & Me!名前 & "*'" End If If Nz(Me!契約締結日, "") <> "" Then StrWhr = IIf(StrWhr = "", "", StrWhr & " And ") & "Format(契約締結日,'yyyy/mm/dd') Like '*" & Me!契約締結日 & "*'" End If If MsgBox(StrMsg, vbOKCancel, "確認") = vbOK Then DoCmd.OpenForm "frm_顧問先CARD", , , StrWhr End If 終了処理: Exit Sub エラー処理: MsgBox Err & Error$, , Me.Name & " 検索実行" Resume 終了処理 End Sub 表示用フォームに契約年数という項目があり,数値型のデータが入力されています。そのデータを検索用フォームで算術演算子を使用して抽出するには,どのようにしたら良いでしょうか。 過去に質問したことと似ているので,色々と参考書を見ながら考えてみたのですが,上手くいきません。 できれば,一つのテキストボックスに >12 とか 4<8 とか入力してデータを抽出したいですが,不可能なら検索用フォームに二つのテキストボックスを配置して,そのテキストボックスで範囲を指定し,範囲内のレコードを抽出するという方法でも構いません。 どなたか,ご教示下さい。宜しくお願いいたします。

  • Accessのクエリについて

    お世話になります。 テーブル内の[出荷日]というフィールドに対して、 「出荷日1ヶ月前のレコード」を抽出しようと考えてます。 クエリ実行時に「日付」をパラメータ入力して、 その日付より1ヶ月前の出荷日のデータを出したいのです。 フィールドに対する抽出条件として、 <=[日付]-30 という条件を指定して実行したのですが、うまく いきませんでした。 どのように設定すればよいでしょうか? ご教授よろしくお願いします。

  • 検索用フォームで数値型データを抽出する方法

    いつも大変お世話になっております。アクセス初心者ですが宜しくお願いします。 テーブル1を元にクエリ1を作成し,それを元にフォーム表示用を作成しました。フォーム表示用のデータを検索するために非連結のフォーム検索用を作成しました。 検索用フォームでは,氏名,住所,契約締結日等複数の非連結フィールドがあり,入力された値を抽出するために,検索実行というコマンドボタンを一つ配置しています。 検索実行コマンドボタンは,以下のようになっています。 Private Sub 検索実行_Click() On Error GoTo エラー処理 Dim StrWhr As String 'Where条件式 Dim StrMsg As String '表示メッセージ Dim StrSrc As String 'レコードソース Dim stDocName As String '表示用フォームの名前 If Nz(Me!名前, "") <> "" Then StrWhr = IIf(StrWhr = "", "", StrWhr & " And ") & "名前 Like '*" & Me!名前 & "*'" End If If Nz(Me!契約締結日, "") <> "" Then StrWhr = IIf(StrWhr = "", "", StrWhr & " And ") & "Format(契約締結日,'yyyy/mm/dd') Like '*" & Me!契約締結日 & "*'" End If If MsgBox(StrMsg, vbOKCancel, "確認") = vbOK Then DoCmd.OpenForm "frm_顧問先CARD", , , StrWhr End If 終了処理: Exit Sub エラー処理: MsgBox Err & Error$, , Me.Name & " 検索実行" Resume 終了処理 End Sub 表示用フォームに契約年数という項目があり,数値型のデータが入力されています。そのデータを検索用フォームで算術演算子を使用して抽出するには,どのようにしたら良いでしょうか。 過去に質問したことと似ているので,色々と参考書を見ながら考えてみたのですが,上手くいきません。 できれば,一つのテキストボックスに >12 とか 4<8 とか入力してデータを抽出したいですが,不可能なら検索用フォームに二つのテキストボックスを配置して,そのテキストボックスで範囲を指定し,範囲内のレコードを抽出するという方法でも構いません。 どなたか,ご教示下さい。宜しくお願いいたします。

  • Excel VBA --- コマンドボタンが表示上で消える ---

    Excel VBAの初心者です。 今回、マニュアル本を見ながら試行錯誤でマクロにチャレンジしています。 用語や説明が上手くできないかもしれませんがよろしくお願いします。 OSはWindows2000、Excelのバージョンは2000です。 sheet1をメニュー画面として、コマンドボタンをいくつか貼り付けて、そのシート名を表示したコマンドボタンをクリックすると別のシートに 飛ぶようにしています。 別のシートに飛んで、そこで作業を終えたら、今度はそのシート上に貼り付けた『メニューに戻る』コマンドボタンをクリックしてsheet1のメニュー画面に戻るようにマクロを組みました。 ところが、作業用のシートからメニューに戻ると前回クリックしたコマンドボタンが表示上消えてしまっています。 そのコマンドボタンがあった位置にカーソルを持って行ってクリックするとちゃんとコマンドボタンの動作をします。 同じような質問がないか検索してみましたら『コマンドボタン上の文字の表示がおかしくなる』という質問があって、下記コードを入れたら解決したそうなので、Sheet1に下記のようなコードを入れてみました。 でもダメでした。 Private Sub Worksheet_Activate() Application.ScreenUpdating = False ActiveWindow.ScrollRow = 100 ActiveWindow.ScrollRow = 1 End Sub 解決方法のご教授をお願い致します。

  • エクセル vbOKCancel

    エクセル vbOKCancelについて Sheet上にボタンを作り、フォームが表示 フォーム上の ボタンをクリックしたらTextBoxの値がSheetの セルに値を入れるようにしました! MsgBoxを表示させて ”セルの値を入れますか?”と させましたが・・・はいをクリックは問題ないのですが いいえをクリックしても 値はセルに入力されてしまいます! いいえをクリックしたら 入力させない記述はあるのでしょうか? 教えて下さい。

  • VBAプログラミングの質問です。

    Sheet1の第2列に行番号、4列に列番号、5列にそこの値が書かれたデータが並んでいます。 1 1 967 2 1 687 ……… x y 802 ……… x行、y列に802を代入するという感じです。全部で57985データあります。 前の回答を参考にして、48881データまではSheet2に For k = 1 To 48881 Worksheets("Sheet2").Cells(1 + Worksheets("Sheet1").Cells(k, 2), 1 + Worksheets("Sheet1").Cells(k, 4)) = Worksheets("Sheet1").Cells(k, 5) Next k このようにプログラムを書いて納まって、残りの57985-48881=9104データの行列はSheet2に納まらなかったので、Sheet3に書こうと思い、下のように書きましたがプログラムがうまく動きませんでした。他にも試しましたが初心者のためダメでした。 Dim n As Long Dim m As Long n = 9104 m = 48881 For k = 1 To n Worksheets("Sheet3").Cells(1 + Worksheets("Sheet1").Cells(k + m, 2), 1 + Worksheets("Sheet1").Cells(k + m, 4)) = Worksheets("Sheet1").Cells(k + m, 5) Next k 48881というのが大きいため動かないと考えられますが、どのように対処したらよいかわかりません。教えてください。お願いします。

  • VBAプログラミングの質問です。

    Sheet1の第2列に行番号、4列に列番号、5列にそこの値が書かれたデータが並んでいます。 1 1 967 2 1 687 ……… x y 802 ……… x行、y列に802を代入するという感じです。全部で57985データあります。 前の回答を参考にして、48881データまではSheet2に For k = 1 To 48881 Worksheets("Sheet2").Cells(1 + Worksheets("Sheet1").Cells(k, 2), 1 + Worksheets("Sheet1").Cells(k, 4)) = Worksheets("Sheet1").Cells(k, 5) Next k このようにプログラムを書いて納まって、残りの57985-48881=9104データの行列はSheet2に納まらなかったので、Sheet3に書こうと思い、下のように書きましたがプログラムがうまく動きませんでした。他にも試しましたが初心者のためダメでした。 Dim n As Long Dim m As Long n = 9104 m = 48881 For k = 1 To n Worksheets("Sheet3").Cells(1 + Worksheets("Sheet1").Cells(k + m, 2), 1 + Worksheets("Sheet1").Cells(k + m, 4)) = Worksheets("Sheet1").Cells(k + m, 5) Next k 48881というのが大きいため動かないと考えられますが、どのように対処したらよいかわかりません。教えてください。お願いします。

  • 条件付き書式で1行おきに色付けした表のセルの数値によりフォントの色を変更したい

    Excel2003です 1行おきに色付け(パターン)した表のC3:C23に計算結果の数値が表示され、その数値がC1より小さいときはフォントの色を「赤」、数値がC1より大きいときはフォントの色を「緑」、数値が表示されないときはその書式を適用しない(1行おきの色付け(パターン)のみ設定)条件付き書式を設定したいのですがその方法を教えてください 例えば 奇数行にパターン「薄い黄色」を設定し、 条件1 =$C3<$C$1 フォントの色「赤」パターンを「薄い黄色」 条件2 =$C3>$C$1 フォントの色「緑」パターンを「薄い黄色」 に設定すると数値を入力しないセルにも「薄い黄色」のパターンが設定されてしまいます。偶数行の空白セルにはパターンを設定しない条件の設定の方法を教えてください。 説明でが不足のときは補足したいと思いますのでよろしく御願いします。