Marcin Skomski

Marcin Skomski Operator koparki
ręcznej, Zenek z
poczty

Temat: VBA rozbudowa prostego makro

Witam mam takie oto makro:

Sub Makro1()
'
' Makro1 Makro
'

'
Rows("20:20").Select
Selection.Copy
Rows("11:11").Select
ActiveSheet.Paste
End Sub

Chcę zrobić tak żeby nie był kopiowany wiersz 20 tylko wiersz, którego numer bądz adres będzie pobierany z pola E3.
Proszę o pomoc
Tomasz Gryzio

Tomasz Gryzio Dyrektor
zarządzający/Trener/
Konsultant - It
School

Temat: VBA rozbudowa prostego makro

Proszę bardzo:


Sub Makro1()
'
' Makro1 Makro
'

'
Dim lngNumerWiersza as Long
lngNumerWiersza = Range("E3").value
Rows(lngNumerWiersza).Select
Selection.Copy
Rows("11:11").Select
ActiveSheet.Paste
End Sub
Grzegorz C.

Grzegorz C. Specjalista,
Uniwersytet Śląski

Temat: VBA rozbudowa prostego makro

Moja propozycja:
Sub Makro1()
Dim rngTmp As Range

If Len(Range("E3").Value) > 0 Then
On Error Resume Next
'sprawdzamy wpis w komórce E3
Select Case IsNumeric(Range("E3").Value)
'dla wpisu z adresem komórki z kopiowanego wiersza (np: B20)
Case Is = False
Set rngTmp = Range(Range("E3").Value)
Set rngTmp = Rows(rngTmp.Row)
'dla wpisu tylko z numerem kopiowanego wiersza (np: 20)
Case Is = True
Set rngTmp = Rows(Range("E3").Value)
End Select
'sprawdzamy czy zdefiniowany na podstawie wpisu w komórce E3 zakres wogóle istnieje (wpisy w stylu 20,2; ADAD), jeśli tak to go kopiujemy
If Not rngTmp Is Nothing Then
rngTmp.Copy Destination:=Rows(11)
End If
On Error GoTo 0
End If
End Sub

Następna dyskusja:

VBA - makro - wielokrotne k...




Wyślij zaproszenie do