Итак, я пытаюсь поменять значения в ячейках рядом друг с другом, начиная с ячейки G2, и продолжаю делать это по мере движения вправо, пока в строке не будет найдена пустая ячейка.Затем переместитесь вниз на один ряд и сделайте то же самое, двигаясь вправо, пока не найдутся пустые клетки.Затем двигайтесь вниз и так далее и тому подобное.Хитрость заключается в том, что столбцы сильно различаются, от 20 до более 3000. Все начинается в ячейке G2, и в этом случае оно уменьшается до G100, но это может измениться в любое время.Пока что я могу найти самый правый столбец и установить диапазон цикла, но сам цикл отключен, так что это работает неправильно.Есть мысли, эксперты?
Here is the code sample that I am testing.
Dim LastColumn As Long
With ActiveSheet.UsedRange
LastColumn = .Columns(.Columns.Count).Column
End With
Dim ColumnNumber As Long
Dim ColumnLetter As String
ColumnLetter = Split(Cells(1, LastColumn).Address, "$")(1)
Columns("G:" & ColumnLetter).Select
Selection.Replace What:="name: ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.Replace What:="- data_type: ", Replacement:="", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
' start to swap cell contents...
Dim r As Range
Dim c As Range
Dim sht As Worksheet
Dim LastRow As Long
Dim temp As Double
Set sht = ActiveSheet
LastRow = sht.Cells(sht.Rows.Count, "G").End(xlUp).Row
Set r = Range("G2:" & ColumnLetter & LastRow)
For Each c In r
c.Select
temp = ActiveCell.Value
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, 1).Value & ":" & temp
ActiveCell.Offset(0, 2).Select
Next