Excel: Wenn Werte aus 2 Tabellenblättern gleich, dann Zelle kopieren.. Funktion gesucht?

Hallo zusammen,

ich habe eine Excel-Tabelle mit 2 Blättern.

Tabellenblatt 1 sieht in etwa so aus

A:             B:Kunde    C:Bestellung    D:Personen-nr.

                     1234       10                 2

                      5678         4                  3

                      9876         4                 4

Tabellenblatt 2 so:

A:Kunde   B:Bestellung   C:Personen-Nr. D: Bemerkung

1444         8                2                                 Hunde vorhanden

9876        4                 4                                telefonisch nicht erreichbar

3987        4                4                                 telefonisch nicht erreicht

  Nun möchte ich im Tabellenblatt 1 die Bemerkung angezeigt bekommen, sofern eine Übereinstimmung mit Kunde, Bestellung und Personen-Nr. zusammen gibt.. In Spalte A soll also neben dem Kunden 9876 "telefonisch nicht erreicht" stehen.

Die Daten in den Tabellen sind nicht sortiert und sollen auch nicht sortiert werden.

Weiß hier jemand eine Lösung?

Vielen Dank schon einmal.

Computer, Microsoft Excel, Schule, Formel
Excel-Datei 120 MB groß?

Hallo,

unserem Büro wurde eine neue Excelldatei zur Verfügung gestellt, die für mehrere Mitarbeiter freigeben ist, sodass man parallel darin arbeiten kann. Die Datei hat 8 Arbeitsblätter. Im 1. Arbeitsblatt befinden sich Dropdown-Menüs in 4 Spalten und ein paar Sverweise. In den anderen Arbeitsblättern befinden sich Daten in Form von Zahlen und Buchstaben auf die sich die Sverweise beziehen. Die Excel-Datei hatte anfänglich 4 MB. Soweit so gut. Mittlerweile ist sie auf 120 MB angewachsen, obwohl nur ca 250 Zeilen hinzugekommen sind. Mein Vorgehen: Ich habe eine Kopie abgespeichert. In der Kopie alle Dateninhalte gelöscht. Demnach war keine Formel mehr vorhanden, alle Rahmen entfernt, alle farblichen Hinterlegungen entfernt. (bedingte Formatierungen gab es von Anfang an nicht). Dann abgespeichert und die Datei hatte nun statt 120 MB mittlerweile 121 MB. Im Netz den Tipp gefunden mit strg+Ende zu prüfen wo Daten hinterlegt sind und diese Zeilen zu löschen. Ein Arbeitsblatt hatte Daten bis Zeile 180. Alle Zeilen komplett mit "Zeilen löschen" gelöscht. Aber beim Test strg+Ende spring es immer noch in Zeile 180. Vielleicht noch ein Hinweis: Es gibt separate Excel-Dateien, die Formeln wie Sverweis oder Alloy-Funktion mit Bezug auf diese zu große Excel-Datei. Aber Datei A vergrößert sich doch nicht, weil Datei B mit einer Alloy-Funktion sich Daten aus Datei A zieht...oder?

Ich bin für jede Hilfe dankbar wie ich diese Datei verkleinern kann oder zumindest die Ursache finden kann.

Computer, Office, Microsoft Excel, Technik, Technologie
Excel Zeiten erfassen?

Hallo zusammen,

ich habe folgende Problem in Excel. Ich möchte einen gewissen Zeitraum aus Stundenaufzeichnungen in Tag- und Nachtzeit unterscheiden.

Dabei geht die Tagzeit von 06:00 - 20:00 Uhr und die Nachtzeit von 21:59 - 05:59 Uhr.

In B4 steht die Uhrzeit des Arbeitsbeginn und in C4 das Ende. Diese sind in Format Uhrzeit formatiert. Die entsprechenden Zahlenformate zu der Uhrzeit sind in AB4 (Beginn) und AC4 (Ende).

Nun möchte ich, wenn die Arbeitszeit z.b. von 04:00 Uhr - 23:00 Uhr geht, dass entsprechend richtig die Stundenanzahl in Tag und Nacht unterschieden wird. Die Uhrzeit kann auch tagesübergreifend sein z.B. 19:00 - 07:00 Uhr. dabei ist jede erdenkliche Möglichkeit innerhalb eines Tages (24 Stunden) möglich.

Beispiel:
Bei der Arbeitszeit von 19:00 - 07:00 Uhr sind 2 Tagstunden (19:00-20:00 + 06:00 - 07:00) und 10 Nachtstunden (20:00 - 00:00 + 00:00 - 06:00).

fehlerhafte Formel für die Tageszeit als Zahl in Zelle Z4:

=WENN(ODER(D4<>"A";AB4="";AC4="");0;WENN(UND(AC4<=AB4;AC4>=Adm!$F$7);(Adm!$F$8-B4)+(C4-Adm!$F$7);WENN(UND(AB4>=6;AC4<=20);(C4-B4);WENN(UND(AB4>=6;AC4>=20);Adm!$F$8-B4;WENN(UND(AB4<=6;AC4<=20);C4-Adm!$F$7;WENN(UND(AB4<=6;AC4>=20);Adm!$F$8-Adm!$F$7;WENN(AC4<AB4;WENN(UND(AC4<AB4;AC4<=6);(Adm!$F$8-B4);""))))))))

fehlerhafte Formel für die Nachtzeit als Zahl in Zelle AA4:

=WENN(ODER(D4<>"A";B4="";C4="");0;WENN(UND(AB4<6;AC4>20);(Adm!$F$7-B4)+(C4-Adm!$F$8);WENN(AB4<6;Adm!$F$7-B4;WENN(AC4>20;C4-Adm!$F$8;0))))

In der Zelle: "Adm!$F$7" steht als Uhrzeit formatiert 06:00 und "Adm!$F$8" steht die Uhrzeiten 20:00 Uhr.

Vielleicht hat jemand eine Idee und kann die Formeln korrigieren oder hat entsprechend einen besseren/richtigen Ansatz. Problem bei der ganzen Sache ist einfach, das hier auch Tagesübergreifend gearbeitet wird und entsprechend das Ende "kleiner" ist als der Anfang. Ich habe die Vermutung, dass mit "+1" gearbeitet werden muss, aber bin da leider raus.

Gruß

Bild zum Beitrag
Computer, Microsoft, Microsoft Excel, programmieren
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