Sub ...
Selection.HomeKey Unit:=wdStory
Selection.EndKey Unit:=wdStory, Extend:=wdExtend
Selection.Copy
Shell "C:\Microsoft Office\Office11\Excel.exe"
End Sub
ActiveSheet.Paste
abracadabra писал(а):Laborwert As Laborwert
Ramzes писал(а):Я говорил, говорю, и буду говорить о средствах записи макросов!!!
Igor_123 писал(а):Ramzes писал(а):Я говорил, говорю, и буду говорить о средствах записи макросов!!!
Большая часть вопросов снимается после правильного использования рекодера.
Одно НО! Надо уметь им пользоватся и понимать полученный код
abracadabra писал(а):а в ексель - токо один (по заданным координатам ячеек). И я не знаю шо нужно написать в ексель шоб импортировать все данные. Вордовский код я привёл. И екселевский тоже.
abracadabra писал(а):немножко не то. Ворд я написал для примера, а вообще мне нужно в одной программе перебрать данные - за 3 или больше дат и вставить в ексель. в ворд вставляется нормально, а в ексель всатвляется только одно значение.
Вот код
Sub TypeLaborwert(Laborwert As Laborwert)
With Application.Selection
.TypeText (Laborwert.Datum)
.TypeText (Chr(9) + Laborwert.Param + Chr(9))
If Laborwert.Wert <> undefLong Then
.TypeText (Format(Laborwert.Messwert) + " " + Laborwert.Einheit)
End If
.TypeText (Chr(9))
If Laborwert.Minwert <> undefLong Then
.TypeText (Format(Laborwert.Minwert) + " " + Laborwert.Einheit)
End If
.TypeText (Chr(9))
If Laborwert.Maxwert <> undefLong Then
.TypeText (Format(Laborwert.Maxwert) + " " + Laborwert.Einheit)
End If
.TypeText (Chr(9))
.TypeText (Laborwert.Gw)
.TypeParagraph
End With
End Sub
Здесь вставляются все данные, которые есть
А вот екселевский вариант - только одно:
Sub TypeLaborwert(Laborwert As Laborwert)
Worksheets(1).Range("E9").Value = Laborwert.Datum
Worksheets(1).Range("F9").Value = Laborwert.Param
If Laborwert.Wert <> undefLong Then
Worksheets(1).Range("G9").Value = (Format(Laborwert.Messwert) + " " + Laborwert.Einheit)
End If
If Laborwert.Minwert <> undefLong Then
Worksheets(1).Range("H9").Value = (Format(Laborwert.Minwert) + " " + Laborwert.Einheit)
End If
If Laborwert.Maxwert <> undefLong Then
Worksheets(1).Range("I9").Value = (Format(Laborwert.Maxwert) + " " + Laborwert.Einheit)
End If
Worksheets(1).Range("J9").Value = (Laborwert.Gw)
End Sub
И не знаю чё делать
'Worksheets(1).Range("E9").Value вместо "E9"
Worksheets(1).Range(Cells(RowPos, 5),Cells(RowPos, 5)).Value
'Где 5 номер столбца
...
RowPos = RowPos + 1
Сейчас этот форум просматривают: Yandex-бот и гости: 1