チャットGTPで下記の条件でコードを取得しましたが、何も転記されません。
お力をお貸しください。よろしくお願い致します。
学校 学年 組 児童名(全角表示用) お試し申込日 解約年月 のフィールドの表が「加工」というシートにあります
学校がA1 のセルに入っている場合下の3つの学校をそれぞれオートフィルターで抽出し、それぞれすでにある同じ名前のシート名のA4のセル以降にVBAで転記してください
A小学校
B小学校
C小学校
Sub データ転記()
Dim 学校 As String
Dim 転記元 As Worksheet
Dim 転記先 As Worksheet
Dim 最終行 As Long
Dim 抽出範囲 As Range
学校 = ThisWorkbook.Sheets("加工").Range("A1").Value
Set 転記元 = ThisWorkbook.Sheets("加工")
' A小学校のデータを転記
If 学校 = "A小学校" Then
Set 転記先 = ThisWorkbook.Sheets("A小学校")
' 抽出範囲を指定
Set 抽出範囲 = 転記元.Range("A1:F" & 転記元.Cells(Rows.Count, 1).End(xlUp).Row)
' オートフィルターを設定してデータを転記
抽出範囲.AutoFilter Field:=1, Criteria1:="A小学校"
抽出範囲.SpecialCells(xlCellTypeVisible).Copy 転記先.Range("A4")
' オートフィルターを解除
転記元.AutoFilterMode = False
End If
' B小学校のデータを転記
If 学校 = "B小学校" Then
Set 転記先 = ThisWorkbook.Sheets("B小学校")
' 抽出範囲を指定
Set 抽出範囲 = 転記元.Range("A1:F" & 転記元.Cells(Rows.Count, 1).End(xlUp).Row)
' オートフィルターを設定してデータを転記
抽出範囲.AutoFilter Field:=1, Criteria1:="B小学校"
抽出範囲.SpecialCells(xlCellTypeVisible).Copy 転記先.Range("A4")
' オートフィルターを解除
転記元.AutoFilterMode = False
End If
' C小学校のデータを転記
If 学校 = "C小学校" Then
Set 転記先 = ThisWorkbook.Sheets("C小学校")
' 抽出範囲を指定
Set 抽出範囲 = 転記元.Range("A1:F" & 転記元.Cells(Rows.Count, 1).End(xlUp).Row)
' オートフィルターを設定してデータを転記
抽出範囲.AutoFilter Field:=1, Criteria1:="C小学校"
抽出範囲.SpecialCells(xlCellTypeVisible).Copy 転記先.Range("A4")
' オートフィルターを解除
転記元.AutoFilterMode = False
End If
End Sub