+ Reply to Thread
Results 1 to 3 of 3

Ignore blank cells while copying and pasting macro

Hybrid View

  1. #1
    Forum Contributor dagindi's Avatar
    Join Date
    06-02-2008
    Location
    New York, NY
    MS-Off Ver
    Excel 2007 & 2010
    Posts
    295

    Ignore blank cells while copying and pasting macro

    attached is a sample worksheet.

    The red bordered box shows how data appears in a spreadsheet.

    I use the following macro to copy the data in the boxed range to a new workbook.

    Sub Macro1()
    
        Application.Goto Reference:="New_Range2"
        Selection.SpecialCells(xlCellTypeVisible).Copy
        Workbooks.Add
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
            xlNone, SkipBlanks:=True, Transpose:=False
        Application.CutCopyMode = False
    End Sub
    I cannot figure out how to get the data to look like how I have it in the green bordered box.
    Attached Files Attached Files

  2. #2
    Forum Moderator Leith Ross's Avatar
    Join Date
    01-15-2005
    Location
    San Francisco, Ca
    MS-Off Ver
    2000, 2003, & 2010
    Posts
    23,259

    Re: Ignore blank cells while copying and pasting macro

    Hello dagindi,

    You will need to change the destination range in this macro to the new workbook. I used Sheet2 "A1" as the destination to test the macro below.
    Sub CopyAmdPaste()
    
      Dim C As Long
      Dim Col As Object
      Dim DstRng As Range
      Dim R As Long
      Dim RngRow As Range
      Dim SrcRng As Range
      
        Set SrcRng = Worksheets("Sheet1").Range("New_Range2")
        Set DstRng = Worksheets("Sheet2").Range("A1")
        
        Application.ScreenUpdating = False
        
         'Copy all non empty rows to the destination range
          For Each RngRow In SrcRng.Rows
            If WorksheetFunction.CountA(RngRow) <> 0 Then
               RngRow.Copy DstRng.Offset(R, 0)
               R = R + 1
            End If
          Next RngRow
          
          Set DstRng = DstRng.Resize(R, SrcRng.Columns.Count)
          
           'Remove all empty columns except "B"
            For C = DstRng.Columns.Count To 3 Step -1
              Set Col = DstRng.Columns(C)
              If WorksheetFunction.CountA(Col.Cells) = 0 Then
                 Col.EntireColumn.Delete
              End If
            Next C
            
        Application.ScreenUpdating = True
        
    End Sub
    Attached Files Attached Files
    Sincerely,
    Leith Ross

    Remember To Do the Following....

    1. Use code tags. Place [CODE] before the first line of code and [/CODE] after the last line of code.
    2. Thank those who have helped you by clicking the Star below the post.
    3. Please mark your post [SOLVED] if it has been answered satisfactorily.


    Old Scottish Proverb...
    Luathaid gu deanamh maille! (Rushing causes delays!)

  3. #3
    Forum Expert
    Join Date
    11-29-2010
    Location
    Ukraine
    MS-Off Ver
    Excel 2019
    Posts
    4,168

    Re: Ignore blank cells while copying and pasting macro

    hi, dagindi, as an option, run code "test"
    Attached Files Attached Files
    Last edited by watersev; 04-07-2011 at 04:22 AM.

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1