Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: помогите разобраться с условием
     
    
Добавлено: 17.05.08 07:16
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 noob
      
       
  
никак не получается сделать следующее условие, выходит bug . необходимо добавить в ячейку ексель comment, а если он уже есть то добавлять не надо, или другое условие - отредактировть этот коммент
 
    
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 6
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 Pavel
![]()
![]()
![]()
![]()
Вопросов: 0
Ответов: 36
      
 Профиль |  | #1
       
Добавлено:  17.05.08 09:05
       
    
       
  
Для ячейки А1
 
    
Dim xComm As Comment
    Set xComm = Range("A1"
.Comment
    If xComm Is Nothing Then
        With Range("A1"
            .AddComment
            .Comment.Text "бла-бла-бла"
        End With
    Else
        MsgBox "Комментарий уже есть!"
    End If
End Sub
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 noob
![]()
![]()
![]()
Вопросов: 5
Ответов: 25
      
 Профиль |  | #2
       
Добавлено:  17.05.08 15:22
       
    
       
  
спасибо разобрался
 
    
    Columns("B:B"
.Select
    Selection.Insert Shift:=xlToRight
    Range("B1"
.Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Sheet3!C[-1]:C,2,FALSE)"
    Selection.AutoFill Destination:=Range("B1:B20"
, Type:=xlFillDefault
    Range("B1:B20"
.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B1"
.Select
    Application.CutCopyMode = False
    For z = 1 To 20
Dim xComm As Comment
    Set xComm = Range("c" & z).Comment
    If xComm Is Nothing Then
        With Range("c" & z)
            .AddComment
            .Comment.Text "sd" & Chr(10) & Range("b" & z)
        End With
   Else
    Range("c" & z).Comment.Text "sd" & Chr(10) & Range("b" & z)
    End If
Next
Columns("B:B"
.Select
Selection.Delete Shift:=xlToLeft
 End Sub
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 noob
![]()
![]()
![]()
Вопросов: 5
Ответов: 25
      
 Профиль |  | #3
       
Добавлено:  21.05.08 12:30
       
    
       
  
подскажите пожалуйста 
 
    
получается выполнение только для одного листа для нескольких листов никак не могу написать выходит bug.
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 StrongMax
![]()
![]()
![]()
![]()
Вопросов: 1
Ответов: 4
      
 Профиль |  | #4
       
Добавлено:  26.05.08 10:42
       
    
       
  
Нужно либо менять Активный лист, либо пользоваться конструкцией Книга.Лист("Лист2" 
    
.Яцейки.
Прошу прощения, не могу прислать код. Нет Office на компе.
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 Smith
![]()
![]()
![]()
ICQ: ненавижу 
Вопросов: 28
Ответов: 317
      
 Web-сайт:  
 Профиль |  | #5
      
Добавлено:  28.05.08 09:04
       
    
       
  
Noob, всё этими Range, Select да ActiveCell пользуешься.
 
    
Для нескольких листов это запросто, но лучше откажись от макросовских методов.
Тут ещё другая проблема, AddComment не принимает переменные, только константы, "текст" заготовленный ещё в коде.
Т.е. в коммент нельзя назначить текст из ячейки.
Единственный вариант, это описать в коде все возможные варианты комментариев и выбирать нужный в зависимости от текста ячейки.
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 noob
![]()
![]()
![]()
Вопросов: 5
Ответов: 25
      
 Профиль |  | #6
       
Добавлено:  30.05.08 09:46
       
    
       
  
текст из ячейки получается вставить в комментарий. для нескольких листов практически получается если не менять следующее, но тогда для всех листов вставится одно и то же - при изменении имени листа (sheet2)из которого копируются ячейки  
    
возникает bug в 
        End With 
   Else 
    Range("c" & z).Comment.Text "sd" & Chr(10) & Range("b" & z) 
    End If