Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


15478 / 76738 ←次へ | 前へ→

【66737】Excelファイルを開く→シートコピー→閉じる
質問  ANTON  - 10/10/3(日) 0:36 -

引用なし
パスワード
   こんばんわ。
タイトルの事をやろうとしていますが、行き詰っております。

少し量が多いのですが・・・・
もし、ご助力いただけましたら宜しくお願いいたします。

もう少し詳しく、やりたいことを書かせていただきますと

1.ユーザーフォームを使用し、マクロを使用しているExcelファイルとは別のExcelファイルを開く

2.新しく開いたExcelファイルからコピー元となるシートを選択する。

3.シートをコピーし、名前を変更

4.もし、同名シートがあった場合は元々あったシートを削除し、コピーしたシートにその名前を使う。

5.1で開いたExcelファイルのみを閉じる。

6.次のユーザーフォームを開く。

7.次のユーザーフォームでこの作業をやり直すコマンドを作成し、ファイルを開く作業からやり直す。


困ってる点は
*2でシートを選択しようとクリックするとエラーが出る。(Excel2003のみ)

*4の作業が行われない。(Excel2003のみ)

*5の作業が行われない、もしくはエラーがでる(2003.2007両方)

*7の作業を行った際、ファイルを開く作業を終了させたと同時に次で開いたユーザーフォームまで一緒に消えてしまう(Excel2007のみ)

2003と2007両方で行おうとしているため、より難しくなってしまっています・・・。
二つでVBAの内容が若干変わっているのは知っていたのですが。。。まさかここまで違うとは思いませんでした・・・。

下記に私の作ったプログラムを記述します。

Private Sub CommandButton1_Click()
On Error Resume Next

Dim Worksheet As String
Dim MyFileName, MyFileName2 As String
Dim MyWSName, MyWSName2 As String
Dim MyWS As Worksheet

MyFileName = Application.GetOpenFilename _
  (Filefilter:="2003Excelファイル(*.xls), *.xls,2007Excelファイル(*.xlsx), *.xlsx", _
    Title:="Excelファイルの読み込み")

If MyFileName = "False" Then Exit Sub

Workbooks.Open MyFileName

MsgBox "今開いたExcelファイルのシートの中からコピーするシートを選び、アクティブ状態にしてください。" & vbNewLine & _
      "もしよろしければOKを押してください。", vbExclamation
      
MyWSName = ActiveSheet.Name

Worksheets(MyWSName).Copy after:=ThisWorkbook.ActiveSheet

MyWSName2 = "AAA"

For Each MyWS In Worksheets
If MyWSName = MyWSName2 Then
  Application.DisplayAlerts = False
  Worksheets("AAA").Delete
  Applicarion.DisplayAlerts = True
End If
Next

ActiveSheet.Name = MyWSName2

If vbYes = MsgBox("今開いたファイルを閉じますか?", vbQuestion + vbYesNo) Then
Workbooks(MyFileName).Close
End If

Unload Me

'次のユーザーフォーム.Show

UserForm1.Show

End Sub

宜しくお願いいたします。
0 hits

【66737】Excelファイルを開く→シートコピー→閉じる ANTON 10/10/3(日) 0:36 質問
【66740】Re:Excelファイルを開く→シートコピー→閉... よろずや 10/10/3(日) 6:31 回答
【66752】Re:Excelファイルを開く→シートコピー→閉... ANTON 10/10/3(日) 18:24 発言
【66753】Re:Excelファイルを開く→シートコピー→閉... よろずや 10/10/3(日) 19:05 回答
【66756】Re:Excelファイルを開く→シートコピー→閉... ANTON 10/10/4(月) 1:24 お礼

15478 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free