pkh4989 の回答履歴

全497件中221~240件表示
  • エクセル VBA シート保存ボタン

    Sheet上にボタンを作成 ボタンを押すと保存するようにしています! 以前ここでSheet2枚をコピー出来るような 記述教えてもらったのですが・・ 1枚ならどう変化して良いか・・ 記述を書きましたが 何処が違うか教えて下さい! Private Sub CommandButton1_Click()   Dim FileName  As String   Dim FileExt   As String   Dim BkName   As String   Dim OldWkbook  As Workbook   Dim NewWkbook  As Workbook   Const StName1  As String = "ko"      '   Application.DisplayAlerts = False   Set OldWkbook = ActiveWorkbook   '   'ファイル名を取得   BkName = OldWkbook.Sheets(StName1).Range("A1").Value   FileName = BkName & Format(Now, "yyyy-mm") & ".XLS"   '   FileName = InputBox(FileName & "と言う名前で保存します" & vbCr & "よろしければこのままOKをクリックしてください", "保存ファイル名の確認", FileName)   If FileName = "" Then     Exit Sub   Else     If Right(FileName, 4) <> ".XLS" Then       MsgBox "ファイル名が異常です。"       Exit Sub     End If   End If   '   OldWkbook.Sheets(Array(StName1)).Copy   Set NewWkbook = ActiveWorkbook   For wIx = 1 To NewWkbook.Sheets(1).Shapes.Count     NewWkbook.Sheets(1).Shapes(wIx).Delete    Next   NewWkbook.Sheets(1).Name = StName1   '   FileName = "D:\保存\計画\" & FileName   '   If Dir(FileName) <> "" Then     '##ファイルが既に存在する     If MsgBox("既に指定のファイルが存在します。 置き換えますか?", vbOKCancel, "置き換えの確認") = vbCancel Then       NewWkbook.Close savechanges:=False       '##保存せずに終了       Exit Sub     End If     '##指定ファイル置き換え保存     NewWkbook.SaveAs FileName:=FileName   Else     '##ファイルを新規保存     NewWkbook.SaveAs FileName:=FileName   End If   '   NewWkbook.Close savechanges:=False   Application.DisplayAlerts = True End Sub 教えて下さい!

  • コピー貼り付けのマクロの処理時間の早い方法を教えてください。

    ある表の中から部分的にセルを指定して抜き出して、 別の表を作成しています。 コピーする範囲のセルが連続して繋がっていないので、 セルを一つづつ指定してコピーして貼り付ける動作をマクロの自動記録で登録しました。 コピー貼り付けの回数が100セル分ほどあるので、処理時間が遅いです。 目で見て順番にデータがコピーされて行くのが分かるくらいです。 この動作をもっと速くするマクロを教えてください。 実際の表ではコピー元(sheet1)のA5→コピー先(sheet2)C1、 以下同じくコピー元は全て(sheet1)でコピー先は(sheet2)です。 A8→C2、A11→C3、A14→C4、A17→C5,・・・・ B2→D1、B12→D2、B22→D3、B32→D4,・・・・ このような感じでコピーします。 *コピー元のsheet1の指定セルは毎回同じ場所です。 コピー先も毎回同じセルです。 宜しくお願いします。

  • エクセルのオートシェイプ

    エクセルのグラフについて質問です。 エクセルでグラフを作成し、グラフ内にオートシェイプで矢印とコメントを挿入しています。 今までは、そのオートシェイプの文字が印刷できたのですが、突然印刷できなくなってしまいました。 もちろん、印刷プレビューを見ても、ダメです。 設定を変更した訳でもないのですが? どうしてでしょう? よろしくお願いいたします。

  • エクセルVBA コメントが削除できない

    エクセル2000です。 シート内のすべてのコメントを削除しようと以下のコードを走らせたところ、何番目かでエラーが起き、とまってしまいます。 シート保護は解除してあります。 コメントはすべて同じような書式なのでなぜ途中で止まるのかわかりません。ご教示いただければ幸いです。 Sub TEST() With ActiveSheet For i = 1 To .Comments.Count MsgBox i .Comments(i).Delete'ここでエラー Next i End With End Sub

  • ExcelVBA2000でOKとCancelのメッセージボックス

    こんにちは メッセージボックスで表示されるボタンをOKとCancelにしたいのですが、vbOKCancel指定ではOKとキャンセル(カタカナ)になります。OKとCancelにする方法をお教えください。 無理でしたら、ユーザーフォームを使って独自に作りたいのですが、この場合は閉じるボタン(X)が表示されてしまいます。これを消す方法をお教えください。

  • エクセル シートのみ 保存

    過去の質問も参照しましたが 当てはまる物が無くて質問しました! シート上にボタンを作成して クリックするとそのシートのみ 指定するファイルにコピーさせたいです! 下記の部分で何処を変化させればよいのでしょうか? (1)~(2)の部分で困っています。 Private Sub CommandButton1_Click() Dim FileName As String Dim FileExt As String ’(1)の質問!○=の部分をSheets(セルのA1の値をファイル名に入れたいです) FileName = "○"& Format(Now, "yyyy-mm") & ".XLS" '==== FileName = InputBox(FileName & "と言う名前で保存します" & vbCr & "よろしければこのままOKをクリックしてください", "保存ファイル名の確認", FileName) If FileName = "" Then Exit Sub Else If Right(FileName, 4) <> ".XLS" Then MsgBox "ファイル名が異常です。" Exit Sub End If End If '==== FileName = "D:\保存\ケア\計画\" & FileName If Dir(FileName) <> "" Then '##ファイルが既に存在する If MsgBox("既に指定のファイルが存在します。 上書きしますか?", vbOKCancel, "上書きの確認") = vbCancel Then '##保存せずに終了 Exit Sub ElseIf ThisSheets.FullName = FileName Then '##現在開いているファイルと同じなら上書き保存 ThisSheets.Save Else '##指定ファイルを削除した後保存 Kill FileName ThisSheets.SaveCopyAs FileName:=FileName End If Else '##ファイルを新規保存 ThisSheets.SaveCopyAs FileName:=FileName End If ThisSheets.Saved = True End Sub (2)ThisSheets&指定してもう一つだけ  保存先にコピーしたいです!つまり  2つのSheetのみ保存させたいのですが・・  ここからどのようにしたら良いのか  お願いします!教えて下さい。  

  • エクセル VBA あるシートで指定したセルを他のシートの下端のセルに自動で貼り付ける

    エクセル2003です。宜しくお願い致します。 シートは「メイン」、「本社」、「地方」というのがあり、「本社」と「地方」は全く同じフォーマットで、「メイン」は本社か地方を分類する欄があります。 元のデータを「メイン」シートに入力後、フォームで作成したボタンをクリックしたら、各行が「本社」、「地方」に自動で振り分けられるようにしたいです。(追加で振り分けた際には、最後の空白行にデータが追加されるようにしていただきたいです。) 各シートは以下のようになっています。 ・「本社」、「地方」シート   A     B   C 1通し番号 名前 性別 2 ・「メイン」シート   A     B   C   D   1通し番号 名前 性別 場所 2 ※1行目は項目名です。  通し番号は、各シートで固定なので、マクロを実行しても変わることはありません。  振り分けたいデータは、「メイン」シートのB2,C2以降のセルです。  振り分け先のシートを見分けているのは、D1セルです。  VBA実行ボタンをクリックしたら、下端のセルに自動でデータが追加されるようにしたいと思っています。(ただし、通し番号は各シート毎の番号が保持されたままです。)つまり、B列、C列の下端に自動で貼り付けられるということです。 マクロ初心者で、ネットをいろいろと調べたのですがどうもうまくいきません。 宜しくご教示いただければ幸いです。

  • エクセル シートのみ 保存

    過去の質問も参照しましたが 当てはまる物が無くて質問しました! シート上にボタンを作成して クリックするとそのシートのみ 指定するファイルにコピーさせたいです! 下記の部分で何処を変化させればよいのでしょうか? (1)~(2)の部分で困っています。 Private Sub CommandButton1_Click() Dim FileName As String Dim FileExt As String ’(1)の質問!○=の部分をSheets(セルのA1の値をファイル名に入れたいです) FileName = "○"& Format(Now, "yyyy-mm") & ".XLS" '==== FileName = InputBox(FileName & "と言う名前で保存します" & vbCr & "よろしければこのままOKをクリックしてください", "保存ファイル名の確認", FileName) If FileName = "" Then Exit Sub Else If Right(FileName, 4) <> ".XLS" Then MsgBox "ファイル名が異常です。" Exit Sub End If End If '==== FileName = "D:\保存\ケア\計画\" & FileName If Dir(FileName) <> "" Then '##ファイルが既に存在する If MsgBox("既に指定のファイルが存在します。 上書きしますか?", vbOKCancel, "上書きの確認") = vbCancel Then '##保存せずに終了 Exit Sub ElseIf ThisSheets.FullName = FileName Then '##現在開いているファイルと同じなら上書き保存 ThisSheets.Save Else '##指定ファイルを削除した後保存 Kill FileName ThisSheets.SaveCopyAs FileName:=FileName End If Else '##ファイルを新規保存 ThisSheets.SaveCopyAs FileName:=FileName End If ThisSheets.Saved = True End Sub (2)ThisSheets&指定してもう一つだけ  保存先にコピーしたいです!つまり  2つのSheetのみ保存させたいのですが・・  ここからどのようにしたら良いのか  お願いします!教えて下さい。  

  • エクセル シートのみ 保存

    過去の質問も参照しましたが 当てはまる物が無くて質問しました! シート上にボタンを作成して クリックするとそのシートのみ 指定するファイルにコピーさせたいです! 下記の部分で何処を変化させればよいのでしょうか? (1)~(2)の部分で困っています。 Private Sub CommandButton1_Click() Dim FileName As String Dim FileExt As String ’(1)の質問!○=の部分をSheets(セルのA1の値をファイル名に入れたいです) FileName = "○"& Format(Now, "yyyy-mm") & ".XLS" '==== FileName = InputBox(FileName & "と言う名前で保存します" & vbCr & "よろしければこのままOKをクリックしてください", "保存ファイル名の確認", FileName) If FileName = "" Then Exit Sub Else If Right(FileName, 4) <> ".XLS" Then MsgBox "ファイル名が異常です。" Exit Sub End If End If '==== FileName = "D:\保存\ケア\計画\" & FileName If Dir(FileName) <> "" Then '##ファイルが既に存在する If MsgBox("既に指定のファイルが存在します。 上書きしますか?", vbOKCancel, "上書きの確認") = vbCancel Then '##保存せずに終了 Exit Sub ElseIf ThisSheets.FullName = FileName Then '##現在開いているファイルと同じなら上書き保存 ThisSheets.Save Else '##指定ファイルを削除した後保存 Kill FileName ThisSheets.SaveCopyAs FileName:=FileName End If Else '##ファイルを新規保存 ThisSheets.SaveCopyAs FileName:=FileName End If ThisSheets.Saved = True End Sub (2)ThisSheets&指定してもう一つだけ  保存先にコピーしたいです!つまり  2つのSheetのみ保存させたいのですが・・  ここからどのようにしたら良いのか  お願いします!教えて下さい。  

  • VBA詳しい方お願いします

    VBA詳しい方お願いします  F列に入っている文字列の左1文字だけ切り取ってE列に入れていくのを1行目から最終行まで繰り返したいのですがどうすればいいですか?  データは数万行あります。  F列に空欄もふくまれています。  よろしくお願いします。。  

  • VBA詳しい方お願いします

    VBAに詳しい方お願いします。  A列 B列 C列 D列 E列 F列 G列 H列 I列 J列… 1  1 010  a   AB 2  1 010  a      春  夏  秋  冬 3  1 010  a      上  下 4  2 020  b   BC 5  2 020  b      花 6  2 020  b      陸  空 : : ↑を↓に変える記述教えてください。。  A列 B列 C列 D列 E列 F列 G列 H列 I列 J列…  1  1 010  a   AB 2  1 010  a      春  3  1 010  a      夏 4  1 010  a      秋 5  1 010  a      冬 6  1 010  a      上 7  1 010  a      下 8  2 020  b   BC 9  2 020  b      花 10  2 020  b      陸   11  2 020  b      空 : : やり方はなんでもいいのですが、 例えば E1に値が入っていないのでカーソルを下に移動(E2へ移動)  E2に値が入っているのでカーソルを右に移動(F2へ移動)  F2に値が入っているので下(3行目)に新しい行を挿入し、(A2,B2,C2) を コピーして、(A3,B3,C3)に貼り付け、F2を切り取りE3に貼り付け る  これをF2、G2、H2と繰り返してI2で空欄が出るまで続ける。 E8に値が入っていないのでカーソルを下に移動(E9へ移動) : :

  • VBA詳しい方お願いします

    VBAに詳しい方お願いします。  A列 B列 C列 D列 E列 F列 G列 H列 I列 J列… 1  1 010  a   AB 2  1 010  a      春  夏  秋  冬 3  1 010  a      上  下 4  2 020  b   BC 5  2 020  b      花 6  2 020  b      陸  空 : : ↑を↓に変える記述教えてください。。  A列 B列 C列 D列 E列 F列 G列 H列 I列 J列…  1  1 010  a   AB 2  1 010  a      春  3  1 010  a      夏 4  1 010  a      秋 5  1 010  a      冬 6  1 010  a      上 7  1 010  a      下 8  2 020  b   BC 9  2 020  b      花 10  2 020  b      陸   11  2 020  b      空 : : やり方はなんでもいいのですが、 例えば E1に値が入っていないのでカーソルを下に移動(E2へ移動)  E2に値が入っているのでカーソルを右に移動(F2へ移動)  F2に値が入っているので下(3行目)に新しい行を挿入し、(A2,B2,C2) を コピーして、(A3,B3,C3)に貼り付け、F2を切り取りE3に貼り付け る  これをF2、G2、H2と繰り返してI2で空欄が出るまで続ける。 E8に値が入っていないのでカーソルを下に移動(E9へ移動) : :

  • Excel表を集計するプログラム

    A列に複数の項目(重複もあり)があります。B列に数字が入っています。 A列の項目で重複しているものはMergeします。 それと同時にB列に入っていた数字を合計したいと思っています。 [具体例] 処理前  →  処理後 AAA 1     AAA 7 BBB 3     BBB 7 CCC 4     CCC 4 BBB 4     DDD 2 DDD 2 AAA 5 AAA 1 こんな感じの処理をVBAでしたいと思っています。 教えてください。 よろしくお願いいたします。

  • Null値を選びたいのですが

    いつもお世話になっています。 VB入門者ですがよろしくお願いします。 VB2005を使用しています。 データベースはアクセスを使用しています。 データベースの日時が入力されていないものを選択したいのですが SQLはどのように書けばよいのでしょうか? よろしくお願いします SQL &= " FROM Data WHERE Data.年月日='Null''

  • ユニオンクエリで複数ファイルをまとめるには

    ★はじめまして 会社でアクセスを使用している初心者です。 社員データーをアクセスファイルで管理しています。 10人が一つファイルを持って使用しています。 なので、ファイル数は10です。 フィールド(項目)数が128です。 全てのファイルは同じ項目です。 【問題】 (1)社員データーを検索する際に、全てのファイルを開いて検索すると非常に時間がかかります。 (2)社員データーをCSVでエクスポートして、EXCELで集計・分析する際に全てのファイルからエクスポートすると時間がかかります。 【対策】 (1)全てのファイルをまとめようと まとめファイルを作成して 全てのテーブルをリンクして(10ファイル) ユニオンクエリでまとめようと思いました。 【結果】 エラーです。 『定義されているフィールドが多すぎます』と表示されます。 【教えてください】 (1)フィールドが多すぎるとユニオンクエリは使用できないのですか? (2)他に全てのファイルをまとめる方法はないのでしょうか? ご教授お願いします。

  • エクセルの計算結果表示

    エクセルで例えば1.1+1.2+1.2+1.4=4.9となる計算結果をそのままあるセルに4.9と表示させたいのですが、なぜか5.0と表示されてしまいます。それらしき関数は入っていません。どこか設定がおかしいのでしょうか? 宜しくお願いします。

  • EXCELで勤務表作成

    勤務表の作成をエクセル2003で作成しています。     1 2 3 4 5 ・・ 鈴木  A A B B 休 佐藤  B B 休 休 A 太田  休 休 A A B 吉田  A B 休 B A 上記のように個人別にその日に何の担当業務をするかで作成されたものを   11月1日        11月2日    ・・・  A 鈴木 吉田      A 鈴木  B 佐藤         B 佐藤 吉田  休 太田         休 太田 と日付ごとに業務別に誰が担当するのか別の表で作成する方法があったら教えて下さい。「最初からその表で作成すれば?」とお思いになるかもしれませんが、大人数の休日の管理が難しいので最初の表の作成方法は変えたくありません。ちなみに表の通り一つの業務に複数名担当することもありえますので、できればそれをふまえた上で回答願います。

  • マクロの組み方ですが

    「入力シート」を作成し、日々その日の売上日報を入力しています。 今は日々名前をつけて保存しているのですが、 「入力シート」の横に「1日」「2日」「3日」・・・と1か月分のシートを作成し、「入力シート」内で入力した日付に対応したシートに 日々コピーする事は出来ないでしょうか? マクロを使ってみたのですが、初心者の為、せいぜい「入力シート」を別のシートにコピー出来ただけで、 日付に対応したシートにコピーする事ができません。 どのようにすればよいでしょうか? 教えてください。

  • マクロが実行できません。。。どこがいけないのでしょうか???

    Sub 米ドル換算() Dim 元金 As Long Dim ドル価格 As Integer Dim 米ドル換算額 As Double ' 「元金」の値を取得する 元金 = Range("A4").Value ' 「ドル価格」を取得する ドル価格 = Range("A2").Value ' 取得した「元金」と「ドル価格」をもとに「米ドル換算額」を取得する 米ドル換算額 = 元金 / ドル価格 ' 算出した「米ドル換算額」を出力する Range("B4").Value = 米ドル換算額 End Sub ちなみに 元金 = Range("A4").Value ↑ この部分が「Range」メソッドは失敗しました。_Globalオブジェクト と表示されるのですが、どういうことでしょうか?

  • エクセル VBA)) CheckBox_Clickでちょっとわからないことがあるのですが。

    すいません、VBAかなり初心者ですごい簡単な質問かもしれません。 VB.netやVB6を触っていればわかるとおもうのですが、 シート内でCheckBox_Clickイベントの実行文のなかでセルを参照する記述を書いているのですが、 1) Dim a as String 2) a = WorkSheets("??").Range(E9) 2)の場所でエラー(アプリケーション定義またはオブジェクト定義エラーです。)とセル位置を参照できないのですが、シート内で記述しており他のSUB ??() のプロシージャーでは問題なく参照できるのですが、なぜなんでしょうか?