Тема: VBA Excel
Показать сообщение отдельно

  #7  
Старый 28.11.2008, 12:53
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Вот код всего макроса, в нем один CommandButton и Textbox
Он берет имена последнего и предпоследнего листов, копирует Активный лист, меняет в нем ссылки на лист с которого был скопирован, и в необходимую мне ячейку записывает дату, которая вводится в Textbox и имеет вид типа "100208" (Сраная ежедневная отчетность)
Код:
Private Sub CommandButton1_Click()
lst_wrk_sht = Worksheets(Worksheets.Count - 1).Name
actv_sht_nm = ActiveSheet.Name
ActiveSheet.Copy After:=ActiveSheet
ActiveSheet.Name = TextBox1.Text
ActiveSheet.Cells.Replace lst_wrk_sht, actv_sht_nm
actv_sht_nm = ActiveSheet.Name
year_sh = CStr(Right(actv_sht_nm, 2))
day_sh = CStr(Left(actv_sht_nm, 2))
If CStr(Left(day_sh, 1)) = 0 Then: day_sh = CStr(Right(day_sh, 1))
tmp_mnth_str = CStr(Left(actv_sht_nm, 4))
month_sh = CStr(Right(tmp_mnth_str, 2))
Dim data As Date
data = CStr(day_sh + "." + month_sh + "." + "20" + year_sh)
ActiveSheet.Range("F5").FormulaR1C1 = data
ActiveSheet.Range("F5").NumberFormat = "[$-FC22]dd mmmm yyyy ð.;@"
End Sub
И весь прикол в том, что я не могу явно прописывать адреса листов/книг, так как этот же макрос всуну еще в пару документов, и необходимо что бы он был более-менее универсален

Последний раз редактировалось login999; 28.11.2008 в 12:56..
 
Ответить с цитированием