ブローコードで試してください。
注:作業の私はSheet8
で働い
Sub orderchange()
Dim lastcolumn, i, keyval As Long
Dim fixit As String
lastcolumn = Sheets("Sheet8").Cells(1, Columns.Count).End(xlToLeft).Column
For i = 1 To lastcolumn Step 3
If Sheets("Sheet8").Cells(1, i) = "A" And Sheets("Sheet8").Cells(1, i + 1) = "B" And Sheets("Sheet8").Cells(1, i + 2) = "C" Then
'nothing
Else
If Sheets("Sheet8").Cells(1, i) <> "A" And Sheets("Sheet8").Cells(1, i + 1) = "A" Then
fixit = Sheets("Sheet8").Cells(1, i)
Sheets("Sheet8").Cells(1, i) = Sheets("Sheet8").Cells(1, i + 1)
Sheets("Sheet8").Cells(1, i + 1) = fixit
ElseIf Sheets("Sheet8").Cells(1, i) <> "A" And Sheets("Sheet8").Cells(1, i + 2) = "A" Then
fixit = Sheets("Sheet8").Cells(1, i)
Sheets("Sheet8").Cells(1, i) = Sheets("Sheet8").Cells(1, i + 2)
Sheets("Sheet8").Cells(1, i + 2) = fixit
End If
If Sheets("Sheet8").Cells(1, i + 1) <> "B" And Sheets("Sheet8").Cells(1, i + 2) = "B" Then
fixit = Sheets("Sheet8").Cells(1, i + 1)
Sheets("Sheet8").Cells(1, i + 1) = Sheets("Sheet8").Cells(1, i + 2)
Sheets("Sheet8").Cells(1, i + 2) = fixit
ElseIf Sheets("Sheet8").Cells(1, i + 1) <> "B" And Sheets("Sheet8").Cells(1, i) = "B" Then
fixit = Sheets("Sheet8").Cells(1, i + 1)
Sheets("Sheet8").Cells(1, i + 1) = Sheets("Sheet8").Cells(1, i)
Sheets("Sheet8").Cells(1, i) = fixit
End If
If Sheets("Sheet8").Cells(1, i + 2) <> "C" And Sheets("Sheet8").Cells(1, i) = "C" Then
fixit = Sheets("Sheet8").Cells(1, i + 2)
Sheets("Sheet8").Cells(1, i + 2) = Sheets("Sheet8").Cells(1, i)
Sheets("Sheet8").Cells(1, i) = fixit
ElseIf Sheets("Sheet8").Cells(1, i + 2) <> "C" And Sheets("Sheet8").Cells(1, i + 1) = "C" Then
fixit = Sheets("Sheet8").Cells(1, i + 2)
Sheets("Sheet8").Cells(1, i + 2) = Sheets("Sheet8").Cells(1, i + 1)
Sheets("Sheet8").Cells(1, i + 1) = fixit
End If
End If
Next i
End Sub
が証明
これは、あなたの質問にお答えしていますか? http://stackoverflow.com/questions/9194277/column-data-moving-to-right-with-excel-vba最初の答えの関数を使用して、列を移動することができます。それは正確にあなたが探しているものではないかもしれません。なぜならあなたの例では文字が繰り返され、重複が必要なのかどうかわからないからです。 – Jake
私はこれを言及していませんでした... A B C A、etc。列見出しではなく、列の内容です。 –