Forum Discussion
cansel3560
Oct 20, 2023Copper Contributor
Excel'de düz sayıları saat formatına çevirme
Merhaba Her sabah saat formatında yazdığım bir raporum var. Bu raporda saat başlangıç ve saat bitiş gibi iki sütuna sahip. Her saat yazmamda rakamlar arasına ":" koymak zorunda kalıyorum ve bunu nor...
cansel3560
Oct 23, 2023Copper Contributor
Merhaba makroyu defalarca denememe rağmen çalıştıramadım . Bunun için bir öneri sunarsanız çok sevinirim. Teşekkür ederim.
HansVogelaar
Oct 23, 2023MVP
Bu bir makro değil, bir hücreyi değiştirdiğinizde otomatik olarak çalışan çalışma sayfası modülündeki koddur.
- cansel3560Oct 23, 2023Copper ContributorMerhaba gönderdiğiniz bağlantıda rakamları tarihe çevirme ile ilgili olarak makrolar bulunuyordu peki kısaca özetler misiniz bunu nasıl çalıştırabilirim.
sizin önerdiğiniz sayfadan aldığım makroyu aşağıya ekliyorum.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TimeStr As String
On Error Resume Next
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
Application.EnableEvents = False
If Target.Cells.Count = 1 And Target.Value <> "" And Not Target.HasFormula Then
Select Case Len(Target.Value)
Case 1 ' e.g., 1 = 00:01 AM
TimeStr = "00:0" & Target.Value
Case 2 ' e.g., 12 = 00:12 AM
TimeStr = "00:" & Target.Value
Case 3 ' e.g., 735 = 7:35 AM
TimeStr = Left(Target.Value, 1) & ":" & Right(Target.Value, 2)
Case 4 ' e.g., 1234 = 12:34
TimeStr = Left(Target.Value, 2) & ":" & Right(Target.Value, 2)
Case 5 ' e.g., 12345 = 1:23:45 NOT 12:03:45
TimeStr = Left(Target.Value, 1) & ":" & Mid(Target.Value, 2, 2) & ":" & Right(Target.Value, 2)
Case 6 ' e.g., 123456 = 12:34:56
TimeStr = Left(Target.Value, 2) & ":" & Mid(Target.Value, 3, 2) & ":" & Right(Target.Value, 2)
Case Else
MsgBox "Geçersiz zaman formatı girdiniz."
End Select
If TimeStr <> "" Then
Target.Value = TimeValue(TimeStr)
End If
End If
End If
Application.EnableEvents = True
End Sub