これは一度(私と、私はに値を連結するために、必要に応じて、私はほぼ正確に同じ問題を抱えていました個々のセルとは対照的に単一の文字列!)
これほど簡単ではありません。それは私が考えるべきである。私の解決策は以下の通りです:)
Sub TransP()
Dim LastRow As Integer
Dim LastCol As Integer
LastRow = Worksheets("Sheet1").Cells(Rows.Count, 2).End(xlUp).Row
LastCol = Worksheets("Sheet1").Cells(1, Columns.Count).End(xlToLeft).Column
'Clear cells from sheet2
Worksheets("Sheet2").Select
Cells.Select
Selection.ClearContents
'Copy full range from sheet 1
Worksheets("Sheet1").Select
Worksheets("Sheet1").Range(Cells(1, 1), Cells(LastRow, LastCol)).Select
Selection.Copy
'Paste into sheet 2
Worksheets("Sheet2").Select
ActiveSheet.Paste
LastRow = Worksheets("Sheet2").Cells(Rows.Count, 2).End(xlUp).Row
'Iteration to transpose and collate data together
For i = 2 To LastRow
If Cells(i, 2).Value = Cells(i + 1, 2).Value Then
LastCol = Worksheets("Sheet2").Cells(i, Columns.Count).End(xlToLeft).Column
Cells(i, LastCol + 1).Value = Cells(i + 1, 3).Value
Rows(i + 1 & ":" & i + 1).Select
Selection.Delete Shift:=xlUp
i = i - 1
End If
'Exit sub when it reaches the end (blank cell)
If Cells(i, 2).Value = "" Or Cells(i + 1, 2).Value = "" Then
Exit Sub
End If
Next
End Sub
私たちを表示するにはコードがありますか? – user1
私のマクロ記録はこのように見えますが、範囲(1-99)やループは異なります。 サブ転送クローン シート( "Tabelle1")選択 範囲( "E2:E100") .Select Selection.Copy シート( "Tabelle2") Selection.PasteSpecial貼り付け]を選択します。= xlAll、操作:= xlNone、SkipBlanks:= Falseの_ 、トランスポーズ:= Trueの レンジ( "D4") を選択シート( "Tabelle1") 範囲選択します。( "E101:E199")を選択し Application.CutCopyMode = Falseの Selection.Copy シート( "Tabelle2")を選択し Selection.PasteSpecialペンシルバニア。 ste:= xlAll、操作:= xlNone、 End Sub – Nicholas