Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1044to1048
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelleninhalt übertragen

Zelleninhalt übertragen
06.02.2009 08:39:00
Jochen
Hallo Forum
Brauche mal wieder euere Hilfe
Habe mich durch meine Vba-Bücher gelesen bekomme es aber einfach nicht hin.
Ich möchte das wenn ich in ein Tabellenblatt in der Spalte D von Reihe 14 bis 52 das Wort Urlaub eintippe
sich das Wort Urlaub rot färbt, der Wert der in der Spalte G steht gelöcht wird und der Wert von Spalte I in die Spalte H kopiert wird.
Wäre toll wenn mir da einer helfen könnte
Gruß Jochen

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt übertragen
06.02.2009 08:49:00
Tino
Hallo,
geht es so?
Kommt als Code ins entsprechende Tabellenblatt.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("D14:D52")) Is Nothing Then
 Application.EnableEvents = False
    
    If Target = "Urlaub" Then
     Target.Font.ColorIndex = 3
     Cells(Target.Row, 7).Value = ""
     Cells(Target.Row, 8).Value = Cells(Target.Row, 9).Value
    Else
     Target.Font.ColorIndex = xlNone
    End If
 
 Application.EnableEvents = True
End If

End Sub


Gruß Tino

Anzeige
AW: Zelleninhalt übertragen
06.02.2009 09:16:00
Jochen
Hallo Tino
Danke für deine Antwort geht genauso wie ich wollte.
Habe aber jetzt das Problem das ich schon folgendes im Code stehen habe:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Stunden As Long
Dim Minuten As Long
If Intersect(Target, Range("E14:F54")) Is Nothing Then Exit Sub
If Target.Cells.Count 


Beides alleine läuft, aber wie muss ich meinen und deinen Code mit einander verbinden
damit beides läuft.
Meine Vba Kenntnisse sind noch nicht so gut.
Kannst du mir weiter helfen?
Gruß Jochen

Anzeige
AW: Zelleninhalt übertragen
06.02.2009 09:47:03
Luschi
Hallo Jochen,
mach es so:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Integer, s As String
s = Target.Text
i = InStr(1, s, " ", vbTextCompare)
'Ausschalten der Ereignis-Routinen
Application.EnableEvents = False
If i > 0 Then
Target.Value = Left(s, i - 1)
Else
Target.Value = s & " X"
End If
'Enter-Taste damit die Eingabe gleich abgeschlossen wird
SendKeys Chr(13), True
Application.EnableEvents = True
End Sub

Durch das vorübergehende Abschalten der Ereignis-Routinen wird das Ereignis
Worksheet_Change(...) nicht gestarten beim Doppelklick auf die Zelle.
Außerdem kann man mit einem witeren Doppelkick das 'X' wieder entfernen.
Gruß von Luschi
aus klein-Paris

Anzeige
vielleicht so
06.02.2009 10:12:00
Tino
Hallo,
ich würde dies so machen, damit dass Eventmakro übersichtlich bleibt.
Ich würde diese in einzelne Makros in einem Modul einbauen und diese entsprechend ausführen.
kommt als Code in Tabelle
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
Application.EnableEvents = False 
  
 If Not Intersect(Target, Range("E14:F54")) Is Nothing Then 
  Call DeinMakro(Target) 
 ElseIf Not Intersect(Target, Range("D14:D52")) Is Nothing Then 
  Call MeinMakro(Target) 
 End If 
 
Application.EnableEvents = True 
End Sub 
 
 

kommt in ein Modul

Option Explicit 
 
Sub DeinMakro(rZelle As Range) 
 Dim Stunden As Long 
 Dim Minuten As Long 
  
   If Not IsNumeric(rZelle.Value) Then Exit Sub 
   Stunden = WorksheetFunction.RoundDown(rZelle.Value / 100, 0) 
   Minuten = rZelle.Value - Stunden * 100 
   rZelle.Value = TimeSerial(Stunden, Minuten, 0) 
End Sub 
 
Sub MeinMakro(rZelle As Range) 
    If rZelle = "Urlaub" Then 
     rZelle.Font.ColorIndex = 3 
     Cells(rZelle.Row, 7).Value = "" 
     Cells(rZelle.Row, 8).Value = Cells(rZelle.Row, 9).Value 
    Else 
     rZelle.Font.ColorIndex = xlNone 
    End If 
End Sub 


@Luschi, bist Du im falschen Beitrag gelandet?
Gruß Tino

Anzeige
AW: vielleicht so
06.02.2009 10:48:00
Jochen
Danke Tino
So geht
Danke für deine Hilfe
Gruß Jochen

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige