Microsoft Excel – die besten Beiträge

Mit welcher Formel kann man Daten aus einer Excel-Tabelle (Suchkriterium in Spalte und Zeile) in ein anderes Datenblatt übertragen?

Hallo zusammen,

ich habe folgendes Problem: In einem Excel-Datenblatt habe ich in der Spalte A das jeweilige Datum und in den Spalten B, C, D... die Werte für die Zeiträume (0-4 Uhr; 4-8 Uhr, ...). Die Zeiträume stehen dabei als "Überschrift" über den jeweiligen Werten für die Zeiträume, sodass letztendlich eine Matrix-Tabelle entsteht, wodurch für jeden Tag und jedes Zeitfenster ein Wert zugeordnet werden kann.

Hier mal ein Ausschnitt meiner Tabelle:

In einem anderen Datenblatt gibt es jetzt eine Spalte für das Datum und eine Spalte für die Zeiträume, also z.B. in Spalte A (01.01.2020) und in Spalte B (0-4 Uhr). Ich benötige jetzt die Werte der Zeiträume (also hier die weißen Zellen) im zweiten Datenblatt in Spalte C. Wie kann ich das machen? Am besten über eine Formel "automatisieren"?

Ich bräuchte hierfür eine Formel, in der ich in Spalte A das richtige Datum "finde" und gleichzeitig das richtige Zeitfenster in den Zeilen. Ich habe das ganze über einen SVerweis versucht, aber da ich erstens zwei Suchkriterien habe (nämlich Datum und Zeit) und die Suchkriterien ja nicht in einer Zeile sondern in einer Zeile und Spalte stehen, bekomm ich das irgendwie nicht hin.

Kann mir hierbei irgendjemand weiterhelfen?

Bild zum Beitrag
Computer, Office, Microsoft Excel, IT, Microsoft Office, Excel-Formel

Wie kann ich Kontrollkästchen elegant miteinander verknüpfen, um nach mehreren Kriterien zu filtern?

Hallo zusammen,

in einer ExcelDatei befinden sich Formularsteuerlemente bzw. 3 Kontrollkästchen mit denen ich verschiedene Kriterien nach Hunde, Katzen und Vögel filtern sowie verknüpfen möchte.

Mit ActiveX-Steuerelemente Kontrollstästchen und CommandButton konnte ich folgendes Beispiel aufbauen:

Private Sub ausführen_Click()

    If CheckBox1.Value = True And CheckBox2.Value = False And CheckBox3.Value = False Then
        Hund
    ElseIf CheckBox1.Value = False And CheckBox2.Value = True And CheckBox3.Value = False Then
        Katze
    ElseIf CheckBox1.Value = False And CheckBox2.Value = False And CheckBox3.Value = True Then
        Vogel
    ElseIf CheckBox1.Value = True And CheckBox2.Value = True And CheckBox3.Value = False Then
        HundKatze
    ElseIf CheckBox1.Value = False And CheckBox2.Value = True And CheckBox3.Value = True Then
        KatzeVogel
    ElseIf CheckBox1.Value = True And CheckBox2.Value = False And CheckBox3.Value = True Then
        HundVogel
    ElseIf CheckBox1.Value = True And CheckBox2.Value = True And CheckBox3.Value = True Then
        Alle
    Else
        MsgBox ("Es wurde nichts ausgewählt")
    End If

End Sub

Sub Hund()
' Hund Makro
    Worksheets("Tabelle2").Range("$A$4:$B$8").AutoFilter Field:=2, Criteria1:="Hund"
End Sub
Sub Katze()
' Katze Makro
    Worksheets("Tabelle2").Range("$A$4:$B$8").AutoFilter Field:=2, Criteria1:="Katze"
End Sub
Sub Vogel()
' Vogel Makro
    Worksheets("Tabelle2").Range("$A$4:$B$8").AutoFilter Field:=2, Criteria1:="Vogel"
End Sub
Sub Alle()
' Alle Makro
    Worksheets("Tabelle2").Range("$A$4:$B$8").AutoFilter Field:=2
End Sub
Sub HundKatze()
' HundKatze Makro
    ActiveSheet.Range("$A$6:$B$13").AutoFilter Field:=2, Criteria1:="=Hund", _
        Operator:=xlOr, Criteria2:="=Katze"
End Sub
Sub KatzeVogel()
' KatzeVogel Makro
    ActiveSheet.Range("$A$6:$B$13").AutoFilter Field:=2, Criteria1:="=Katze", _
        Operator:=xlOr, Criteria2:="=Vogel"
End Sub
Sub HundVogel()
' HundVogel Makro
    ActiveSheet.Range("$A$6:$B$13").AutoFilter Field:=2, Criteria1:="=Hund", _
        Operator:=xlOr, Criteria2:="=Vogel"
End Sub

Das funktioniert soweit ganz gut.

Allerdings benötige ich Formularsteuerelemente Kontrollkästchen. Die Ergebnisse sollen sich schon während ein Kontrollkästchen betätigt wird aktualisieren. Aktuell läuft das über ActiveX-Steuerelemente Kontrollkästchen und CommandButton.

Gegenüberstellung der Varianten:

Nachgebaute Excel:

Bis auf die G4 funktioniert alles sehr gut. Vielleicht seht ihr den Fehler. Auf eine einfache Formel wie im Funktionstest reagiert die Zelle.

Vielen Dank für eure Hilfe. Liebe Grüße

Bild zum Beitrag
Microsoft Excel, VBA

Excel VBA Laufzeitfehler 13?

Hallo,

wie kann ich den o.g. Fehler lösen?

Was passiert:

Ich hab eine Userform und darin Listboxen

Die Listbox beginnt automatisch bei der Zahl 0

Wenn jedoch nur 1 listbox verändert wird, und die anderen nicht und auf 0 bleiben, dann erscheint der o.g. Fehler

Mein Code:

Private Sub CommandButton1_Click()

Range("C6").Value = Range("C6") - ListBox1.Value

Range("D6").Value = Range("D6") - ListBox2.Value

Range("F6").Value = Range("F6") + ListBox3.Value

Range("G6").Value = Range("G6") + ListBox4.Value

Range("C10").Value = Range("C10") + ListBox1

Range("C11").Value = Range("C11") + ListBox2

Dim n

For n = 0 To ListBox1.ListCount - 1

ListBox1.Selected(n) = True

Next n

Dim m

For m = 0 To ListBox2.ListCount - 1

ListBox2.Selected(m) = True

Next m

Dim b As Long

For b = 0 To ListBox3.ListCount - 1

ListBox3.Selected(b) = True

Next b

Dim c As Long

For c = 0 To ListBox4.ListCount - 1

ListBox4.Selected(c) = True

Next c

End Sub

Private Sub CommandButton2_Click()

Unload Me

End Sub

Private Sub UserForm_Initialize()

'---

With ListBox1

ListBox1.List = Tabelle1.Range("C49:C59").Value

For n = 0 To ListBox1.ListCount - 1

ListBox1.Selected(n) = True

Next n

End With

'----

With ListBox2

ListBox2.List = Tabelle1.Range("C49:C59").Value

For m = 0 To ListBox2.ListCount - 1

ListBox2.Selected(m) = True

Next m

End With

'---

With ListBox3

ListBox3.List = Tabelle1.Range("C49:C59").Value

For b = 0 To ListBox3.ListCount - 1

ListBox3.Selected(b) = True

Next b

End With

'---

With ListBox4

ListBox4.List = Tabelle1.Range("C49:C59").Value

For c = 0 To ListBox4.ListCount - 1

ListBox4.Selected(c) = True

Next c

End With

End Sub

Microsoft Excel, VBA

Meistgelesene Beiträge zum Thema Microsoft Excel