
画像のファイルのA列に〇があるもののみ別のファイルに転記して頂きたいです。
転記するファイルはC列、E列、K列、O列、S列、U列にそれぞれ分かれていて、スタートは必ず13行目からです。
多い時で200程あります。
これを別ファイルのA1から下に順番になるようにし、尚且つ分かれている数字やアルファベットを1つのセルに繋げたあと、最後に右端にすべて*を付ける。(画像参照して下さい。)
マクロの処理ですが、転記するファイルを開いている状態で実行して別ファイルに転記するといった感じです。別ファイルは開いていても、開いていなくても転記できるようにしたいです。
別ファイルの場所とファイル名は下記になります。
C:\Users\t-tai\OneDrive\デスクトップ\図番\図番転記.xlsx
よろしくお願いします。

No.10ベストアンサー
- 回答日時:
>② maxrow1 = 500で実行するとできました。
>これでも大丈夫ですけど。
本来であれば、
maxrow1 = ws1.Cells(Rows.Count, "C").End(xlUp).Row
の行で、エラーが発生する原因を特定し、それを解決するのが正しい対処法です。しかしながら、そのエラーとなるブックのシートが手元にないので、思い当たる原因がこれ以上思いつきません。
とりあえず、最後まで実行できたようなので、他に問題がなければ、これでクローズしたいと思いますが、いかがでしょうか。
今後、最大行が500を超える可能性があるようでしたら、もう少し多めの値をmaxrow1に設定しておいてください。
No.9
- 回答日時:
>こちらも試してみましたが変わりません。
>1004表示が出ます。
>列の指定がううまくできていないのでしょうか?
>一端、ベストアンサーに選んで、再度質問をしてもう一度画像を送りましょ>か?
エラーは、どの行で起こってますか。
① 'maxrow1 = ws1.Cells(Rows.Count, "C").End(xlUp).Row
② maxrow1 = 500
①はコメントアウトされているので、エラーは発生しません。
②でエラーが起こるのは感がられません。
No.8
- 回答日時:
>頂いたコードを試してみましたが、やはり同じです。
>エラーコード1004が出ます。
>何度もやってみましたがダメでした。
あてずっぽうですが、何かそのシートに原因があるように思われます。
とりあえず、その現象を避けるために、その行をコメントアウトして、
最大行を直接設定して、再度実行していただけませんでしょうか。
例えば、最大行が500なら、
maxrow1 = ws1.Cells(Rows.Count, "C").End(xlUp).Row
の行を
'maxrow1 = ws1.Cells(Rows.Count, "C").End(xlUp).Row
maxrow1 = 500
のようにします。
この500は実際の最大行より多めにとっても問題ありません。
こちらも試してみましたが変わりません。
1004表示が出ます。
列の指定がううまくできていないのでしょうか?
一端、ベストアンサーに選んで、再度質問をしてもう一度画像を送りましょか?
No.7
- 回答日時:
前回のマクロは破棄してください。
こちらを、標準モジュールに登録してください。
Option Explicit
Public Sub 別ファイルへ転記()
Dim fpath As String
Dim wb As Workbook
Dim ws1 As Worksheet
Dim wb2 As Workbook
Dim ws2 As Worksheet
Dim maxrow1 As Long
Dim row1 As Long
Dim row2 As Long
Set ws1 = ThisWorkbook.Worksheets("Sheet1")
fpath = "C:\Users\t-tai\OneDrive\デスクトップ\図番\図番転記.xlsx"
Set wb2 = Nothing
For Each wb In Workbooks
If wb.Name = "図番転記.xlsx" Then
Set wb2 = wb
Exit For
End If
Next
If wb2 Is Nothing Then
Set wb2 = Workbooks.Open(fpath)
End If
Set ws2 = wb2.Worksheets(1)
ws2.Cells.ClearContents
row2 = 1
maxrow1 = ws1.Cells(Rows.Count, "C").End(xlUp).Row
For row1 = 13 To maxrow1
If ws1.Cells(row1, "A").Value = "○" Then
ws2.Cells(row2, "A").Value = ws1.Cells(row1, "C").Value & ws1.Cells(row1, "E").Value & ws1.Cells(row1, "K").Value & _
ws1.Cells(row1, "O").Value & ws1.Cells(row1, "S").Value & ws1.Cells(row1, "U").Value & "*"
row2 = row2 + 1
End If
Next
End Sub
No.6
- 回答日時:
>マクロ登録は転記元のブックで間違いありません。
>シートも最前面、1番左のシートです。
こちらでは、動作しているのですが、あなたの環境ではアクティブシートが正しく動作していないように見えます。
転記元のシートのシート名を提示していただけませんでしょうか。
シート名を直接指定して、そのシートを操作するように変えたいと思います。
No.2
- 回答日時:
No1です。
以下のマクロを標準モジュールに登録してください。
Option Explicit
Public Sub 別ファイルへ転記()
Dim fpath As String
Dim wb As Workbook
Dim ws1 As Worksheet
Dim wb2 As Workbook
Dim ws2 As Worksheet
Dim maxrow1 As Long
Dim row1 As Long
Dim row2 As Long
Set ws1 = ActiveSheet
fpath = "C:\Users\t-tai\OneDrive\デスクトップ\図番\図番転記.xlsx"
Set wb2 = Nothing
For Each wb In Workbooks
If wb.Name = "図番転記.xlsx" Then
Set wb2 = wb
Exit For
End If
Next
If wb2 Is Nothing Then
Set wb2 = Workbooks.Open(fpath)
End If
Set ws2 = wb2.Worksheets(1)
ws2.Cells.ClearContents
row2 = 1
maxrow1 = ws1.Cells(Rows.Count, "C").End(xlUp).Row
For row1 = 13 To maxrow1
If ws1.Cells(row1, "A").Value = "○" Then
ws2.Cells(row2, "A").Value = ws1.Cells(row1, "C").Value & ws1.Cells(row1, "E").Value & ws1.Cells(row1, "K").Value & _
ws1.Cells(row1, "O").Value & ws1.Cells(row1, "S").Value & ws1.Cells(row1, "U").Value & "*"
row2 = row2 + 1
End If
Next
End Sub
実行してみましたが、
maxrow1 = ws1.Cells(Rows.Count, "C").End(xlUp).Rowのところで
エラーコード1004が表示されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
#include <Windows.h>というヘ...
-
コマンドプロンプトで作成日時...
-
リンクの張り付けかたを教えて...
-
.NETアプリを作ったときの .man...
-
binファイルを解凍したいの...
-
コマンドプロンプトで、指定し...
-
JSPが表示されない
-
Latexで図番号だけを「図1.1」...
-
CSVから指定行だけを読み込み
-
VBAでのicsファイル変換
-
MSExcel と VB.NET
-
mdsファイルが作成されない
-
VBAでHTMLファイルをPDFにしたい
-
vbsにてショートカットが存在す...
-
GridviewをExcel形式で書き出す
-
exeファイルをデータ転送サービ...
-
既に開いているエクセルを閉じ...
-
ツリービューでエクスプロー...
-
監視ツールを入れさせられまし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
コマンドプロンプトで作成日時...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
リンクの張り付けかたを教えて...
-
.NETアプリを作ったときの .man...
-
jarファイル
-
コマンドプロンプトで、指定し...
-
「営業秘密の漏洩」について
-
自分で作成した重要ファイルを...
-
warファイルをEclipseでプロジ...
-
公文書のxmlファイルの開き方が...
-
ストレージにある全てのファイ...
-
C言語---ファイルに出力したデ...
-
HTMLからのBATファイル実行
-
ファイルが開かれているかどう...
-
監視ツールを入れさせられまし...
-
「ブルーファイル」と「グリー...
-
バッチ処理で追記コピーしたい
おすすめ情報