質問するログイン新規登録

質問編集履歴

2

追記

2020/09/19 08:11

投稿

spbros
spbros

スコア3

title CHANGED
@@ -1,1 +1,1 @@
1
- VBAのコピペースト予想外のところで行わる理由をご教示下さい。
1
+ VBAの行を削除する時にデてしまます
body CHANGED
@@ -1,8 +1,10 @@
1
1
  A.xlsmというファイルに下記のような、CSVを開いて1行ずつチェックし、A.xlsmに条件に合う行をコピー&ペーストし、条件に合わない場合はA.xlsmの空白になる1行を削除するプログラムを書いています(プロシージャの中の抜粋です)。
2
2
  A.xlsmのWSというワークシートの1行目には、画像のようにデータの見出しを記述しており、J1にも元々はコード2という見出しをつけているのですが、マクロを実行すると画像のようにコード2という名前がhahaha24というコードの中身に書き換わってしまい困惑しています。
3
3
 
4
+ ステップ実行をしてみたところ、
5
+ ws.Cells(firstLine + 1).Rows.Delete
4
- プログラムどこか、そうさせているのでしょうか?それとものプログラムとは別のどこで書き換わているのでしょうか(このチェックるプログラムを追加する前は見出しは書き換わっていなかったと記憶してい)?
6
+ が最初に実行されたときJデータ1行上にずれていることはかっのですぜその列だけがずれるのが分かりせん
5
- ご教示よろしくお願い致します。
7
+ 解決方法、ご教示よろしくお願い致します。
6
8
 
7
9
 
8
10
  ```VBA

1

誤記の修正

2020/09/19 08:11

投稿

spbros
spbros

スコア3

title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,7 @@
5
5
  ご教示よろしくお願い致します。
6
6
 
7
7
 
8
+ ```VBA
8
9
  Dim ws As Worksheet
9
10
  Set ws = Workbooks("A.xlsm").Worksheets("WS")
10
11
  Dim copyI As Long
@@ -13,7 +14,10 @@
13
14
  count = 0
14
15
  Dim firstLine As Long
15
16
  Dim varFileName As Variant
17
+ '↓補足に書きました誤記修正しました
18
+ Dim ws2 As WorksheetSet
16
- Dim ws As WorksheetSet ws = ThisWorkbook.Worksheets(1)
19
+ Set ws2 = ThisWorkbook.Worksheets(1)
20
+ '↑補足に書きました誤記修正しました
17
21
  varFileName = dCsv
18
22
  If varFileName = False Then
19
23
  Exit Sub
@@ -48,5 +52,6 @@
48
52
  Loop
49
53
  End With
50
54
  Application.ScreenUpdating = True
55
+ ```
51
56
 
52
57
  ![イメージ説明](997a8db8e6409ff295175a9aa3db3f58.png)