Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 852
Default Cell values to an array, then array transpose to another workbook

I am trying to get the four values in Range("D11,D13,I20,D15") of source workbook and sheet1 to target workbook and sheet ORDER FORM range(A41)up next available row, each in individual cells of that row and in the order they are in.

Two things happen when I run the code.

1. All the Range("D11,D13,I20,D15") cells values are replaced with 1. I have tried text and numbers in these cell to start. All are 1's after code runs.

2. Type mismatch error pop up follows.

(I have a function above the code to make the workbook open line work and have tested it, works fine.)

I have rechecked the sheet names and book names and those seem to be in order.

I'm quite shakey on the array and the transpose and I need paste value as the values to be copied are from formulas.

Thanks.
Howard

Option Explicit

Sub PriceToPOrder()

Dim wksSource As Worksheet, wksTarget As Worksheet
Dim wkbSource As Workbook, wkbTarget As Workbook
Dim rngSource As Range, rngTarget As Range
Dim varRicho As Variant
Dim varLanier As Variant

Set wkbSource = Workbooks("PRICE COMPARE TEST SHEET.xlsm")
Set wkbTarget = Workbooks("ORDER FORM TEST SHEET.xlsm")
Set wksSource = wkbSource.Sheets("Sheet1")
Set wksTarget = wkbTarget.Sheets("ORDER FORM")

If Not IsFileOpen("C:\Users\Howard Kittle\Documents\ORDER FORM TEST SHEET.xlsm") Then
Workbooks.Open ("C:\Users\Howard Kittle\Documents\ORDER FORM TEST SHEET.xlsm")
End If

'Set all the copy cells for RICHO or LANIER
varRicho = Array(1, 2, 3, 4)
wkbSource.Sheets("Sheet1").Range("D11,D13,I20,D15" ).Value = varRicho
wkbTarget.Sheets("ORDER FORM").Range("A41" & Rows.Count).End(xlUp)(2) _
.PasteSpecial Paste:=xlPasteValues = Application.Transpose(varRicho)


'varLanier = Array(1, 2, 3, 4)
'wkbSource.Sheets("Sheet1").Range("O11,O13,O20,O15 ").Value = varLanier
'wkbTarget.Sheets("Sheet1").Range("A41" & Rows.Count).End(xlUp)(2) _
' .PasteSpecial Paste:=xlPasteValues = Application.Transpose(varLanier)
'Range("A" & Rows.Count).End(xlUp)(2).PasteSpecial Paste:=xlPasteValues

End Sub
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,872
Default Cell values to an array, then array transpose to another workbook

Hi Howard,

Am Thu, 16 Jan 2014 03:32:03 -0800 (PST) schrieb L. Howard:

I am trying to get the four values in Range("D11,D13,I20,D15") of source workbook and sheet1 to target workbook and sheet ORDER FORM range(A41)up next available row, each in individual cells of that row and in the order they are in.


try:

Sub PriceToPOrder()

Dim wksSource As Worksheet, wksTarget As Worksheet
Dim wkbSource As Workbook, wkbTarget As Workbook
Dim rngSource As Range, rngTarget As Range
Dim varRicho(3) As Variant
Dim varLanier As Variant
Dim rngC As Range
Dim i As Long

Set wkbSource = Workbooks("PRICE COMPARE TEST SHEET.xlsm")
Set wkbTarget = Workbooks("ORDER FORM TEST SHEET.xlsm")
Set wksSource = wkbSource.Sheets("Sheet1")
Set wksTarget = wkbTarget.Sheets("ORDER FORM")

If Not IsFileOpen("C:\Users\Howard Kittle\Documents\ORDER FORM TEST
SHEET.xlsm") Then
Workbooks.Open ("C:\Users\Howard Kittle\Documents\ORDER FORM TEST
SHEET.xlsm")
End If

'Set all the copy cells for RICHO or LANIER

For Each rngC In wksSource.Range("D11,D13,I20,D15")
varRicho(i) = rngC.Value
i = i + 1
Next

wksTarget.Cells(Rows.Count, 1).End(xlUp)(2) _
.Resize(columnsize:=4) = varRicho

End Sub


Regards
Claus B.
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 852
Default Cell values to an array, then array transpose to another workbook

I dimmed rngC as Variant and i as Long.
Code is in standard module.

Type mismatch on vaRicho, yellowed out and hover cursor over it.

varRicho(i) = rngC.Value

Howard
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,872
Default Cell values to an array, then array transpose to another workbook

Hi Howard,

Am Thu, 16 Jan 2014 05:15:03 -0800 (PST) schrieb L. Howard:

I dimmed rngC as Variant and i as Long.
Code is in standard module.

Type mismatch on vaRicho, yellowed out and hover cursor over it.


try:
Dim varRicho(3) As Variant
Dim rngC As Range
Dim i As Long

Here it works without errors


Regards
Claus B.
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 852
Default Cell values to an array, then array transpose to another workbook

On Thursday, January 16, 2014 5:34:23 AM UTC-8, Claus Busch wrote:
Hi Howard,



Am Thu, 16 Jan 2014 05:15:03 -0800 (PST) schrieb L. Howard:



I dimmed rngC as Variant and i as Long.


Code is in standard module.




Type mismatch on vaRicho, yellowed out and hover cursor over it.




try:

Dim varRicho(3) As Variant

Dim rngC As Range

Dim i As Long



Here it works without errors





Regards

Claus B.

--

Win XP PRof SP2 / Vista Ultimate SP2

Office 2003 SP2 /2007 Ultimate SP2


Yes, that did it, works great.


I just need to modify this line to start at row 44 and look up from there. The window it has to copy to is row 44 up to row 29.

wksTarget.Cells(Rows.Count, 1).End(xlUp)(2) _
.Resize(columnsize:=4) = varRicho

Howard


  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,872
Default Cell values to an array, then array transpose to another workbook

Hi Howard,

Am Thu, 16 Jan 2014 11:45:16 -0800 (PST) schrieb L. Howard:

wksTarget.Cells(Rows.Count, 1).End(xlUp)(2) _
.Resize(columnsize:=4) = varRicho


try:
wksTarget.Cells(49, 1).End(xlUp)(2).Resize(columnsize:=4) = varRicho

I changed the code to make it better readable:

Sub PriceToPOrder()

Dim wksSource As Worksheet, wksTarget As Worksheet
Dim wkbSource As Workbook, wkbTarget As Workbook
Dim rngSource As Range, rngTarget As Range, rngRicho As Range
Dim varRicho() As Variant
Dim varLanier() As Variant
Dim rngC As Range
Dim i As Long

Set wkbSource = Workbooks("PRICE COMPARE TEST SHEET.xlsm")
Set wkbTarget = Workbooks("ORDER FORM TEST SHEET.xlsm")
Set wksSource = wkbSource.Sheets("Sheet1")
Set wksTarget = wkbTarget.Sheets("ORDER FORM")
Set rngRicho = wksSource.Range("D11,D13,I20,D15")

If Not IsFileOpen("C:\Users\Howard Kittle\Documents\ORDER FORM TEST
SHEET.xlsm") Then
Workbooks.Open ("C:\Users\Howard Kittle\Documents\ORDER FORM TEST
SHEET.xlsm")
End If

'Set all the copy cells for RICHO or LANIER
ReDim Preserve varRicho(rngRicho.Cells.Count - 1)
For Each rngC In rngRicho
varRicho(i) = rngC.Value
i = i + 1
Next

wksTarget.Cells(49, 1).End(xlUp)(2).Resize(columnsize:=4) = varRicho

End Sub


Regards
Claus B.
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2
  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,872
Default Cell values to an array, then array transpose to another workbook

Hi Howard,

Am Thu, 16 Jan 2014 21:00:38 +0100 schrieb Claus Busch:

wksTarget.Cells(49, 1).End(xlUp)(2).Resize(columnsize:=4) = varRicho


if it could be that over 29 cells are empty but the output should not be
over 29 then change the code to:
With wksTarget
FERow = WorksheetFunction.Max(29, .Cells(49, 1).End(xlUp).Offset(1,
0).Row)
.Cells(FERow, 1).Resize(columnsize:=4) = varRicho
End With

Or look he
https://skydrive.live.com/#cid=9378A...121822A3%21326
for the workbooks, download and open both and run the macro.


Regards
Claus B.
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2
  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 852
Default Cell values to an array, then array transpose to another workbook

On Thursday, January 16, 2014 12:09:26 PM UTC-8, Claus Busch wrote:
Hi Howard,



Am Thu, 16 Jan 2014 21:00:38 +0100 schrieb Claus Busch:



wksTarget.Cells(49, 1).End(xlUp)(2).Resize(columnsize:=4) = varRicho




if it could be that over 29 cells are empty but the output should not be

over 29 then change the code to:

With wksTarget

FERow = WorksheetFunction.Max(29, .Cells(49, 1).End(xlUp).Offset(1,

0).Row)

.Cells(FERow, 1).Resize(columnsize:=4) = varRicho

End With



Or look he

https://skydrive.live.com/#cid=9378A...121822A3%21326

for the workbooks, download and open both and run the macro.





Regards

Claus B.

--

Win XP PRof SP2 / Vista Ultimate SP2

Office 2003 SP2 /2007 Ultimate SP2


This did the trick and works well!

Thanks a lot.

I will look at the link, bound to be some good info there as usual.

wksTarget.Cells(49, 1).End(xlUp)(2).Resize(columnsize:=4) = varRicho

Sure do appreciate the help.

Howard
  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 852
Default Cell values to an array, then array transpose to another workbook

On Thursday, January 16, 2014 12:09:26 PM UTC-8, Claus Busch wrote:
Hi Howard,



Am Thu, 16 Jan 2014 21:00:38 +0100 schrieb Claus Busch:



wksTarget.Cells(49, 1).End(xlUp)(2).Resize(columnsize:=4) = varRicho




if it could be that over 29 cells are empty but the output should not be

over 29 then change the code to:

With wksTarget

FERow = WorksheetFunction.Max(29, .Cells(49, 1).End(xlUp).Offset(1,

0).Row)

.Cells(FERow, 1).Resize(columnsize:=4) = varRicho

End With



Or look he

https://skydrive.live.com/#cid=9378A...121822A3%21326

for the workbooks, download and open both and run the macro.





Regards

Claus B.



The download was very informative!

That is really nice to be able to have a target block of cells for the input and not have to put artificial "stops" at the top AND be able to skip over some occupied cells below the target cells.

Thanks Claus.
Howard
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Keep original cell formatting when using transpose array formula Claire Charron Excel Worksheet Functions 1 February 1st 12 08:05 PM
Redimming an array dynamically assigned from range (how to redim first dimension of a 2-D array? /or/ reverse the original array order) Keith R[_2_] Excel Programming 3 November 13th 07 04:08 PM
Array: Counting multiple values within array Trilux_nogo Excel Worksheet Functions 4 April 16th 07 03:12 AM
search an array for values contained in another array Cheer-Phil-ly Excel Programming 0 April 12th 07 09:44 PM
Transpose Array drbobsled Excel Discussion (Misc queries) 1 December 1st 06 01:50 AM


All times are GMT +1. The time now is 09:56 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"