Spalte kopieren, wenn andere Spalte markiert wurde

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Spalte kopieren, wenn andere Spalte markiert wurde
von: Wolfgang_HB
Geschrieben am: 29.04.2015 12:36:35


Hallo, liebe Excellenzen !
Ich habe in einer Spalte A aufeinander folgende Datumsangaben, die Produktionstermine darstellen und in einer Spalte B Tonnage-Mengen,
die zu dem Datum produziert werden.
Für die Versandplanung möchte ich ene einfache Auswertungsmöglichkeit der verfügbaren Mengen innerhalb eines variablen Fertigungszeitraums haben.
Meine Idee:
Wenn ich Bereiche (=Zeiträume) in Spalte A mit der Maus markiere, sollen mir die rechts daneben in Spalte B stehenden Werte in die Spalte C kopiert werden.
Dort könnte ich sie dann einfach aufsummieren.
Für Hilfestellung wäre ich sehr dankbar.
Mit freundlichen Grüßen
Wolfgang_HB

Bild

Betrifft: AW: Spalte kopieren, wenn andere Spalte markiert wurde
von: Daniel
Geschrieben am: 29.04.2015 12:55:48
Hi
schreibe folgenden Code in das Modul des betroffenen Tabellenblatts:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ar As Range
If Target.Column = 1 Then
    Columns(3).ClearContents
    For Each ar In Target.Areas
        Intersect(ar.EntireRow, Columns(3)).Value = Intersect(ar.EntireRow, Columns(2)).Value
    Next
End If
End Sub
die Werte werden geschrieben, wenn die Selektion in Spalte A beginnt.
Selektierst du eine andere Spalte, bleiben die Werte in Spalte C für die weitere Bearbeitung erhalten.
wenn du die Werte gleich in Spalte B selektierst, kannst du dir die Summe in der Statusleiste im rechten Bereich anzeigen lassen (die Einstellungen für die Statusleiste bekkommst du, wenn du mit der rechten Maustaste draufklickst)
Gruß Daniel
Gruß Daniel

Bild

Betrifft: Variante mit MsgBox...
von: Michael (migre)
Geschrieben am: 29.04.2015 13:16:14
Hallo Wolfgang!
Daniel war schneller und seine Lösung ist, wie gewohnt, einwandfrei. Nur weil ich jetzt auch schon was geschrieben hatte, wollte ich es nicht untergehen lassen - ich gebe hier die Summe in einer MsgBox aus:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Range("A:A"), Target) Is Nothing _
        And Not Target.Columns.Count > 1 Then
            MsgBox "Prod. Menge: " & _
                Format(WorksheetFunction.Sum(Target.Offset(0, 1).Value), "##,##0.00")
    End If
End Sub
Auch hier kommt die MsgBox nur, wenn Du in Spalte A auswählst und nicht mehr als eine Spalte in Deiner Auswahl vorhanden ist.
Notfalls taugt mein Beitrag für's Archiv :-)
Lg
Michael

Bild

Betrifft: AW: Variante mit MsgBox...
von: Wolfgang_HB
Geschrieben am: 29.04.2015 13:26:58
Hallo, Euch Beiden !
Momentan ist bei mir im Büro "land unter", wie immer in "kurzen" Wochen mit einem Feiertag.
So ist es eben in der Logistik :-(
Daher komme ich aktuell noch nicht zum Ausprobieren.
Aber da Ihr mir schon mehrfach sehr kompetent geholfen habt, bin ich fest überzeugt, daß die gezeigten Lösungen funktionieren und mir wieder mal sehr die Arbeit erleichtern.
Daher bedanke ich mich auf das Heftigste und wünsche ein schönes (hoffentlich bald endlich kommendes) langes Wochenende !
Mit freundlichen Grüßen
Wolfgang_HB

Bild

Betrifft: Na dann noch "Mast- und Schotbruch"...
von: Michael (migre)
Geschrieben am: 29.04.2015 13:34:35
... für die kurze Woche, Wolfgang! Möge Land bald wieder in Sicht sein!
Lg
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Spalte kopieren, wenn andere Spalte markiert wurde"