У меня есть 2 файла на разных языках, требуется создать один, в котором будет присутствовать оба языка через слеш или второй язык в скобочках
нашла такой макрос: [vba]
Код
Sub CopyAndMerge1() Dim sh2 As Worksheet, i As Integer, n As Integer, p As Integer, cc As Range n = Workbooks.Count For i = 1 To n If Workbooks(i).Name = "PERSONAL.XLS" Then p = 1 Else If Workbooks(i).Name <> ActiveWorkbook.Name Then Set sh2 = Workbooks(i).Sheets(ActiveSheet.Index) End If Next
If n - p <> 2 Then MsgBox "Open only 2 books, pls!", vbCritical: End
For Each cc In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants) cc.Formula = cc & " / " & "(" & sh2.Range(cc.Address) & ")" Next
End Sub
[/vba]
но в этом макросе есть один большой минус, он не сравнивает значения, те если в ячейке число, то по завершению этого макроса будет стоять число/число, а хотелось бы чтобы ячейки с одинаковым содержимым данный макрос обходил.
Подскажите как можно это реализовать [moder]Для макросов используйте специальный тег - кнопочка #. Поправил Вам.
Добрый день! очень нужна помощь.
У меня есть 2 файла на разных языках, требуется создать один, в котором будет присутствовать оба языка через слеш или второй язык в скобочках
нашла такой макрос: [vba]
Код
Sub CopyAndMerge1() Dim sh2 As Worksheet, i As Integer, n As Integer, p As Integer, cc As Range n = Workbooks.Count For i = 1 To n If Workbooks(i).Name = "PERSONAL.XLS" Then p = 1 Else If Workbooks(i).Name <> ActiveWorkbook.Name Then Set sh2 = Workbooks(i).Sheets(ActiveSheet.Index) End If Next
If n - p <> 2 Then MsgBox "Open only 2 books, pls!", vbCritical: End
For Each cc In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants) cc.Formula = cc & " / " & "(" & sh2.Range(cc.Address) & ")" Next
End Sub
[/vba]
но в этом макросе есть один большой минус, он не сравнивает значения, те если в ячейке число, то по завершению этого макроса будет стоять число/число, а хотелось бы чтобы ячейки с одинаковым содержимым данный макрос обходил.
Подскажите как можно это реализовать [moder]Для макросов используйте специальный тег - кнопочка #. Поправил Вам.LeRu
Сообщение отредактировал _Boroda_ - Четверг, 29.10.2015, 18:25
Последний кусок можно переписать примерно вот так [vba]
Код
For Each cc In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants) If cc <> sh2.Range(cc.Address) Then cc.Formula = cc & " / " & "(" & sh2.Range(cc.Address) & ")" cc = cc.Value End If Next
[/vba]
Последний кусок можно переписать примерно вот так [vba]
Код
For Each cc In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants) If cc <> sh2.Range(cc.Address) Then cc.Formula = cc & " / " & "(" & sh2.Range(cc.Address) & ")" cc = cc.Value End If Next