Solved

Syntax with copy down and copying a block

Posted on 2006-07-17
3
140 Views
Last Modified: 2010-04-30
Excel VBA

I am trying to
1) copy D25 and copy down where Column E data ends
2) Then Copy start in D25 through Column J where data ends
 And put into a new worksheet starting A1.  
           D           E            F           G      H            I        J
25      2805      11111     11111      1111      1111       111    111      
26                   11111     11111      1111      1111       111    111      
27                  11111     11111      1111       1111      111    111      
 
I am having trouble with syntax of the following piece of code.

Dim r
  r = Range("E65536").End(xlUp).Row
  Range("D25").Resize(r, 1).FillDown

Set rngToCopy = Sheets("Data input sheet").Cells(Rows.Count, "D").End(xlUp).Offset(25, 4)

Any help would greatly be appreciated!

Here is the full piece
///////////////////////////////////////////////////////////
Private Sub cmdTransferToSRP_Click()
'Copy Data and transfer to New Workbook
Dim rngToCopy As Range
Dim rngToPaste As Range

Dim r
  r = Range("E65536").End(xlUp).Row
  Range("D25").Resize(r, 1).FillDown

Set rngToCopy = Sheets("Data input sheet").Cells(Rows.Count, "D").End(xlUp).Offset(25, 4)
   
'Open new workbook to create text file

Workbooks.Add
rngToCopy.Copy
ActiveSheet.Paste


    Application.CutCopyMode = False
   
    Sheets("Sheet3").Select
    ActiveWindow.SelectedSheets.Delete
   
    Sheets("Sheet2").Select
    ActiveWindow.SelectedSheets.Delete
   
 Application.CutCopyMode = False
   
   
0
Comment
Question by:ca1358
  • 2
3 Comments
 

Author Comment

by:ca1358
ID: 17125173
Ok got the rngToCopy to work.

Set rngToCopy = Range("D25:J" & Cells(Rows.Count, "D").End(xlUp).Row)

Now need to figure out
Test Data right now is D25:J37 with D25 having on "2805" and D26 on down blank but when I run the code for some reason the "2805" in D25 is copying down to D61 and not stop in D37.  Can someone tell me why?


Dim r
  r = Range("E65536").End(xlUp).Row
  Range("D25").Resize(r, 1).FillDown
0
 

Author Comment

by:ca1358
ID: 17131067
Here is the answer- you can close this.  

Dim r
  r = Range("E65536").End(xlUp).Row
  Range("D25:D" & r).FillDown


Set rngToCopy = Range("D25:J" & Cells(Rows.Count, "D").End(xlUp).Row)


Thank you.
0
 

Accepted Solution

by:
EE_AutoDeleter earned 0 total points
ID: 17279613
ca1358,
Because you have presented a solution to your own problem which may be helpful to future searches, this question is now PAQed and your points have been refunded.

EE_AutoDeleter
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question