縦に並んでいるA,B,C,D のデータを横に行と列を入れ替えて新しいシートA1から添付画像のように、G列から横に名前別にマクロを使用して名前が変わったら改行して間を1行開けてA列に並べたいのですが、下記のコードでは左詰めができずにうまく動作しません。解決法をどなたか教えていただけませんか。よろしくお願いいたします。
Sub TData()
Dim wsSource As Worksheet
Dim wsTarget As Worksheet
Dim lastRow As Long
Dim TargetRow As Long
Dim nameCol As Long
Dim dateCol As Long
Dim time1Col As Long
Dim time2Col As Long
Dim currentName As String
' ソースシートとターゲットシートの設定
Set wsSource = ThisWorkbook.Sheets("Sheet1) ' ソースシートの名前
Set wsTarget = ThisWorkbook.Sheets.Add ' 新しいシートを作成
' 列のインデックスを設定
nameCol = 1 ' A列
dateCol = 2 ' B列
time1Col = 3 ' C列
time2Col = 4 ' D列
' ターゲットシートの初期行を設定
TargetRow = 1
' 最終行を取得
lastRow = wsSource.Cells(wsSource.Rows.Count, nameCol).End(xlUp).Row
' ソースデータを走査して転記
For i = 1 To lastRow
If wsSource.Cells(i, nameCol).Value <> currentName Then
' 名前が変わった場合、新しい行に移動
TargetRow = TargetRow + 1
currentName = wsSource.Cells(i, nameCol).Value
End If
' 名前、日付、時間1、時間2をターゲットシートに転記
wsTarget.Cells(TargetRow * 4 - 3, i).Value = currentName
wsTarget.Cells(TargetRow * 4 - 2, i).Value = wsSource.Cells(i, dateCol).Value
wsTarget.Cells(TargetRow * 4 - 1, i).Value = wsSource.Cells(i, time1Col).Value
wsTarget.Cells(TargetRow * 4, i).Value = wsSource.Cells(i, time2Col).Value
Next i
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルマクロでデータ出力の際の条件がうまく機能しません。 2 2023/09/30 13:01
- Excel(エクセル) エクセルマクロでデータ出力の際の条件がうまく機能しません。 5 2023/10/01 12:50
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) エクセルマクロで出力行の増やし方がわかりません。 4 2023/09/28 23:40
- Visual Basic(VBA) VBAコードが作動しません。修正したいのですが何処に原因かあるか教えて下さい。 1 2024/01/08 16:23
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) A2~I4179列にあるリストを支社名ごとにシートに分けたいです。 各シート名はA列にある支社名とし 3 2023/08/29 16:46
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
<急募>エクセルデータの関数を用いた並び替えについて
Excel(エクセル)
-
ExcelでA列をコピーしたいのですがコピー範囲内に空白セルがあるとそこで終わってしまいます。 全て
Excel(エクセル)
-
エクセルの表の参照値から円を取って数字で扱えるようにしたい
Excel(エクセル)
-
-
4
エクセルのセル統合について
Excel(エクセル)
-
5
エクセルのcountifのワイルドカードについて
Excel(エクセル)
-
6
エクセル 画像の左のように、縦に支店がズラッとたくさんならんでいます。 横に百ほどの製品がならんでい
Excel(エクセル)
-
7
Excel関数かなにかでスムーズに処理するにはあなたならどうしますか?
Excel(エクセル)
-
8
IF関数
Excel(エクセル)
-
9
りんご"と"みかん"というシートがあります。 "りんご"というシートの B列にて、B2から40行お"
Excel(エクセル)
-
10
Excel表について(2)
Excel(エクセル)
-
11
Excel表について(1)
Excel(エクセル)
-
12
Excel 領収書発行
Excel(エクセル)
-
13
100行50列の表で、1~40列でフィルターをかけた時41~50列での内容別の数量確認をする方法
Excel(エクセル)
-
14
Excelの関数で起きた現象の原因がわかりません。
Excel(エクセル)
-
15
Excelでの判別方法
Excel(エクセル)
-
16
同一セルに入力規則のリストと参照する設定併用できるような設定はありますでしょうか!!
Excel(エクセル)
-
17
エクセル 該当行だけを表示したい。 削除でもいいし、非表示でもいいです。 手動でひひょうじにするので
Excel(エクセル)
-
18
エクセル詳しい方教えて下さい
Excel(エクセル)
-
19
曜日の 月 を (月) と表示させる方法について
Excel(エクセル)
-
20
表示されている人数だけを数えたい!!
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのブック分割マクロを...
-
文字の色も参照 VLOOKUP
-
VBAで繰り返しコピーしながら下...
-
Excel VBA ピボットテーブルに...
-
ExcelのVlookup関数の制限について
-
Excelで全てのシートに一気に列...
-
Excelでの並べ替えを全シートま...
-
EXCELでシート1で作ったデータ...
-
Excel 2段組み
-
Excelで条件別にシートを振り分...
-
別シートから月(MONTH)で抽出す...
-
VBAで検索して、行をコピー&追...
-
エクセル マクロ 標準モジュー...
-
エクセルの保護で、列の表示や...
-
エクセルVBA データを別シート...
-
エクセルで横並びの複数データ...
-
エクセルVBA 行追加時に自...
-
エクセルで別シートの数値が一...
-
予定表に日本の休日を一気に入...
-
【条件付き書式】countifsで複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
オートフィルタ使用時にCOUNTIF...
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
エクセル関数に詳しい方、教え...
-
【条件付き書式】countifsで複...
-
Excel の複数シートの列幅を同...
-
エクセル マクロ 標準モジュー...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
Excel VBA ピボットテーブルに...
-
【エクセル】1列のデータを交...
-
エクセルVBAで、ある文字を含ん...
-
エクセルのブック分割マクロを...
-
excel 複数のシートの同じ場所...
おすすめ情報