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
5
Medium Priority
?
262 Views
Last Modified: 2014-02-20
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
$Workbook01 = $Excel01.Workbooks.Add()
$Worksheet01 = $Workbook01.Sheets.Item(1)
$Worksheet01.Cells.Item(1,1) = "This Works!"
$Worksheet01.Activate()

Open in new window

0
Comment
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
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 18

Accepted Solution

by:
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
$Workbook01 = $Excel01.Workbooks.Add()
$Worksheet01 = $Workbook01.Sheets.Item(1)
for ($row = 1; $row -lt 11; $row++)
{
    $Worksheet01.Cells.Item($row,1) = "X"
}

Open in new window

0
 

Author Comment

by:tomtom9898
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

by:Steven Harris
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
$Workbook01 = $Excel01.Workbooks.Add()

$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"}}

Open in new window


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

Expert Comment

by:c_kedar
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>]

Open in new window

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

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

Featured Post

Has Powershell sent you back into the Stone Age?

If managing Active Directory using Windows Powershell® is making you feel like you stepped back in time, you are not alone.  For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why.

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

604 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