Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Option Explicit
Dim flagInProcess As Boolean 'Flag, ob wir gerade imProzess sind
Dim srcRng As Range 'Quellrange
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rowDelta As Integer
'Nur ausführen, wenn wir gerade nicht im Copy-Process sind
If Not flagInProcess Then
'Nur reagieren wenn wir im Range A1-B43 sind. Ansonste hier die Methode verlassen
If Target.Row > 43 Or Target.Column > 2 Then Exit Sub
'Markeiren, dass wir im C&P Modus sind
flagInProcess = True
'Quellrange auslesen
Set srcRng = Range(Cells(Target.Row, 1), Cells(Target.Row, 2))
MsgBox "Ausgewählte Werte: " & srcRng.Cells(1, 1).Value & " & " & srcRng.Cells(1, 2).Value, vbInformation + vbOKOnly
'Ausführen, wenn wir im
'Wir sind am Kopieren aber ausserhalb des Zielbereiches
ElseIf Intersect(Range("I11:J33"), Target) Is Nothing Then
'Nachfragen um abzubrechen
flagInProcess = MsgBox("Feld ist nicht im Zielbereich. Weiter kopieren?", vbCritical + vbOKCancel) = vbOK
'Target im Ziel
Else
'Werte Kopieren
srcRng.Copy Range("I" & Target.Row & ":J" & Target.Row)
'Nachfragen ob weiter kopiert werden soll
flagInProcess = MsgBox("Kopiere den Wert nochmals?", vbQuestion + vbOKCancel) = vbOK
'Falls fertig, sauber aufräumen
If Not flagInProcess Then Set srcRng = Nothing
End If
End Sub
Bitte den Code in Code-Tags setzen. So ist er unlesbar.Genau, lass mal dein Code sehen. Dann können wir besser sehen, was du mit C&P im VBA machst.
[Code=VB]dein VBA-Code[/code]
Und wenn du nicht mehr weisst wie. Ich habe deinen 2ten Beitrag in diesem Thread damals angepasst. du kannst ihn "bearbeiten" um zu sehen wie die Tags gesetzt sind.Bitte den Code in Code-Tags setzen. So ist er unlesbar.
Option Explicit
Dim flagInProcess As Boolean 'Flag, ob wir gerade imProzess sind
Dim srcRng As Range 'Quellrange
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not flagInProcess Then
flagInProcess = True
If Target.Column = 1 Or Target.Column = 2 Then
Set srcRng = Range(Cells(Target.Row, 1), Cells(Target.Row, 2))
MsgBox "Ausgewähltes Lied : " & srcRng.Cells(1, 1).Value & " & " & srcRng.Cells(1, 2).Value, vbInformation + vbOKOnly
End If
If Target.Column = 3 Or Target.Column = 4 Then
Set srcRng = Range(Cells(Target.Row, 3), Cells(Target.Row, 4))
MsgBox "Ausgewähltes Lied : " & srcRng.Cells(1, 1).Value & " & " & srcRng.Cells(1, 2).Value, vbInformation + vbOKOnly
End If
If Target.Column = 5 Or Target.Column = 6 Then
Set srcRng = Range(Cells(Target.Row, 5), Cells(Target.Row, 6))
MsgBox "Ausgewähltes Lied : " & srcRng.Cells(1, 1).Value & " & " & srcRng.Cells(1, 2).Value, vbInformation + vbOKOnly
End If
ElseIf Intersect(Range("G11:J33"), Target) Is Nothing Then
'Die folgende Zeile funktioniert nicht mehr, muss ich hier den Befehl flaginProcess = Else setzen?
flagInProcess = MsgBox("Eingabe beenden?", vbCritical + vbOKCancel) = vbOK
'Dies ist der Copy-Bereich für Spalte G und H
Else: srcRng.Copy Range("G" & Target.Row & ":H" & Target.Row)
'
If Not flagInProcess Then Set srcRng = Nothing
End If
End Sub