Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
Solved

# Input text into excel using random generation to 10,000 cells

Posted on 2014-02-02
Medium Priority
262 Views
I am working on creating an excel workbook that creates 10 worksheets and randomly add's numbers to a group of 10,000 cells.  I am stuck on getting the random part to each cell.  Individually it is working, but as a group it is not.  Any help would be greatly appreciated!

Here is the code I have so far:

``````\$Excel01 = New-Object -ComObject Excel.Application
\$Excel01.Visible = \$True
\$Excel01.SheetsInNewWorkbook = 10
\$Worksheet01 = \$Workbook01.Sheets.Item(1)
\$Worksheet01.Cells.Item(1,1) = "This Works!"
\$Worksheet01.Activate()
``````
0
Question by:tomtom9898
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 2
• 2

LVL 18

Accepted Solution

Steven Harris earned 2000 total points
ID: 39828349
Have you looked into a for loop?  I haven't tested, but will probably be slow to process from PS to XL.

``````\$Excel01 = New-Object -ComObject Excel.Application
\$Excel01.Visible = \$True
\$Excel01.SheetsInNewWorkbook = 10
\$Worksheet01 = \$Workbook01.Sheets.Item(1)
for (\$row = 1; \$row -lt 11; \$row++)
{
\$Worksheet01.Cells.Item(\$row,1) = "X"
}
``````
0

Author Comment

ID: 39828402
Let me try yours real quick, but I think this would not do 10,000 cells of random data.  If it helps, I want to Take the letters "PS" and add a random number to it between 1 and 10,000 so I have 10,000 different codes all Starting with PSXXXX
0

LVL 18

Expert Comment

ID: 39828500
In one sheet, or across all sheets? I may have been on the wrong track :(

Just for grins - This will loop through all sheets and then put an X in a specific range (A1:E10) for each sheet.

``````\$Excel01 = New-Object -ComObject Excel.Application
\$Excel01.Visible = \$True
\$Excel01.SheetsInNewWorkbook = 10

\$Worksheets = \$Workbook01.WorkSheets.Item(\$WorkSheetNum)
foreach(\$worksheet in \$Workbook01.Worksheets){
for (\$i = 1; \$i -lt 11; \$i++){
\$Worksheet.Cells.Item(\$i,1) = "X"
\$Worksheet.Cells.Item(\$i,2) = "X"
\$Worksheet.Cells.Item(\$i,3) = "X"
\$Worksheet.Cells.Item(\$i,4) = "X"
\$Worksheet.Cells.Item(\$i,5) = "X"}}
``````

I am sure we can use the same logic to add the differential numbers as well.
0

LVL 2

Expert Comment

ID: 39854390
Use Get-Random cmdlet to generate random number in PowerShell.
``````help Get-Random

NAME
Get-Random
SYNOPSIS
Gets a random number, or selects objects randomly from a collection.
SYNTAX
Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>] [<CommonParameters>]
``````
Use them as you want.

It is not clear where you want to put random numbers in certain cells in each sheet or you want to put them in random cells spread across these sheets.

But once you have random numbers you can use them as per need.

Let me know if you need more help.
0

Author Closing Comment

ID: 39873196
This worked, thanks so much for the help!
0

## Featured Post

Question has a verified solution.

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

Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
###### Suggested Courses
Course of the Month9 days, 2 hours left to enroll