ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Cell Ref question (https://www.excelbanter.com/excel-discussion-misc-queries/174337-cell-ref-question.html)

Roger

Cell Ref question
 
Good Afternoon,

I have a macro that is writing from one workbook to another. After it has
finished opening and writing it's initial data, it calls this macro and
writes a special cell value to the front page. Though this works fine, I want
it to be a cell reference (linked value) vs. static.

Ive tried a couple ways unsuccessfully and was wondering if you might have
some ideas on how to accomplish this.

Thank you - Roger

Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

ws.Cells(irow, 12) = ActiveSheet.Range("h5").Value <<<This works but I want
a cell ref (link) vs. static value

Worksheets("sheet1").Select

End sub
Was this post helpful to you?

Why should I


Conan Kelly

Cell Ref question
 
Roger,

Maybe something like this would work (haven't tested it):

Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

'ws.Cells(irow, 12) = ActiveSheet.Range("h5").Value
we.Cells(irow, 12).Formula = "='" & ActiveSheet.Name & "'!H5"

Worksheets("sheet1").Select

End Sub



HTH,


Conan





"Roger" wrote in message
...
Good Afternoon,

I have a macro that is writing from one workbook to another. After it has
finished opening and writing it's initial data, it calls this macro and
writes a special cell value to the front page. Though this works fine, I
want
it to be a cell reference (linked value) vs. static.

Ive tried a couple ways unsuccessfully and was wondering if you might have
some ideas on how to accomplish this.

Thank you - Roger

Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

ws.Cells(irow, 12) = ActiveSheet.Range("h5").Value <<<This works but I
want
a cell ref (link) vs. static value

Worksheets("sheet1").Select

End sub
Was this post helpful to you?

Why should I




Dave Peterson

Cell Ref question
 
You could record a macro when you do
Edit|copy
followed by Edit|paste special|paste Link

Or you could just build the formula yourself:

ws.Cells(irow, 12).Formula _
= "=" & ActiveSheet.Range("h5").Address(external:=True)

Roger wrote:

Good Afternoon,

I have a macro that is writing from one workbook to another. After it has
finished opening and writing it's initial data, it calls this macro and
writes a special cell value to the front page. Though this works fine, I want
it to be a cell reference (linked value) vs. static.

Ive tried a couple ways unsuccessfully and was wondering if you might have
some ideas on how to accomplish this.

Thank you - Roger

Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

ws.Cells(irow, 12) = ActiveSheet.Range("h5").Value <<<This works but I want
a cell ref (link) vs. static value

Worksheets("sheet1").Select

End sub
Was this post helpful to you?

Why should I


--

Dave Peterson

Dave Peterson

Cell Ref question
 
It would work nicely if the sheets weren't in different workbooks.

Conan Kelly wrote:

Roger,

Maybe something like this would work (haven't tested it):

Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

'ws.Cells(irow, 12) = ActiveSheet.Range("h5").Value
we.Cells(irow, 12).Formula = "='" & ActiveSheet.Name & "'!H5"

Worksheets("sheet1").Select

End Sub

HTH,

Conan

"Roger" wrote in message
...
Good Afternoon,

I have a macro that is writing from one workbook to another. After it has
finished opening and writing it's initial data, it calls this macro and
writes a special cell value to the front page. Though this works fine, I
want
it to be a cell reference (linked value) vs. static.

Ive tried a couple ways unsuccessfully and was wondering if you might have
some ideas on how to accomplish this.

Thank you - Roger

Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

ws.Cells(irow, 12) = ActiveSheet.Range("h5").Value <<<This works but I
want
a cell ref (link) vs. static value

Worksheets("sheet1").Select

End sub
Was this post helpful to you?

Why should I


--

Dave Peterson

Roger

Cell Ref question
 
Hi Dave,

That works just terrific €“ Thanks.

Say, can I tap your brain one last time? How can I expand on that formula
to add nothing if cell H5 is empty. Right now it links and puts the value in
the front page, but I dont want to show a value in the H5 has nothing in its
cell?

Thanks so much for your review and thoughts - Roger


"Dave Peterson" wrote:

You could record a macro when you do
Edit|copy
followed by Edit|paste special|paste Link

Or you could just build the formula yourself:

ws.Cells(irow, 12).Formula _
= "=" & ActiveSheet.Range("h5").Address(external:=True)

Roger wrote:

Good Afternoon,

I have a macro that is writing from one workbook to another. After it has
finished opening and writing it's initial data, it calls this macro and
writes a special cell value to the front page. Though this works fine, I want
it to be a cell reference (linked value) vs. static.

Ive tried a couple ways unsuccessfully and was wondering if you might have
some ideas on how to accomplish this.

Thank you - Roger

Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

ws.Cells(irow, 12) = ActiveSheet.Range("h5").Value <<<This works but I want
a cell ref (link) vs. static value

Worksheets("sheet1").Select

End sub
Was this post helpful to you?

Why should I


--

Dave Peterson


Dave Peterson

Cell Ref question
 
You have a couple of choices...

Either use a different formula that makes the cell look blank if that cell is
empty:

Option Explicit
Sub WritetoMainPage()

Dim irow As Long
Dim myAddr As String
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

myAddr = ActiveSheet.Range("h5").Address(external:=True)
ws.Cells(irow, 12).Formula _
= "=if(" & myAddr & " = """",""""," & myAddr & ")"

ws.Select

End Sub

Or you could avoid populating the cell with any formula:

Option Explicit
Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Dim myAddr As String

Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

With ActiveSheet.Range("h5")
If IsEmpty(.Value) Then
'do nothing
'or empty that cell???
'ws.Cells(irow, 12).ClearContents
Else
myAddr = .Address(external:=True)
ws.Cells(irow, 12).Formula _
= "=if(" & myAddr & " = """",""""," & myAddr & ")"
End If
End With

ws.Select

End Sub

Roger wrote:

Hi Dave,

That works just terrific €“ Thanks.

Say, can I tap your brain one last time? How can I expand on that formula
to add nothing if cell H5 is empty. Right now it links and puts the value in
the front page, but I dont want to show a value in the H5 has nothing in its
cell?

Thanks so much for your review and thoughts - Roger

"Dave Peterson" wrote:

You could record a macro when you do
Edit|copy
followed by Edit|paste special|paste Link

Or you could just build the formula yourself:

ws.Cells(irow, 12).Formula _
= "=" & ActiveSheet.Range("h5").Address(external:=True)

Roger wrote:

Good Afternoon,

I have a macro that is writing from one workbook to another. After it has
finished opening and writing it's initial data, it calls this macro and
writes a special cell value to the front page. Though this works fine, I want
it to be a cell reference (linked value) vs. static.

Ive tried a couple ways unsuccessfully and was wondering if you might have
some ideas on how to accomplish this.

Thank you - Roger

Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

ws.Cells(irow, 12) = ActiveSheet.Range("h5").Value <<<This works but I want
a cell ref (link) vs. static value

Worksheets("sheet1").Select

End sub
Was this post helpful to you?

Why should I


--

Dave Peterson


--

Dave Peterson

Roger

Cell Ref question
 
Both worked just great.

Thanks once again for all your help - Roger

"Dave Peterson" wrote:

You have a couple of choices...

Either use a different formula that makes the cell look blank if that cell is
empty:

Option Explicit
Sub WritetoMainPage()

Dim irow As Long
Dim myAddr As String
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

myAddr = ActiveSheet.Range("h5").Address(external:=True)
ws.Cells(irow, 12).Formula _
= "=if(" & myAddr & " = """",""""," & myAddr & ")"

ws.Select

End Sub

Or you could avoid populating the cell with any formula:

Option Explicit
Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Dim myAddr As String

Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

With ActiveSheet.Range("h5")
If IsEmpty(.Value) Then
'do nothing
'or empty that cell???
'ws.Cells(irow, 12).ClearContents
Else
myAddr = .Address(external:=True)
ws.Cells(irow, 12).Formula _
= "=if(" & myAddr & " = """",""""," & myAddr & ")"
End If
End With

ws.Select

End Sub

Roger wrote:

Hi Dave,

That works just terrific Γ’‚¬€œ Thanks.

Say, can I tap your brain one last time? How can I expand on that formula
to add nothing if cell H5 is empty. Right now it links and puts the value in
the front page, but I donΓ’‚¬„’t want to show a value in the H5 has nothing in its
cell?

Thanks so much for your review and thoughts - Roger

"Dave Peterson" wrote:

You could record a macro when you do
Edit|copy
followed by Edit|paste special|paste Link

Or you could just build the formula yourself:

ws.Cells(irow, 12).Formula _
= "=" & ActiveSheet.Range("h5").Address(external:=True)

Roger wrote:

Good Afternoon,

I have a macro that is writing from one workbook to another. After it has
finished opening and writing it's initial data, it calls this macro and
writes a special cell value to the front page. Though this works fine, I want
it to be a cell reference (linked value) vs. static.

Ive tried a couple ways unsuccessfully and was wondering if you might have
some ideas on how to accomplish this.

Thank you - Roger

Sub WritetoMainPage()

Dim irow As Long
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")

irow = ws.Cells(1, 12) _
.End(xlDown).Offset(1, 0).Row

ws.Cells(irow, 12) = ActiveSheet.Range("h5").Value <<<This works but I want
a cell ref (link) vs. static value

Worksheets("sheet1").Select

End sub
Was this post helpful to you?

Why should I

--

Dave Peterson


--

Dave Peterson



All times are GMT +1. The time now is 01:39 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com