Solved

Link sheets

Posted on 2016-09-08
13
28 Views
Last Modified: 2016-09-28
Hello I have a little problem.
For example in sheet1 on C13 i have formula like 5.81*0.97 and in the sheet2 in C13 i have formula 888*0.97..
What i need to do to like link them, like if i change that (0.97 to 0.85) in sheet1 in C13 it will automatic change in sheet2 in C13 from 0.97 to 0.85 as well.
???
0
Comment
Question by:Janis Ozols
  • 6
  • 6
13 Comments
 
LVL 51

Expert Comment

by:Ryan Chong
ID: 41789248
>>What i need to do to like link them, like if i change that (0.97 to 0.85) in sheet1 in C13 it will automatic change in sheet2 in C13 from 0.97 to 0.85 as well.
both need to refer to a static cell in order to do that, which mean you need to put the value of 0.85 to another cell, let both C13 in Sheet1 and Sheet2 refer to it.
28968462.xlsx
1
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 41789256
You can do this using a macro. Do you want to go in that direction?
1
 

Author Comment

by:Janis Ozols
ID: 41789257
I could go that direction it would be really good for me.
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 41789353
Try this macro in the Workbook Module
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Count = 1 Then
        If ActiveCell.Worksheet.Name = Target.Worksheet.Name Then
            If Sh.Name = "Sheet1" Or Sh.Name = "Sheet2" Then
                If Target.Address = Range("C13").Address Then
                    If Sh.Name = "Sheet1" Then
                        Sheets("Sheet2").Range("C13").Formula = Left(Sheets("Sheet2").Range("C13").Formula, InStr(Sheets("Sheet2").Range("C13").Formula, "*")) & Right(Target.Formula, Len(Target.Formula) - InStr(Target.Formula, "*"))
                    ElseIf Sh.Name = "Sheet2" Then
                        Sheets("Sheet1").Range("C13").Formula = Left(Sheets("Sheet1").Range("C13").Formula, InStr(Sheets("Sheet1").Range("C13").Formula, "*")) & Right(Target.Formula, Len(Target.Formula) - InStr(Target.Formula, "*"))
                    End If
                End If
            End If
        End If
    End If
End Sub

Open in new window

Change-constant-macro.xlsm
1
 

Author Comment

by:Janis Ozols
ID: 41789363
Woow, it really helped, what can I do if range is from C13 to I13, how I need to change the Macros?
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 41789373
Change the macro to
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Count = 1 Then
        If ActiveCell.Worksheet.Name = Target.Worksheet.Name Then
            If Sh.Name = "Sheet1" Or Sh.Name = "Sheet2" Then
                If Not Intersect(Target, Range("C13:I13")) Is Nothing Then
                    If Sh.Name = "Sheet1" Then
                        Sheets("Sheet2").Range(Target.Address).Formula = Left(Sheets("Sheet2").Range(Target.Address).Formula, InStr(Sheets("Sheet2").Range(Target.Address).Formula, "*")) & Right(Target.Formula, Len(Target.Formula) - InStr(Target.Formula, "*"))
                    ElseIf Sh.Name = "Sheet2" Then
                        Sheets("Sheet1").Range(Target.Address).Formula = Left(Sheets("Sheet1").Range(Target.Address).Formula, InStr(Sheets("Sheet1").Range(Target.Address).Formula, "*")) & Right(Target.Formula, Len(Target.Formula) - InStr(Target.Formula, "*"))
                    End If
                End If
            End If
        End If
    End If
End Sub

Open in new window

0
 

Author Comment

by:Janis Ozols
ID: 41789391
This didn't work for me still changes just C13 cells.
0
 

Author Comment

by:Janis Ozols
ID: 41789396
Ohh wait it worked. thanks very mush for help :)
0
 

Author Comment

by:Janis Ozols
ID: 41789406
What would the Macro be if I could change the (0.97) in C13 and it would automatic change from C13 to I13 in sheet1 and sheet2?
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 41789541
Send a sample file.
1
 

Author Comment

by:Janis Ozols
ID: 41790777
Here is the sample file.
aaa.xlsx
0
 
LVL 43

Accepted Solution

by:
Saqib Husain, Syed earned 500 total points (awarded by participants)
ID: 41790814
Public evnt As Boolean
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim cel As Range, sufx As String
If evnt = False Then
    evnt = True
    If Target.Count = 1 Then
        sufx = Right(Target.Formula, Len(Target.Formula) - InStr(Target.Formula, "*"))
        For Each cel In Sheet1.Range("C13:I13")
            cel.Formula = Left(cel.Formula, InStr(cel.Formula, "*")) & sufx
        Next cel
        For Each cel In Sheet2.Range("C13:I13")
            cel.Formula = Left(cel.Formula, InStr(cel.Formula, "*")) & sufx
        Next cel
    End If
    evnt = False
End If
End Sub
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 41819426
Assuming the asker's intent.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

This article will show you how to use shortcut menus in the Access run-time environment.
In this article we discuss how to recover the missing Outlook 2011 for Mac data like Emails and Contacts manually.
This Micro Tutorial demonstrates how to create Excel charts: column, area, line, bar, and scatter charts. Formatting tips are provided as well.
This Micro Tutorial demonstrate the bugs in Microsoft Excel for Mac with Pivot Charts.

828 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