VBA – die neusten Beiträge

Excel-Funktion - Aus zwei Tabellen verschiedene Beträge mit einem Datum vergleichen?

Hallo zusammen,

ich bin Praktikant in einem Unternehmen und muss eine Auswertung durchführen mit einer Excel für meinen Team. Ich bin hier bereits seit einigen Stunden am ausprobieren und schaffe es selber nicht.

Ich habe eine Excel-Datei mit drei Tabellen:

Tabelle 1: Input

Besitzt folgende Spalten:

- Spalte B: Datum

- Spalte C: Time

- Spalte P: Beträge

In der Tabelle 1 habe ich die Ursprungsdaten. Hier kopiere ich alle Daten aus einer anderen Datei rein. Hier sind die Beträge Zeile für Zeile hinterlegt für das jeweilige Datum. (Siehe Bild 1)

Tabelle 2: Manuelle Eingabe

Besitzt folgende Spalten:

- Spalte A: Datum

- Spalte B: K1

- Spalte C: K2

- Spalte D: K3

- Spalte E-I: K4 bis K8

In der Tabelle 2 habe ich die Vergleichsdaten, die wir manuell eingeben müssen. Hier sind die Beträge Spalte für Spalte hinterlegt für das jeweilige Datum. Es kommt manchmal vor, dass am selben Datum mehrere verschiedene Beträge hinterlegt sind.

Tabelle 3: Auswertung

Besitzt folgende Spalten

- Spalte A: Datum

- Spalte C: Status K1

- Spalte E: Status K2

- Spalte G: Status K3

Spalte I, K, M, O, Q: Status K4 bis Status K8

Könntet Ihr mir dabei helfen eine Excel-Funktion aufzubauen, die Einträge aus der Tabelle 1 und Tabelle 2 mit dem jeweiligen Datum und Betrag zwischen Spalte P (Beträge-Tabelle 1) und Betrag Spalten B-I (K1-8 - Tabelle 2) vergleicht und eine Auswertung in die Tabelle 3 in die jeweilige Spalte C bis Spalte Q gibt.

Wenn der Betrag übereinstimmt mit "Korrekt" und wenn Falsch "Fehler"

Tabelle 1 - Input

Tabelle 2 - Manuelle Eingabe

Tabelle 3 - Auswertung

Bild zum Beitrag
Microsoft, Microsoft Excel, VBA, Formel, Excel-Formel

Makro mit VBA in Excel zerschossen, brauche dringend Hilfe!?

Hallo zusammen,

vorab schonmal, nein ich habe hier absolut 0% Ahnung hiervon und brauche dringend Hilfe!

Ich habe auf der Arbeit bei einer wichtigen Excel Datei eine neue Spalte eingefügt, was dafür gesorgt hat, dass eine wichtige Spalte rechts davon weiter nach rechts verschoben wurde um eine Zelle.

In dieser Spalte wurden Enddatum eingetragen und diese wurden mit einem Makro über VBA Absteigend von jüngerem Datum oben, nach späteren Datum nach unten hin sortiert.

Nachdem ich die neue Spalte zugefügt habe, funktionierte eins nach dem anderen nicht mehr richtig und ich war so dumm zu versuchen das Makro minimal anzugleichen, sodass es funktioniert und habe es dann getestet.

Dadurch habe ich es nur schlimmer gemacht...

Zudem kann ich jetzt nicht mal mehr in der Tabelle scrollen, zumindest in diesem Reiter, in einem anderen Reiter unten, kann ich scrollen in der Datei.

Der Text in VBA Stand jetzt:

Sub Sortieren()

'

' Sortieren Makro

'

'

  Rows("3:500").Select

  Range("B3").Activate

  ActiveWorkbook.Worksheets("Übersicht").Sort.SortFields.Clear

  ActiveWorkbook.Worksheets("Übersicht").Sort.SortFields.Add Key:=Range( _

    "H4:Hl34"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _

    xlSortNormal

  With ActiveWorkbook.Worksheets("Übersicht").Sort

    .SetRange Range("A3:L500")

    .Header = xlYes

    .MatchCase = False

    .Orientation = xlTopToBottom

    .SortMethod = xlPinYin

    .Apply

  End With

  ActiveWindow.SmallScroll Down:=3

  ActiveSheet.Range("$A$3:$L$97").AutoFilter Field:=12, Criteria1:="="

  ActiveWindow.SmallScroll Down:=-12

End Sub

Bild zum Beitrag
Microsoft Excel, programmieren, Makro, VBA, VBA Programmierung, VBA Makro, VBA-Code, VBA Excel, makros erstellen

Excel-Code für Mehrfachauswahl in Dropdown-Listen?

Hallo zusammen,

Ich versuche gerade ein Excel-Dokument zu erstellen, bei dem eine Mehrfachauswahl aus Dropdown-Listen möglich ist. Das heißt aus einer Liste sollte es möglich sein mehrere Werte anzuwählen. Das habe ich auch mit dem untenstehenden VisualBasic-Code gemeistert. Allerdings habe ich erstens das Problem, dass auch eine Mehrfachauswahl des immer gleichen Wertes möglich ist. Theoretisch könnte also in einer Zelle x-mal derselbe Werte auftauchen. Dies soll natürlich nicht möglich sein. Bei Doppelauswahl desselben Wertes soll dieser aus der Zelle wieder verschwinden.

Mein zweites Problem ist, dass ich bislang nur 2 zwei Dropdown-Listen mit Mehrfachauswahl eingefügt bekomme. Sobald ich eine dritte Spalte versuche zu implementieren, bekomme ich eine Fehlermeldung für meinen Code.

Dadurch, dass ich mich mit dem Ganzen nicht so wirklich auskenne, wäre es sehr nett, wenn mir jemand helfen könnte.

Danke!

 

Bisheriger Code:

 

Private Sub Worksheet_Change(ByVal Target As Range)

** Mehrfachauswahl über DropDown-Liste

'** Einfügen im Code-Container des betreffenden Arbeitsblattes

 

'** Dimensionierung der Variablen

Dim rngDV As Range

Dim wert_old As String

Dim wertnew As String

 

'** Errorhandling

On Error GoTo Errorhandling

 

'** Mehrfachauswahl im definierten Bereich "Abteilungen" und "Themen" (Bsp. J2:J2000, I2:I2000) durchführen

If Not Application.Intersect(Target, Range("J2:J2000", "I2:I2000")) Is Nothing Then

 

 '**Range definieren

 Set rngDV = Target.SpecialCells(xlCellTypeAllValidation)

 If rngDV Is Nothing Then GoTo Errorhandling

  

 '** Prüfen, ob eine gültige Zelle ausgewählt wurde und Werte eintragen

 If Not Application.Intersect(Target, rngDV) Is Nothing Then

   Application.EnableEvents = False

   wertnew = Target.Value

   Application.Undo

   wertold = Target.Value

   Target.Value = wertnew

   If wertold <> "" Then

     If wertnew <> "" Then

       Target.Value = wertold & ", " & wertnew

     End If

   End If

 End If

 Application.EnableEvents = True

End If

 

Errorhandling:

Application.EnableEvents = True

End Sub

Visual Basic, Microsoft Excel, VBA, Dropdownliste

mehrere Dokumente und Dateien in einer Datenbank zusammen. Per Access oder andere Lösung?

Hallo zusammen,

wir stehen derzeit vor einer kleinen Umstrukturierung und sind uns nicht sicher in welcher Art und Weise wir es am Besten machen wollen.

Zur Situation. Aktuell haben wir viele Leute die für ein gemeinsames Projekt verschiedenste Dateien führen. Grundrisse, Excel-Daten, PDF´s und noch mehreres anderes. Leider wurde dies nie wirklich zusammengeführt, sondern man teilweise 4 verschiedene Bearbeitungsstände oder muss bei einer Änderung mehrere Dateien parallel bearbeiten und ändern. (Bsp: MAC-Adresse ändert sich: muss man in mehreren Dateien nachbearbeiten, damit es aktuell bleibt.) Das ist das Hauptproblem derzeit, welches geändert werden soll. Der erste Gedanke ging in die Richtung Access Datenbank. Hier sehe ich verschiedene Problematiken, bzw. habe verschiedene Fragen die vielleicht jemand Beantworten kann:

  1. Es wäre notwendig verschiedene Ansichten/ Listen zu generieren: Bsp. alle Daten mit einem Bestimmten Atribut X sollen in einer Liste ausgegeben werden.
  2. Ist es möglich einen Dateipfad zu verlinken?: Nach dem Motto ich hinterlege in einer Ordnerstruktur Grundrisse und kann mir diese in Access anzeigen lassen oder aufrufen lassen. Als Link zum Ordner zum Beispiel?
  3. Ist es möglich (Stichpunkt Grafiken und allgemeine Übersichtlichkeit verschiedener Gewerke) eine grafische Abbildung einzubringen und diese mit Links zu einzelnen Unterdatenbanken zu versehen?

Soweit erstmal ein sehr grober Überblick zu unserer Thematik. Es sind sehr viele Daten die wir einpflegen würde und die auch ineinander Greifen.

Ich bin mir unsicher, ob Access wirklich die perfekte Lösung ist?

Habt ihr damit Erfahrungen und evtl. andere Lösungsansätze? Oder würdet ihr doch Access empfehlen, weil ich einige Funktionen vielleicht nicht kenne?

Vielen Dank und liebe Grüße

Williwasi

Microsoft, Microsoft Excel, IT, Microsoft Office, Access, VBA, Datenbank, Informatik, Informationstechnik, Datenbanksystem

Excel VBA eine definierte Shape bewegen?

Hallo Zusammen,

Ich habe in einem File mit zwei Blättern (Genehmigung und Planung) einen Balken (benannt "Datumsbalken"). Dieser ist jeweils auf dem heutigen Tag fixiert.

Jetzt will ich seine Verschiebung anhand des heutigen Datums automatisieren. Ich bringe jedoch das Makro nicht zum laufen. Was ist mein Fehler?

Sub BalkenSchieben3()
 
    Dim Today As Variant
    Dim Last As Variant
    Dim TodaySheet As Variant
    Dim Difference As Variant
    Dim Form As Shape
 
    Set Form = Sheets("Planung").Shapes.Range("Datumsbalken") '(Array("Datumsbalken")) soll die Shape "Datumsbalken" suchen
    Set Today = Date 'Setzt das heutige Datum
    Set Difference = Sheets("Genehmigung").Range("AO3") 'Setzt den Unterschied zwischen letzter Bearbeitung und Heute
    Set TodaySheet = Sheets("Genehmigung").Range("AK3")
    
        If Difference > 0 Then
            For Difference = 1 To Difference 'Die Anzahl Tagesunterschiede (Difference) entscheidet, wie viele Male der Balken verschoben werden soll.
                With Sheets("Planung")
                    Form.Select
                    Selection.ShapeRange.IncrementLeft 21
                End With
                
            Next
            
            Else
        End If
    
    Set Sheets("Genehmigung").Range("AK3") = Today 'Das heutige Datum wird in die Zelle abgespeichert
    Set Sheets("Genehmigung").Range("AM3") = TodaySheet 'Das letzte Bearbeitungsdatum (vorheriges "Heute") wird abgespeichert, damit die nächste Difference berechnet werden kann
 
End Sub

Vielen Dank im Voraus!

Microsoft Excel, Microsoft Office, programmieren, VBA, Formel

Microsoft Excel | Diabook. > Neue Überarbeitung/Hilfe (VBA)?

Guten Abend zusammen.

Bevor ich zum offiziellen Thema komme nochmals ein Vorwort auf der Grundlage eines Beitrages der sinnfrei gelöscht wurde.

Vorwort:

Die Frage dient nicht dafür um hier etwas zu verkaufen sondern dazu um mir im Bereich Office/Excel weiterzuhelfen. Das Diabolic Projekt ist ein Privates und von mir als Besitzer und Eigentümer erstelltes Projekt. Ebenfalls habe ich die AGB von gutefrage.net zur Kenntnis genommen und stimme diesen hiermit Schriftlich zu.

Der letzte Beitrag wurde wegen verdacht auf Verkauf entfernt obwohl ich das HIER und im anderen Beitrag deutlich erwähnt habe. Ich möchte hier nichts Verkaufen.

| Um was handelt es sich nun?

Ich bin selber Diabetiker Typ 1 und wollte ein erstmaliges Projekt erstellen um mein Diabetes auch am Computer (in Excel) Managen zu können. Dazu habe ich in der Vergangenheit auch schon paar Fragen gestellt.

Nun habe ich eine Zeit lang darüber Nachgedacht und bin zum Entschluss gekommen alles "Einheitlich" statt einzeln zu machen. Diabook, Insulinrechner, Nährwertrechner waren noch bis vor ein paar Tagen einzelne Programme in Microsoft Excel Dokument Mappen. Ich habe überlegt und mir viel dann etwas auf. Aufgrund dessen dass ich die Dinge mache um das Leben mit Diabetes einfacher zu machen dachte ich mir: Okay. Dann werde ich doch alles in einer Mappe verarbeiten da die Einzelnen Mappen immer aufwendig sind.

Ich Persönlich verwende schon lange Zeit eine App die vieles miteinander vereint. So soll es auch mit dem was ich vor habe werden.

| Weiteres:

Ich möchte das alles im Prinzip erneuern. Ich habe leider nur wenig bis minimale Kenntnisse im Bereich "Microsoft Excel" und habe schon paar Ideen die ich nur zum Teil umsetzen kann weil mir dafür das Wissen & Erfahrung fehlt und ich deshalb diesen Beitrag erstelle um danach zu Fragen.

| Vorstellung & Idee/n:

Meine Ideen und Vorstellungen in diesem Projekt sind naja irgendwie zu Groß weshalb ich bezweifle das es möglich sein wird alles in Excel umsetzten zu können.

Ich habe mich schon bei YouTube umgesehen und kam leider zu keinem Video das mir dass zeigen würde was ich so bräuchte. Ich hätte aber gerne Folgendes:

  • Startseite: Erweiterungen um in der linken Leiste alles ein und zuklappen zu können. Dies ebenfalls beim Nährwertrechner mit mehreren Mappen um dort verschiedene Kategorien für Lebensmittel anzulegen. Auch beim nachkommenden Rezeptrechner um dort ebenfalls Kategorien anlegen zu können.
  • Favoriten: Wichtig beim Nährwert/Rezeptrechner um Lebensmittel oder Rezepte schneller zu finden.
  • Mappen in Mappen: Ich hätte außerdem gerne die Funktion das ich zb. in der Mappe Nährwertrechner weitere Mappen erstellen kann un das überall.
  • Nährwertrechner(Suche): Ich hätte außerdem gerne das man oben eine Leiste hat um alle Lebensmittel und Rezepte zu finden. Diese sollen dann in einer Liste dort oder dann im Nährwertrechner angezeigt werden. Auch ins Tagebuch übertragbar sein.

Es ist zu viel. Bräuchte man dafür VBA oder geht das ohne? Danke im Voraus! :)

Bild zum Beitrag
PC, Computer, Software, Windows, Microsoft, Office, Visual Basic, Microsoft Excel, Technik, IT, VBA

UserForm mit Prozentwerten in TextBox - Dilemma beim speichern in Zelle?

Liebe Excel-Fans,

ich habe ein Problem mit dem Thema Prozentangaben und versuche es so kurz wie möglich zu erklären:

Eine UserForm mit Feldern (TextBoxen) zum Bearbeiten von Werten aus einer Tabelle.
In der Excel-Tabelle sollen Prozentwerte hinterlegt und in die UserForm entsprechend ausgelesen werden.

  • Beim erstmaligen Hinterlegen kann man einfach TextBox1.Value / 100 verwenden. Klar.
  • Beim Einlesen des Wertes in die TextBox1 der UserForm zum Bearbeiten nehme ich: UserForm.TextBox1 = Format(UserForm.TextBox1, "#,##0.00 %") damit beim Lesen der Wert auch schön als Prozentwert angezeigt wird

Wenn ich nun speichere, ohne die Prozentwerte zu verändern, da ich diese einfach nicht verändern möchte, schmeißt mir Excel einen Laufzeitfehler 13, Typen unverträglich und markiert den Abschnitt im Code (oben Punkt 1) wo ich durch 100 dividiere.

Ist ja irgendwie verständlich, da er versucht den Wert aus der TextBox "1,99 %" zu dividieren, da nun ein "%" drin steht ... bzw. möchte ich in dem Fall auch gar nicht, dass durch 100 dividiert wird, da der Wert ja stimmt und nicht nochmal dividiert werden soll.

Habe irgendwie einen Denkfehler - aber ein Formular was "Bearbeiten" soll, muss die Werte richtig verändern können oder aber auch erstmals anlegen können. Und hier scheint es mit den Prozent-Werten ein Thema zu geben.

Ich danke für eure Ideen und Hilfsansätze!

Grüße
Sebastian

VBA, Excel-Formel

Meistgelesene Beiträge zum Thema VBA