View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
carlo carlo is offline
external usenet poster
 
Posts: 367
Default Help With VBA Copy Code

Hi Cribbsstyle

if you record such procedures, keep in mind, that Excel always works
with selection, which is first of all slow and second not needed.

try this:

Sub copyplayer(ByVal copyfromname, copytoname, copytorow, position,
columnsearch, StartRow)
Application.ScreenUpdating = False

Dim ShFrom As Worksheet
Dim ShTo As Worksheet
Dim LSearchRow As Integer
Dim LEndRow As Integer
Dim LCopyToRow As Integer
Dim cell_ As Range

Set ShFrom = Sheets(copyfromname)
Set ShTo = Sheets(copytoname)
LCopyToRow = copytorow
LEndRow = ShFrom.Cells(65536, columnsearch).End(xlUp).Row

For Each cell_ In ShFrom.Range(ShFrom.Cells(StartRow, columnsearch),
ShFrom.Cells(LEndRow, columnsearch))
If cell_.Value = position Then
ShFrom.Range("A" & cell_.Row & ":B" & cell_.Row).Copy
ShTo.Range("A" & LCopyToRow).PasteSpecial xlPasteValues
LCopyToRow = LCopyToRow + 1
End If
Next cell_

Application.ScreenUpdating = True
End Sub

hope you understand what i did, otherwise just ask.

cheers

Carlo

PS: Be careful there will be some wordwraps!!!

On Jan 11, 12:39*pm, "Bernie Deitrick" <deitbe @ consumer dot org
wrote:
To work with your previously posted style:

Sub test()
CopyPlayer "HidRatings", "PR Current", "12", "RB", "C", "2"
End Sub

Sub CopyPlayer(ByVal copyfromname As String, _
* * * * * * * * ByVal copytoname As String, _
* * * * * * * * ByVal copytorow As Long, _
* * * * * * * * ByVal position As String, _
* * * * * * * * ByVal columnsearch As String, _
* * * * * * * * ByVal StartRow As Long)

Dim myR As Range
With Worksheets(copyfromname)
* * .Range("A" & StartRow - 1).CurrentRegion.AutoFilter _
* * * * Field:=Cells(1, columnsearch).Column, Criteria1:="=" & position
* * Set myR = Intersect(.UsedRange, .Range("A" & StartRow & ":P" &
Rows.Count)) _
* * * * .SpecialCells(xlCellTypeVisible)
* * myR.Copy
End With
With Worksheets(copytoname)
* * .Range("A" & copytorow).PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
End Sub

HTH,
Bernie
MS Excel MVP

"CribbsStyle" wrote in message

...



How would I go about filtering, and I need this to all happen behind
the scenes in VBA.


Yeah I know where the table is...


HidRatings.Range(A2:P90)


Column C has the value Im searching for


Column is mostly filled...there are a few that are not filled, I could
just delete them.


No full blank rows or columns- Hide quoted text -


- Show quoted text -