Добрый день! Подскажите пожалуйста, нужно чтобы макрос менял цифру на на одну из трех выбранных букв, например 1 на "а,б или в". У меня получилось нечто вроде: Range("A1:Z1").Replace What:="1", Replacement:="à" так же разобрался как заменить на рандомную букву, но выбрать из трех заданных не получается, помогите.
Добрый день! Подскажите пожалуйста, нужно чтобы макрос менял цифру на на одну из трех выбранных букв, например 1 на "а,б или в". У меня получилось нечто вроде: Range("A1:Z1").Replace What:="1", Replacement:="à" так же разобрался как заменить на рандомную букву, но выбрать из трех заданных не получается, помогите.AsprOn
Sub qwe() Dim ch As String Dim allowed allowed = Array("a", "b", "c") ch = InputBox("На что заменить единички?" & vbCrLf & "Вы можете ввести a,b или c") For Each repl In allowed If ch = repl Then Range("A1:Z1").Replace What:="1", Replacement:=ch: Exit For Next repl End Sub
[/vba]
AsprOn, здравствуйте, можно так[vba]
Код
Sub qwe() Dim ch As String Dim allowed allowed = Array("a", "b", "c") ch = InputBox("На что заменить единички?" & vbCrLf & "Вы можете ввести a,b или c") For Each repl In allowed If ch = repl Then Range("A1:Z1").Replace What:="1", Replacement:=ch: Exit For Next repl End Sub
Option Base 1 Sub uuu() a = Array("a", "b", "c") Randomize For Each cel In Sheets("Лист1").UsedRange.Cells cel.Value = Replace(cel.Value, "1", a(Int((3 * Rnd) + 1))) Next End Sub
[/vba]
[vba]
Код
Option Base 1 Sub uuu() a = Array("a", "b", "c") Randomize For Each cel In Sheets("Лист1").UsedRange.Cells cel.Value = Replace(cel.Value, "1", a(Int((3 * Rnd) + 1))) Next End Sub
Option Base 1 Sub uuu() a = Array("a", "b", "c") Randomize For Each cel In Sheets("Лист1").UsedRange.Cells cel.Value = Replace(cel.Value, "1", a(Int((3 * Rnd) + 1))) Next End Sub
при запуске меняет значение в ячейке А1 и пишет "subscript out of range", как сделать чтобы он работал во всем документе? з.ы. извините если вопрос глупый, к сожалению познания vba очень скудны
спасибо всем огромное, еще такой вопрос, в этом варианте
Option Base 1 Sub uuu() a = Array("a", "b", "c") Randomize For Each cel In Sheets("Лист1").UsedRange.Cells cel.Value = Replace(cel.Value, "1", a(Int((3 * Rnd) + 1))) Next End Sub
при запуске меняет значение в ячейке А1 и пишет "subscript out of range", как сделать чтобы он работал во всем документе? з.ы. извините если вопрос глупый, к сожалению познания vba очень скудныAsprOn