
標題の件について、以下の表にある3つのデータ(E1からE3)を
●別ブックへ転記したい
●転記する時に、20240101から2024/1/1に読替えて転記したい
現状、1つだけは読替えて、転記は出来ましたが、連続した複数セルの
転記は出来ませんでした
コード分かる方、ご指導のほど、お願いします
1から作成でも、以下コードから修正でもokです
宜しくお願い致します
【表について】
E1 日付
E2 20240101
E3 20240102
E4 20240103
※コピー元ブック Sheet1
※文字書式:標準
※変数ws1にコピー元ブックとシートを格納
※変数W2は、コピー先ブックを格納 Sheet1。マッサラなシート
Sub 日付()
Dim filepath1 As String
Dim wb1 As Workbook
Dim ws1 As Worksheet
filepath1 = ThisWorkbook.Worksheets("Sheet1").Cells(4, 1)
Set wb1 = Workbooks.Open(filepath1)
Set ws1 = wb1.Worksheets("Sheet1")
Dim filepath2 As String
Dim wb2 As Workbook
Dim ws2 As Worksheet
filepath2 = ThisWorkbook.Worksheets("Sheet1").Cells(5, 1)
Set wb2 = Workbooks.Open(filepath2)
Set ws2 = wb2.Worksheets("Sheet1")
A = ws1.Range("e2")
B = CDate(Format(A, "@@@@/@@/@@")) '2020/01/01
MsgBox B
ws2.Range("a2") = B
End Sub
No.5ベストアンサー
- 回答日時:
最終行 = WS1.Range("B65536").End(xlUp).Row
↓かな?
最終行 = WS1.Range("E65536").End(xlUp).Row
No.4
- 回答日時:
No.3続き
行数が一定では無いなら最終行を取り込み、そこまでループです。
最終行 = WS1.Range("B65536").End(xlUp).Row
For 行 = 2 To 最終行
A = WS1.Range("e" & 行)
B = CDate(Format(A, "@@@@/@@/@@")) '2020/01/01
WS1.Range("a" & 行) = B
Next 行
No.3
- 回答日時:
>>約25~100まで増えるので、効率的な方法はないかなぁと
考えています
だったら、行と言う変数を使ってループです。
例えば2行目~100行目までをループさせるなら
↓↓
For 行 = 2 To 100
A = WS1.Range("e" & 行)
B = CDate(Format(A, "@@@@/@@/@@")) '2020/01/01
WS1.Range("a" & 行) = B
Next 行
No.2
- 回答日時:
こんにちは
>本データは、約25~100まで増えるので、効率的な方法は
>ないかなぁと考えています
同じ(ような)処理を繰り返す場合は、通常は「ループ」といわれる「繰り返し処理」を利用します。
https://youseful.jp/microsoft/excel/vba-for-loop/
https://www.sejuku.net/blog/69026
可変部分(例えば、行番号など)を変数化しておいて、その部分を制御するようにすれば良いでしょう。
No.1
- 回答日時:
A = ws1.Range("e2")
B = CDate(Format(A, "@@@@/@@/@@")) '2020/01/01
ws2.Range("a2") = B
たった3セルなんですから、上をあと2セット書けば良いです。
A = ws1.Range("e1")
B = CDate(Format(A, "@@@@/@@/@@")) '2020/01/01
ws2.Range("a1") = B
A = ws1.Range("e3")
B = CDate(Format(A, "@@@@/@@/@@")) '2020/01/01
ws2.Range("a3") = B
お返事ありがとうございます
すいません、簡単にはかいたのですが
本データは、約25~100まで増えるので、効率的な方法はないかなぁと
考えています
ご指導ありましたら、宜しくお願い致します!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】メッセージボックスにて、キャンセルをクリックしたら、マクロ終了。エクセルへ戻すには
Excel(エクセル)
-
8:40までの出勤は全て8:30にする関数を教えて下さい!!
Excel(エクセル)
-
セル内が空白設定なのに#N/Aと出てくるのを回避する方法を教えてください。
Excel(エクセル)
-
-
4
エクセル初心者です 用語等まだ良く分からないので簡単に説明していただけると幸いです タブの挿入、図形
Excel(エクセル)
-
5
excelVBAについて。
Excel(エクセル)
-
6
エクセル初心者です 用語とか良く分からないので簡単に説明していただけると幸いです 表を作っているので
Excel(エクセル)
-
7
excelVBAについて。
Excel(エクセル)
-
8
excelVBAについて。
Excel(エクセル)
-
9
Excelの罫線を消す方法
Excel(エクセル)
-
10
エクセルのデータについて
Excel(エクセル)
-
11
【マクロ】関数の入力にてエラーがでます
Excel(エクセル)
-
12
excelですが一つのマスに入ってる文字を2つのマスに変更できますか
Excel(エクセル)
-
13
エクセルで作成した書類の印刷について
Excel(エクセル)
-
14
今までは、 「CSVの出力先を選択してください。」 という画面から、CSVファイルをデスクトップに引
Excel(エクセル)
-
15
excelVBAについて。
Excel(エクセル)
-
16
エクセル 別セルの2進数表示を合わせて表示したい
Excel(エクセル)
-
17
excelVBAについて。
Excel(エクセル)
-
18
vbe でのソースコード参照(msgbox)について
Excel(エクセル)
-
19
エクセルの関数ついて
Excel(エクセル)
-
20
フィルターをかけた時の、別の列に書いてある数字の表に現れた数量のみを表す式を教えてください。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について
-
【マクロ】変数に入れるコード...
-
エクセルのリストについて
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
【マクロ】数式を入力したい。...
-
【マクロ】元データと同じお客...
-
【マクロ】【相談】Excelブック...
-
【マクロ】左のブックと右のブ...
-
vba テキストボックスとリフト...
-
エクセルの複雑なシフト表から...
-
他のシートの検索
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
【関数】3つのセルの中で最新...
-
【マクロ】excelファイルを開く...
-
エクセルシートの見出しの文字...
-
Dir関数のDo Whileステートメン...
-
LibreOffice Clalc(またはエク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報
丁寧にご指摘ありがとうございます
参考にいたしまして、少し変えましたが、以下の
とおり作りました
何行でも、瞬時に転記できました
順番に実行するのでスピード遅延するかとは思いましたが
一瞬で、出来ました
ありがとうございます
【コード】
lastrow = ws1.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To lastrow
A = ws1.Cells(i, 5)
B = CDate(Format(A, "@@@@/@@/@@")) '2020/01/01
ws2.Cells(i, 1) = B
Next i