LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Permutations - 8 columns

This code:

set rngA = Range(cells(2,1),Cells(2,1).End(xldown))
set rngB = Range(cells(2,2),Cells(2,2).End(xldown))
set rngC = Range(cells(2,3),Cells(2,3).End(xldown))
set rngD = Range(cells(2,4),Cells(2,4).End(xldown))
set rngE = Range(cells(2,5),Cells(2,5).End(xldown))


should restrict the ranges to only look at empty cells.

If you go to the second cell in a column and do End and hit the down arrow -
this is how it determines where the last cell is. If you go beyond what you
expect, then possibly someone has cleared cells by using the spacebar (so
the cell is not empty, it contains a space) or perhaps you copied the data
from somewhere and pasted it into excel.

You could put in a bunch of If statements:
Sub AAA()
Dim rngA as Range, rngB as Range, rngC as Range
Dim rngD as Range, rngE as Range, cellA as Range
Dim cellB as Range, cellC as Range, cellD as Range
Dim cellE as Range, i as Long, rw as Long
rw = 2
i = 0
set rngA = Range(cells(2,1),Cells(2,1).End(xldown))
set rngB = Range(cells(2,2),Cells(2,2).End(xldown))
set rngC = Range(cells(2,3),Cells(2,3).End(xldown))
set rngD = Range(cells(2,4),Cells(2,4).End(xldown))
set rngE = Range(cells(2,5),Cells(2,5).End(xldown))
for each cellA in rngA
if len(trim(cellA)) < 0 then
for each cellB in rngB
if len(trim(cellB)) < 0 then
for each cellC in rngC
if len(trim(cellC)) < 0 then
for each cellD in rngD
if len(trim(cellD)) < 0 then
for each cellE in rngE
if len(trim(cellE)) < 0 then
With Worksheets("NewData")
.cells(rw,i +1).Value = cellA.Value
.cells(rw,i +2).Value = cellB.Value
.cells(rw,i + 3).Value = cellC.Value
.cells(rw,i + 4).Value = cellD.Value
.cells(rw,i + 5).Value = cellE.Value
rw = rw + 1
if rw 65536 then
rw = 2
i = i + 6
end if
End with
End if
next CellE
End If
next CellD
End If
next CellC
End If
next CellB
End if
next CellA

End Sub

--
Regards,
Tom Ogilvy

"Sandip" wrote in message
oups.com...
Tom,

I have understood your VBA coding but facing one problem which is not
resulting in correct output.

The problem is that even after data in a particular column is over, and
the permutation continues with that column assuming the information to
be blank.

Thus results in blank cells in the output and the macro continues until
the whole spreadsheet is full.

How do I avert this so that the macro proceeds to the preceding column
after encountering a blank cell and stops after reaching Col A and
again encounters a blank.

Incase what I have mentioned above is not clear, let me know.

Regards
Sandip.


wrote:
Tom,

You are 100% correct in your assumption. We are not allowed to query
the database directly and exact the information in a tabular form.

However there are standardised reports which we can use to extract

the
data. The only problem is that the output is in a report format
(predefined presentation) and multiple reports need to be run to see
the whole picture.

The irony is that though we are allowed to see the

information(whatever
we want) in a report format, we are not allowed to exact the info
through SQL in a database format inorder to analyse it in the way we
want and not in the rigid standarised reports already available.

Regards
Sandip.

Tim Williams wrote:
I took the OP's explanation to mean that owing to the "financial"
(sensitive?) nature of the data they were not permitted to make
complete "copies" of the data by extracting it whole...

Tim.


"Tom Ogilvy" wrote in message
...
We are not allowed to extract the information directly from the
database
in a tabular form.

I suspect if he could query the database, he wouldn't need the
combinations.

Sounds like he is blindly querying the database with all possible
combinations to get back any possible results that may exists.

Just my guess of course.

--
Regards,
Tom Ogilvy

"Tim Williams" <saxifrax@pacbell*dot*net wrote in message
...
Since you're using a database, why not just let SQL do the work

?

select t.Period, t.account, t.currency, t.code, t.country,[other
columns here], sum(t.amount),average(t.amount)
from DataTable t
group by
t.Period, t.account, t.currency, t.code, t.country,[other column
here]

Unless I misunderstand your explanation that should give you the
desired result.

Tim.


wrote in message
oups.com...
Hi,

I have gone through various posts in this group for the

solution

of
a
permutation I require but could not find one.

The data I have is as follows in eight columns

Col A Col B Col C Col D Col E ............ etc
Period Account Currency Code Country ....... etc
Nov-04 99700 USD 1234 USA
Dec-04 51000 2270 EUR
61000 2568 IND
38000

I need to have a macro which would give me a combination of

data

in
various columns into a database format. There can be additions

to
the
information in some of the columns for eg. incase a new

account
is
created.

The output on another sheet needs to be as follows

for eg.
Col A Col B Col C Col D Col E ............ etc
Period Account Currency Code Country ....... etc
Nov-04 99700 USD 1234 USA
Nov-04 99700 USD 1234 EUR
Nov-04 99700 USD 1234 IND
Nov-04 99700 USD 2270 USA

Let me provide a background on why I am following this process
since
if
someone has a better suggestion for arrive at the end result,

I
am
open
for it.

We have a database where all the financial information is

stored.
We
are not allowed to extract the information directly from the
database
in a tabular form. However using Excel retrieve I am allowed

to
extract
the information based on various paramaters and unique

variables

of
each parameter is being listed by me as shown in the first

table.

After having a permutation of various cols and parameters, I

will
be
adding an amount column which would provide the information
retrieved
based on the unique combination of 8 columns / 8 parameters.

Anyone's help is highly appreciated.

Regards
Sandip.








 
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
Permutations Dave Excel Discussion (Misc queries) 5 July 23rd 07 03:06 PM
Showing the permutations of 5 text columns in one column BramL Excel Discussion (Misc queries) 1 March 28th 07 12:14 AM
permutations newyorkjoy Excel Discussion (Misc queries) 3 November 1st 05 08:20 PM
Permutations RedChequer Excel Worksheet Functions 9 September 26th 05 03:14 AM
Permutations RedChequer Excel Worksheet Functions 2 September 25th 05 04:05 AM


All times are GMT +1. The time now is 10:06 PM.

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

About Us

"It's about Microsoft Excel"