VBA – die besten Beiträge

Excel: Wenn Wert in Zelle WAHR, dann Entsprechung in Matrix suchen?

Hallo zusammen,

ich habe eine Excel-Liste mit Personen. In Spalte A sind die Personalnummern, in Spalte T wird ausgegeben, ob eine Schwerbehinderung vorliegt. Dies bezieht sich auf ein separates Arbeitsblatt, in welchem Personaldaten mit schwerbehinderten Beschäftigten enthalten sind (Spalte A = Personalnummer). Diese Rückmeldung klappt; hierbei wird einfach geschaut ob die Personalnummer aus Spalte A auch in Spalte A in dem separaten Arbeitsblatt vorkommt. Wenn jemand eine Schwerbehinderung hat, so erscheint "WAHR" in der jeweiligen Zelle in Spalte T.

In Spalte U soll nun ausgegeben werden, ob eine Erwerbsminderungsrente vorliegt. Dies ist i.d.R. nur bei Schwerbehinderten der Fall, sodass hier wieder auf das separate Arbeitsblatt Bezug genommen werden soll.

Es soll also in der Formel für Spalte U die Bedingung gelten, dass wenn in der jeweiligen Zelle in Spalte T "WAHR" steht, dann soll in dem separaten Arbeitsblatt in der dazugehörigen Zeile mit der entsprechenden Personalnummer auf Spalte R verwiesen werden. In Spalte R des separaten Arbeitsblattes ist mit "WAHR" (liegt vor) und "FALSCH" (liegt nicht vor) hinterlegt, ob eine Erwerbsminderungsrente vorliegt.

Gewünscht ist auch ein Verweis auf Spalte S im separaten Arbeitsblatt, wo das Datum hinterlegt ist, wie lange die Rente geht.

Ich probiere seit Ewigkeiten rum, aber kriege es mit einer Formel nicht abgebildet.
Kann jemand helfen? Im Voraus vielen Dank.

Microsoft Excel, Excel 2010, Microsoft Office, VBA, Excel 2007, Formel, Tabellenkalkulation, Tabelle, Excel-Formel, Excel 2013

Gibt es eine Möglichkeit in Excel per VBA mehrere Blätter optional auswählbar in eine PDF zu exportieren?

Hallo Zusammen,

ich suche eine Möglichkeit aus einer Excel Datei (MS 365 auf einem mac) mit mehreren Tabellenblättern dem Nutzer die Möglichkeit zu geben eine PDF zu generieren deren Inhalt und dessen Ablageort er selber definieren kann.

Dabei ist die Auswahl des Inhalts auf die Tabellenblätter begrenzt. In jedem relevanten Tabellenblatt ist je ein Druckbereich definiert. D.h. der Nutzer kann (ohne Makro) auswählen ob er Tabellenblatt 1, Tabellenblatt 4 und oder andere Tabellenblätter drucken will.

Das Makro wird durch einen Button ausgelöst und folgendes geschieht:

  • Abfrage welcher Speicherort und Dateiname
  • Speichern der Datei / Schließen des Fensters
  • Öffnen der generierten PDF Datei

Als Idee hatte ich zunächst mit Checkboxen zu arbeiten. Leider ist auf einem Mac die Nutzung von UserForms nicht möglich.
Die nächste Idee war die Checkboxen für jedes Blatt einzeln auswählbar zu machen.
Am Ende habe ich mich aber dafür entschieden, in einem Feld (aktuell auf jedem Blatt A1) die Information "print" abzulegen, so dass das Makro per Schleife alle Blätter auf A1="print" durchlaufen soll.

da ich noch ziemlicher VBA-Laie bin und mir mein Makro aus verschiedenen im netz verfügbaren Makros zusammengebaut habe, erspare ich euch das Pasten des sicherlich gruseligen Versuchs meinerseits

Leider klappts alles nicht so wie ich das gerne hätte, so dass ich nun auf eure Hilfe hoffe...

Danke schonmal!!

Microsoft Excel, PDF, VBA

Wie erstelle ich sql String zum Füllen des Kombinationsfelds?

Hallo,

ich versuche gerade Access zu verstehen und habe nun ein Problem.

Ich habe zwei Kombinationsfelder:

  1. KombiFeld01
  2. KombiFeld02

Das zweite Kombinationsfeld soll abhängig von der Auswahl vom ersten Kombinationsfeld Einträge aus einer weiteren Tabelle anzeigen.

Das erste Kombinationsfeld wird bereits aus einer anderen Tabelle gefüllt.

Ich versuche also jetzt per VBA irgendwie einen Bezug von der Auswahl zur Tabelle zu erzeugen und komme nicht weiter.

Das sieht nun so aus (Variablen, weil ich nicht weiß wie ich die Spalten der Tabelle anhand der Auswahl im Kombinationsfeld auswählen soll):

Private Sub KombiFeld01_AfterUpdate()

  Dim strSQL As String, Auswahl As String, Spalte As String, cbo As ComboBox, cbo2 As ComboBox

   

  Set cbo = Me!KombiFeld01

  Set cbo2 = Me!KombiFeld02

   

  Select Case True

  Case cbo = "Artikelbezeichnung"

  Spalte = "Artikelbezeichnung"

  Case cbo = "Artikel-Nummer"

  Spalte = "ArtikelNummer"

  Case cbo = "FA-Nummer"

  Spalte = "FANummer"

  Case cbo = "Fehlermeldung Nr."

  Spalte = "Nr"

  Case cbo = "Kunde"

  Spalte = "KundeLang"

  Case cbo = "Status"

  Spalte = Me!KombiFeld01

  Case cbo = "Zuständig"

  Spalte = "zuständig"

  End Select

   

  strSQL = "SELECT DISTINCT '" & Spalte & "' FROM Fehlermeldungen ORDER BY '" & Spalte & "' WHERE '" & cbo & "' "

  cbo2.RowSource = strSQL

End Sub

Ich verstehe nicht, wie Select where überhaupt funktioniert.

Vielleicht kann jemand helfen. Vielen Dank.

Access, VBA

In Excel Makros aus aktiven Sheet löschen?

Ich Möchte ein Tabellenblatt neben das Original kopieren, in dem man nichts mehr ändern kann, aber anschliesssend die Sub Makros aus der Kopie Löschen, da sonnst die Datie zu groß wird. Das Kopieren funktioniert super, nur mit den Makros entfernen noch nicht so.

Das ist mein Code zum Kopieren, Danke

Sub NeuesTabBlatt()
' Monate Soll
 If MsgBox("Wollen Sie wirklich einen neuen Sollplan erstellen?", vbYesNo) = vbYes Then
 If InputBox("geben sie Bitte das Passwort zum Entsperren ein", "  Sollplanerstellung") = "1234" Then
        MsgBox "OK, der Sollplan wird erstellt"
 Else
 MsgBox "Hier kommst Du net rein!"
 ActiveSheet.Range("$A$1").Select
 Exit Sub
 End If
Application.ScreenUpdating = False
Application.Calculation = False
Dim NewName As String
ActiveWorkbook.Unprotect Password:="1234"
NewName = ActiveSheet.Range("$CW$1")
ActiveSheet.Copy After:=ActiveSheet
 ActiveSheet.Name = "Soll" & " " & ActiveSheet.Range("CW1")
  ActiveSheet.Range("AT127:AV134,AQ133:AS133, AT183:AV186, AT228:AV232").Clear
       ZeilenEinUndAusblenden
    ActiveSheet.EnableSelection = xlNoSelection
   ActiveSheet.Protect Password:="1234", DrawingObjects:=True, Contents:=True, Scenarios:=True
   ActiveSheet.Visible = False
  ActiveWorkbook.Protect "1234", Structure:=True
  Application.Calculation = xlAutomatic
 Application.ScreenUpdating = True
 MsgBox "ein neues SOLL Tabellenblatt wurde erstellt"
 End If
 'BlätterSollEinAus
 ActiveSheet.Range("$A$1").Select
End Sub 
Microsoft Excel, VBA

Meistgelesene Beiträge zum Thema VBA