AW: Gesprächsnotizen übertragen UweD
02.06.2020 11:31:16
UweD
Hallo
so?
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TB As Worksheet, Kunu, Datum, Zeit, Zeile As Long
Dim SpK As Integer, SpD As Integer, SpR As Integer, SpG As Integer
Dim RNG1 As Range, RNG2 As Range, RNG3 As Range
'On Error GoTo Fehler
Const APPNAME = "Worksheet_Change"
Set TB = Sheets("Datenbank")
SpK = 4 'Spalte der Kundennummer =D
SpD = 14 'Spalte mit Datum =N
SpR = 8 'Spalte mit Restdaten =H
SpG = 41 'Spalte mit Gespächsnotizen = AO
Set RNG1 = Range("B25:G25") 'Restdaten
Set RNG2 = Range("D27,G27") 'Datum Uhrzeit
Set RNG3 = Range("O10:O27") 'Notizen
'nur bei Änderungen in diesen Zellen auslösen
If Not Intersect(Union(RNG1, RNG2), Target) Is Nothing Then
Kunu = Range("B3")
If WorksheetFunction.CountIf(TB.Columns(SpK), Kunu) > 0 Then
'Kunde bereits vorhanden?
Zeile = WorksheetFunction.Match(Kunu, TB.Columns(SpK), 0)
Else
'Kunde nicht vorhanden?
MsgBox "Kundennummer nicht gefunden"
Exit Sub
End If
If Not Intersect(RNG1, Target) Is Nothing Then
'Restdaten eintragen
TB.Cells(Zeile, SpR).Offset(0, Target.Column - 2) = Target
End If
If Not Intersect(RNG2, Target) Is Nothing Then
Datum = Range("D27")
Zeit = Range("G27")
'Datum / Zeit; Beides muss eingetragen sein
If IsDate(Datum) And IsNumeric(Zeit) And Zeit 0 Then
'Zeit und Datum eintragen
TB.Cells(Zeile, SpD) = Datum
TB.Cells(Zeile, SpD + 1) = Format(Zeit, "hh:mm")
'Gesprächsnotizen eintragen
TB.Cells(Zeile, SpG).Resize(1, 18).Value = _
Application.Transpose(RNG3)
'KD Nr. Matchcode eintragen
Range("B3").FormulaR1C1 = "=R1C1" 'als Formel
Range("D3").FormulaR1C1 = "=R1C2"
'oder *****
Range("B3") = Range("A1") 'als Wert
Range("D3") = Range("B1")
'reset
Application.EnableEvents = False
RNG1 = "": RNG2 = ""
Application.EnableEvents = True
MsgBox "Erledigt"
End If
End If
End If
'*** Fehlerbehandlung
Err.Clear
Fehler:
Application.EnableEvents = True
If Err.Number 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
& "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
LG UweD