Excel VBA質問箱 IV

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

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


8201 / 13646 ツリー ←次へ | 前へ→

【34365】ファイルを開く RL 06/2/1(水) 11:48 質問[未読]
【34369】Re:ファイルを開く Statis 06/2/1(水) 12:05 回答[未読]
【34423】Re:ファイルを開く RL 06/2/2(木) 11:14 質問[未読]
【34425】Re:ファイルを開く Statis 06/2/2(木) 11:42 回答[未読]
【34484】Re:ファイルを開く RL 06/2/3(金) 15:26 質問[未読]
【34488】Re:ファイルを開く Statis 06/2/3(金) 16:14 発言[未読]
【34489】Re:ファイルを開く RL 06/2/3(金) 16:59 発言[未読]
【34657】Re:ファイルを開く RL 06/2/9(木) 13:28 質問[未読]

【34365】ファイルを開く
質問  RL  - 06/2/1(水) 11:48 -

引用なし
パスワード
   かみちゃんさんのコードを元に下記のコードでファイルを開く事ができました。
さらに、開いた出荷一覧表のB列〜E列、I列〜K列、P列〜AA列、AC列をコピーしてきて、
マクロを設定したファイルのB列からC列、D列…貼り付けていきたいのですが、
そのようなことは可能でしょうか?

Private Sub CommandButton1_Click()
test.Show
End Sub

Sub test()
 Dim strFileName As String
 Dim WB As Workbook
 Dim MYPATH As String
 Dim MYBK As String

 MYPATH = "C:\Documents and Settings\aaa\デスクトップ\一覧表\"
 MYBK = MYPATH & strFileName & " 出荷一覧表" & ".xls"
 strFileName = InputBox("開くファイルの年を入力してください(例)2005")
 If strFileName <> "" Then
  strFileName = MYPATH & strFileName & " 出荷一覧表" & ".xls"
  If Dir(strFileName) <> "" Then
   Set WB = Workbooks.Open(strFileName)
  Else
   MsgBox strFileName & "がありません"
  End If
 End If
End Sub

【34369】Re:ファイルを開く
回答  Statis  - 06/2/1(水) 12:05 -

引用なし
パスワード
   こんにちは
こんな感じかな?
シート名はそちらの環境に合わせて下さい。

Sub test()
 Dim strFileName As String
 Dim WB As Workbook
 Dim MYPATH As String
 
 MYPATH = "C:\Documents and Settings\aaa\デスクトップ\一覧表\"
 
 strFileName = InputBox("開くファイルの年を入力してください(例)2005")
 If strFileName <> "" Then
  strFileName = MYPATH & strFileName & " 出荷一覧表" & ".xls"
  
  If Dir(strFileName) <> "" Then
   Set WB = Workbooks.Open(strFileName)
   WB.ActiveSheet.Range("B:E,I:K,P:AA,AC:AC").Copy _
     ThisWorkbook.Worksheets("Sheet1").Range("B1")
  Else
   MsgBox strFileName & "がありません"
  End If
  
 End If

End Sub

【34423】Re:ファイルを開く
質問  RL  - 06/2/2(木) 11:14 -

引用なし
パスワード
   お世話になります。
Statisさん、お返事ありがとうございました。
お返事が遅くなりすみませんでした。
せっかくコードを掲載して頂いたのに、昨日の会議でレイアウトを
また考え直さなければいけなくなりましたε=ε=ε= 。・゜(゜ノT-T)ノ
(これで何度目だろう=3)
Statisさんに頂いたコピーの部分を参考にしつつ、下記のコードを作りました。
(せっかく作っていただいたのにご気分を害されたらごめんなさい)
しかし、コピーして貼り付けはできるのですが、出荷管理表のコピーモードが
解除されず、範囲指定されたままになっています。
それを解除するにはどうしたらいいでしょうか?

また、出荷管理表のデータが更新されていたら、新たにライセンス管理表にコピー、
更新されていなかったら、そのまま。
という、条件(?)をつけたいのですがどぅすればよいでしょうか?

Private Sub Workbook_Open()
  test().Show
End Sub

Sub test()
  MsgBox "データを更新しています", vbinfomation
    Worksheets("出荷管理表").Range("B5:E65536,I5:K65536,P5:AA65536,AC5:AC65536").Copy
      ActiveSheet.Paste Destination:=Worksheets("ライセンス管理表").Range("B5")
      
End Sub

お手数をおかけ致しますがよろしくお願い致します。

【34425】Re:ファイルを開く
回答  Statis  - 06/2/2(木) 11:42 -

引用なし
パスワード
   こんにちは

これで良いのでは?

Worksheets("出荷管理表"). _
Range("B5:E65536,I5:K65536,P5:AA65536,AC5:AC65536").Copy _
 Destination:=Worksheets("ライセンス管理表").Range("B5")

または、貼り付けの後の
Application.CutCopyMode = False
と追加しても良いです。

【34484】Re:ファイルを開く
質問  RL  - 06/2/3(金) 15:26 -

引用なし
パスワード
   >Sub test()
> Dim strFileName As String
> Dim WB As Workbook
> Dim MYPATH As String
> 
> MYPATH = "C:\Documents and Settings\aaa\デスクトップ\一覧表\"
> 
> strFileName = InputBox("開くファイルの年を入力してください(例)2005")
> If strFileName <> "" Then
>  strFileName = MYPATH & strFileName & " 出荷一覧表" & ".xls"
>  
>  If Dir(strFileName) <> "" Then
>   Set WB = Workbooks.Open(strFileName)
>   WB.ActiveSheet.Range("B:E,I:K,P:AA,AC:AC").Copy _
>     ThisWorkbook.Worksheets("Sheet1").Range("B1")
>  Else
>   MsgBox strFileName & "がありません"
>  End If
>  
> End If
>
>End Sub

お世話になります。
せっかく作って頂いたこのコード、他のシートで使いたいのですが、
コピーが終わった後、

strFileName = MYPATH & strFileName & " 出荷一覧表" & ".xls"

を閉じるには、どぅすればいいですか?

WB.ActiveSheet.Range("B5:G35565,K5:AE35565").Copy _
     ThisWorkbook.Worksheets("ユーザー一覧表").Range("B5")
   worksheetsclose ("出荷管理表")

としてみたのですが、"Sub、Function、または Property が定義されていません。(Error 35)"と出てしまいます。

【34488】Re:ファイルを開く
発言  Statis  - 06/2/3(金) 16:14 -

引用なし
パスワード
   ▼RL さん:
こんにちは


>>Sub test()
>> Dim strFileName As String
>> Dim WB As Workbook
>> Dim MYPATH As String
>> 
>> MYPATH = "C:\Documents and Settings\aaa\デスクトップ\一覧表\"
>> 
>> strFileName = InputBox("開くファイルの年を入力してください(例)2005")
>> If strFileName <> "" Then
>>  strFileName = MYPATH & strFileName & " 出荷一覧表" & ".xls"
>>  
>>  If Dir(strFileName) <> "" Then
>>   Set WB = Workbooks.Open(strFileName)
>>   WB.ActiveSheet.Range("B:E,I:K,P:AA,AC:AC").Copy _
>>     ThisWorkbook.Worksheets("Sheet1").Range("B1")
>>  Else
>>   MsgBox strFileName & "がありません"
>>  End If
>>  
>> End If
>>
>>End Sub
>
>お世話になります。
>せっかく作って頂いたこのコード、他のシートで使いたいのですが、
>コピーが終わった後、

違うシートとはどこのファイルですか?


>strFileName = MYPATH & strFileName & " 出荷一覧表" & ".xls"
>
>を閉じるには、どぅすればいいですか?

ファイルを閉じるのですか?


>WB.ActiveSheet.Range("B5:G35565,K5:AE35565").Copy _
>     ThisWorkbook.Worksheets("ユーザー一覧表").Range("B5")
>   worksheetsclose ("出荷管理表")
>
>としてみたのですが、"Sub、Function、または Property が定義されていません。(Error 35)"と出てしまいます。

【34489】Re:ファイルを開く
発言  RL  - 06/2/3(金) 16:59 -

引用なし
パスワード
   >違うシートとはどこのファイルですか?
フォルダは同じですがファイルは別のファイルです。
C:\Documents and Settings\aaa\デスクトップ\一覧表\
に入っている、出荷一覧表からユーザー一覧表へコピーしたいです。

>ファイルを閉じるのですか?
コピー終了後、出荷一覧表を閉じたいです。

お手数をかけますがよろしくお願い致します。

【34657】Re:ファイルを開く
質問  RL  - 06/2/9(木) 13:28 -

引用なし
パスワード
   お世話になっております。
下記のマクロの中に、
1.A4から順にナンバーを振りたい。
2.注文一覧表とユーザー一覧表のデータが同じであればメッセージを表示させたいのですが、
どぅすればいいでしょうか?
どなたかご教授頂ければ、ありがたいです。

Sub test()
 Dim FileName As String
 Dim WB As Workbook
 Dim MYPATH As String
 Worksheets("ユーザー一覧表").Range("B5:AB65536").Clear
 MYPATH = "\\gggg\ggg\出荷管理\一覧表\"

   strFileName = MYPATH & strFileName & "注文一覧表" & ".xls"
 
  If Dir(strFileName) <> "" Then
   Set WB = Workbooks.Open(strFileName)
   WB.ActiveSheet.Range("B5:G35565,K5:AE35565").Copy _
     ThisWorkbook.Worksheets("ユーザー一覧表").Range("B5")
   Windows("注文一覧表.xls").Activate
  ActiveWindow.Close
   Else
   MsgBox strFileName & "がありません"
  End If

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