ここから本文です

エクセルにて1つのリストから特定の列の文字列を纏めたものを その特定の文字をフ...

yuk********さん

2019/5/2220:42:12

エクセルにて1つのリストから特定の列の文字列を纏めたものを
その特定の文字をファイル名にして分割したファイルを作成したいです。

詳細は、ファイルにてご確認をお願いします。

ご教授の程、お願いします。

補足エクセルファイル
https://box.yahoo.co.jp/user/viewer#du%3D0064faa1-bd7e-4a75-8c28-e1...

閲覧数:
108
回答数:
2
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

kky********さん

2019/5/2507:52:34

一例です。

Sub Sample()
Dim fpath As String
Dim fname As String
Dim wb As Workbook
Dim sh As Worksheet
Dim i As Long, imax As Long
Dim j As Long
Dim svf As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
fpath = ThisWorkbook.Path & "\"
With ActiveSheet
imax = .Cells(Rows.Count, 2).End(xlUp).Row
For i = 3 To imax
If .Range("D" & i) <> svf Then
If Not wb Is Nothing Then
wb.Close SaveChanges:=True, Filename:=fpath & svf & ".xlsx"
Set wb = Nothing
End If
Set wb = Workbooks.Add
Set sh = wb.Worksheets(1)
.Range("B2:E2").Copy Destination:=sh.Range("B2")
j = 2
svf = .Range("D" & i)
End If
j = j + 1
.Range("B" & i & ":E" & i).Copy Destination:=sh.Range("B" & j)
Next i
wb.Close SaveChanges:=True, Filename:=fpath & svf & ".xlsx"
Set wb = Nothing
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = False
End Sub


失礼ながら前回答者さんのコードは、
Dim X As String
が原因だと思います。Longで定義すれば永久ループしないのではないでしょうか。

  • kky********さん

    2019/5/2507:56:18

    それから別の事なのですが、前の質問に関して連絡したい事を貴方宛てリクエストして投稿したのですが、読んで頂いていませんか。もう必要でないならいいのですが。

  • その他の返信(2件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

a_h********さん

2019/5/2303:19:11

>詳細は、ファイルにてご確認をお願いします。
ファイルが見当たりません。
誰にでも閲覧可能な設定にしているフォルダに保存されてますか?

設定を間違うと、全てのフォルダが閲覧可能になりますが・・・。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる