• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Bir hücredeki formülü yan hücrede metin olarak görme

vardar07

Destek Ekibi
Destek Ekibi
Katılım
19 Mart 2008
Mesajlar
2,154
Excel Vers. ve Dili
Office 2007 Enterprise
Türkçe
Selam arkadaşlar a1=2 ve b1=3 deki sayıların toplamını c1 de 5 olarak görüyoruz fakat c1 deki formulü e1 de tırnak işareti ile yazılınca'=TOPLA(A1:B1) olarak görebiliyoruz eskiden =formul(C1) yazarak uzun formülleri görme şansımız vardı şimdi olmuyor.=formul(C1) i excel 2007 de uygulanamıyor başka yapma şansımız varmı.
 

Ekli dosyalar

selam,
Bu abcak KTF (Kullanıcı tanımlı Fonksiyon) yardımıyla olur.
Module sayfasına aşağıdaki kodları kopyalayın.


Function formül(InputCell As Range) As String

formül = InputCell.FormulaLocal
End Function

B1 hücresine,
=formül(A1) şeklinde yazarsanız a1 deki formülü yazacaktır.

Kolay gelsin...
 
selam,
Bu abcak KTF (Kullanıcı tanımlı Fonksiyon) yardımıyla olur.
Module sayfasına aşağıdaki kodları kopyalayın.


Function formül(InputCell As Range) As String

formül = InputCell.FormulaLocal
End Function

B1 hücresine,
=formül(A1) şeklinde yazarsanız a1 deki formülü yazacaktır.

Kolay gelsin...

Arkadaşım ilgine teşekkür ederim ama "Bu işlev geçerli değil" diye hata veriyor
 
Selam Dostum;

Ben sakman26 bey'in yularıda verdiği kodu dosyaya işledim.

Kolay gelsin.
 

Ekli dosyalar

Selam Dostum;

Ben sakman26 bey'in yularıda verdiği kodu dosyaya işledim.

Kolay gelsin.

Sağolasın arkadaşım bende aynısını yaptım sizin eklediğiniz dosyada uygulamışsınız ama benim pc de yine "Bu işlev geçerli değil" diye hata veriyor Galiba ayarlarda problem var. Ne olduğunu bulamadım.
 
Sorun çözülmüştür

Arkadaşlar sağolun sorun çözüldü

Function formül(InputCell As Range) As String

formül = InputCell.FormulaLocal
End Function

Formülde kırmızı ile belirtilen türkçe karekteri "u" yapınca düzeldi.Herkeze kolay gelsin.
 
Son düzenleme:
Aktif olan sayfanın formüllü hücre adres,formül ve hücre değerlerini ayrı bir sayfada A,B,C sutunlarında listeler

Sub ListFormulas()
Dim FormulaCells As Range, Cell As Range
Dim FormulaSheet As Worksheet
Dim Row As Integer

On Error Resume Next
Set FormulaCells = Range("A1").SpecialCells(xlFormulas, 23)

If FormulaCells Is Nothing Then
MsgBox "Formül yok yada sayfa korumalı."
Exit Sub
End If

Application.ScreenUpdating = False
Set FormulaSheet = ActiveWorkbook.Worksheets.Add
FormulaSheet.Name = "Gösterilen " & FormulaCells.Parent.Name

With FormulaSheet
Range("A1") = "Adres"
Range("B1") = "Formül"
Range("C1") = "Hücre Değer"
Range("A1:C1").Font.Bold = True
End With

Row = 2
For Each Cell In FormulaCells
Application.StatusBar = Format((Row - 1) / FormulaCells.Count, "0%")
With FormulaSheet
Cells(Row, 1) = Cell.Address _
(RowAbsolute:=False, ColumnAbsolute:=False)
Cells(Row, 2) = " " & Cell.Formula
Cells(Row, 3) = Cell.Value
Row = Row + 1
End With
Next Cell
FormulaSheet.Columns("A:C").AutoFit
Application.StatusBar = False
End Sub
 
Türkçe Office programındaki formüllerin orijinal halini, yani İngilizce yazılışını bir hücreye yazdırmak için aşağıdaki fonksiyonu kullanılabilir.

Function Donustur(hucre As Range) As String
Application.Volatile
If hucre.HasArray Then
Donustur = " {" & hucre.FormulaArray & "}"
Else
Donustur = hucre.FormulaArray
End If
End Function

=Donustur(A1) gibi
 
Açık olan çalışma kitabının sayfalarında bulunan formülleri
SHET, ADRES, FORMULA, VALUE başlıkları altında listeler

Option Explicit
Public Sub ListFormulasInWorkbook()
' by J.E. McGimpsey
' revised 04 July 2003 by Tom Ogilvy to add
' sheets when reaching ROWLIM formulas
Const SHEETNAME As String = "Formulas in *"
Const ALLFORMULAS As Integer = _
xlNumbers + xlTextValues + xlLogical + xlErrors
Const ROWLIM As Long = 65500
Dim formulaSht As Worksheet
Dim destRng As Range
Dim cell As Range
Dim wkSht As Worksheet
Dim formulaRng As Range
Dim shCnt As Long
Dim oldScreenUpdating As Boolean

With Application
oldScreenUpdating = .ScreenUpdating
.ScreenUpdating = False
End With
shCnt = 0
ListFormulasAddSheet formulaSht, shCnt
' list formulas on each sheet
Set destRng = formulaSht.Range("A4")
For Each wkSht In ActiveWorkbook.Worksheets
If Not wkSht.Name Like SHEETNAME Then
Application.StatusBar = wkSht.Name
destRng.Value = wkSht.Name
Set destRng = destRng.Offset(1, 0)
On Error Resume Next
Set formulaRng = wkSht.Cells.SpecialCells( _
xlCellTypeFormulas, ALLFORMULAS)
On Error GoTo 0
If formulaRng Is Nothing Then
destRng.Offset(0, 1).Value = "None"
Set destRng = destRng.Offset(1, 0)
Else
For Each cell In formulaRng
With destRng
.Offset(0, 1) = cell.Address(0, 0)
.Offset(0, 2) = "'" & cell.Formula
.Offset(0, 3) = cell.Value
End With
Set destRng = destRng.Offset(1, 0)
If destRng.row > ROWLIM Then
ListFormulasAddSheet formulaSht, shCnt
Set destRng = formulaSht.Range("A5")
destRng.Offset(-1, 0).Value = wkSht.Name
End If
Next cell
Set formulaRng = Nothing
End If
With destRng.Resize(1, 4).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 5
End With
Set destRng = destRng.Offset(1, 0)
If destRng.row > ROWLIM Then
ListFormulasAddSheet formulaSht, shCnt
Set destRng = formulaSht.Range("A5")
destRng.Offset(-1, 0).Value = wkSht.Name
End If
End If
Next wkSht
With Application
.StatusBar = False
.ScreenUpdating = oldScreenUpdating
End With
End Sub
Private Sub ListFormulasAddSheet( _
formulaSht As Worksheet, shtCnt As Long)
Const SHEETNAME As String = "Formulas in "
Const SHEETTITLE As String = "Formulas in $ as of "
Const DATEFORMAT As String = "dd MMM yyyy hh:mm"
Dim shtName As String
With ActiveWorkbook
' Delete existing sheet and create new one
shtCnt = shtCnt + 1
shtName = Left(SHEETNAME & .Name, 28)
If shtCnt > 1 Then _
shtName = shtName & "_" & shtCnt
On Error Resume Next
Application.DisplayAlerts = False
.Worksheets(shtName).Delete
Application.DisplayAlerts = True
On Error GoTo 0
Set formulaSht = .Worksheets.Add( _
after:=Sheets(Sheets.Count))
End With
With formulaSht
' Format headers
.Name = shtName
.Columns(1).ColumnWidth = 15
.Columns(2).ColumnWidth = 8
.Columns(3).ColumnWidth = 60
.Columns(4).ColumnWidth = 40
With .Range("C:D")
.Font.Size = 9
.HorizontalAlignment = xlLeft
.EntireColumn.WrapText = True
End With
With .Range("A1")
.Value = Application.Substitute(SHEETTITLE, "$", _
ActiveWorkbook.Name) & Format(Now, DATEFORMAT)
With .Font
.Bold = True
.ColorIndex = 5
.Size = 14
End With
End With
With .Range("A3").Resize(1, 4)
.Value = Array("Sheet", "Address", "Formula", "Value")
With .Font
.ColorIndex = 13
.Bold = True
.Size = 12
End With
.HorizontalAlignment = xlCenter
With .Borders(xlEdgeBottom)
.LineStyle = xlDouble
.Weight = xlThick
.ColorIndex = 5
End With
End With
End With
End Sub

Not. gülen yüz çıkan yere C den sonra : D (arada boşluk olmadın C : D gelecektir)
 
Son düzenleme:
HÜCREDEKİ FORMÜLLERİ DEĞERE DÖNÜŞTÜRÜR, FORMÜLLERİ SİLER

Sub FormulasToValues()
'
' Replace all formulas with values
'
WCount = Worksheets.Count
For i = 1 To WCount
If Worksheets(WCount - i + 1).Visible Then
Worksheets(WCount - i + 1).Select
RCount = ActiveCell.SpecialCells(xlLastCell).Row
CCount = ActiveCell.SpecialCells(xlLastCell).Column
For j = 1 To RCount
For k = 1 To CCount
Worksheets(WCount - i + 1).Cells(j, k) = Worksheets(WCount - i + 1).Cells(j, k).Value
Next k
Next j
End If
Next i
End Sub
NORMAL POSİZYON
Sub NormalPosition()
'
' Select top cell for all sheets
' Visual improvement for your documents
'
k = Worksheets.Count
For i = 1 To k
If Worksheets(k - i + 1).Visible Then
Worksheets(k - i + 1).Select
Cells(ActiveWindow.SplitRow + 1, ActiveWindow.SplitColumn + 1).Select
End If
Next i
End Sub
 
Seçili Hücrelerdeki Formülleri Açıklama Olarak Yazdırmak
Sub FormulAcikla()
Dim cell As Range
Selection.ClearComments
For Each cell In Selection
If cell.HasFormula Then
cell.AddComment cell.Formula
cell.Comment.Visible = False
cell.Comment.Shape.TextFrame.AutoSize = True
End If
Next cell
End Sub
 
Belirtilen aralıktaki formülleri değere dönüştürür
Sub formuldegere()
With Range("B3:j" & Cells(Rows.Count, 1).End(3).Row)
.Value = .Value
End With
End Sub
 
Seçili olan formülleri değere dönüştürür.
Sub Form2val()
For Each c In Selection.Cells
c.Formula = c.Value
Next c
End Sub

Sub formullerideğeryap()
For Each fCell In Selection
fCell.Value = fCell.Value
Next fCell
End Sub


Formülle ilgili buldukarım şimdilik bu kadar.
 
'FORMÜL_HARİCİNDEKİLERİ_TEMİZLE
(belirtilen aralıktaki formüllü hücreler olduğu gibi kalır, diğer hücre değerleri silinir)
Sub FORMÜL_HARİCİNDEKİLERİ_TEMİZLE()
Range("A1:E30").SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub
 
Geri
Üst