Mit Access und VBA einen formatierten Excel-Export durchführen?

Guten Tag, ich hänge mal wieder bei einer Access - Excel Frage fest.

Ich habe ein Access eine Abfrage geschrieben, die mir sortiert eine ID, den zugehörigen Namen und alle dazu zugewiesenen Daten ausgibt.

Da jede Id + name mehrere Daten haben kann, steht das ganzen in mehreren zeilen untereinander. Ich möchte das ganze nun in eine Excel-Datei via Makro exportieren und das ganze so formatieren das Id + name nur einmal drann steht und dann alle Daten.

Das ganze sieht also eig. so aus.

id || name || daten

1 || n1 || daten1

1 || n1 || daten2

1 || n1 || daten3

und soll in der Exel Datei dann so aussehen.

id || name || daten

1 || n1 || daten1

_ || _ || daten2

_ || _ || daten3

_ bedeutet das dort kein Eintrag in der Zelle mehr steht. Ich habe das bisher so gemacht, das ich Die Daten aus Access händisch in eine Excel kopiert habe und dann dort mit einem Makro alles raus sortiert habe. Dim xErsteZeile As Long Dim xZeile As Long

        xErsteZeile = Cells(Rows.Count, 1).End(xlUp).Row
    
        For xZeile = xErsteZeile To 1 Step -1
          If Application.WorksheetFunction.CountIf(Columns(1), Cells(xZeile, 1).Value) > 1 Then
                Range("A" & xZeile).Select
                Selection.Delete Shift:=xlUp
                Range("B" & xZeile).Select
                Selection.Delete Shift:=xlUp
          End If
        Next

Ich würde das ganze jetzt aber über Access machen da es ja der Ausgangspunkt ist. Wenn ich ein Export in ACCES anschaue in VBA sieht dieser ja so aus.

    DoCmd.OutputTo acOutputQuery, "jh_01_01_Abfrage", "Excel97-Excel2003Workbook(*.xls)", "", True, "", , acExportQualityPrint

kann ich davor die Daten noch bearbeiten wie in Excel? Und wenn ja kann mir eventuell jemand einen Tipp geben?

Würde mich sehr freuen.

Grüße

Frost.

Office, Microsoft Excel, programmieren, Access, Makro, VBA
Wie kann man in Access mehrere Filter per ODER verknüpfen?

Ich habe eine Access Datenbank-Tabelle mit den Einträgen Ersatzteilnummer, Materialtext, Typennummer, Sonstige Nummer und Kommentar.

Über ein Formular mit Suchfeld möchte ich mir Alle Datensätze anzeigen lassen, bei denen mindestens eine der Spalten meiner Datenbank den Suchbegriff enthält. Es sollen also alle Datensätze angezeigt werden bei denen die Eingabe im Materialtext vorkommt ODER in der Typennummer ODER im Kommentar usw.

Der Filter wie unten eingefügt funktioniert mehr oder weniger, jedoch habe ich so keine ODER Verknüpfung. Hat vielleicht jemand eine Idee, wie ich das realisieren könnte?

Vielen lieben Dank!! Max

If Len(Me!txtQSf) > 0 Then

Me.Filter = ""
       If Ersatzteilenummer Like "" & Me!txtQSf & "" Then
       Me.Filter = "Ersatzteilenummer LIKE '" & Me!txtQSf & "'"
       Me.FilterOn = True
    Else
        If Materialtext Like "*" & Me!txtQSf & "*" Then
            Me.Filter = "Materialtext LIKE '*" & Me!txtQSf & "*'"
            Me.FilterOn = True
        Else
                If Typennummer Like "*" & Me!txtQSf & "*" Then
                     Me.Filter = "Typennummer LIKE '*" & Me!txtQSf & "*'"
                     Me.FilterOn = True
                Else
                  If Kommentar Like "*" & Me!txtQSf & "*" Then
                      Me.Filter = "Kommentar LIKE '*" & Me!txtQSf & "*'"
                      Me.FilterOn = True
                  Else
                    If Sonstige_Nummer Like "*" & Me!txtQSf & "*" Then
                            Me.Filter = "Sonstige_Nummer LIKE '*" & Me!txtQSf & "*'"
                            Me.FilterOn = True
                    Else
                        Me.Filter = "Materialtext LIKE '*" & Me!txtQSf & "*'"
                        Me.FilterOn = True                              
     End If
     End If
     End If
     End If
     End If
Else
Me.Filter = ""
Me.FilterOn = False
End If

End Sub

Filter, Microsoft Office, programmieren, Access, VBA, Datenbank
Zeile bei Excel ausblenden, wenn bestimmte Zeile leer ist

Hallo,

folgende Situation: All meine Post sammel ich unsortiert in Ordnern. Um diese zu finden habe ich sie Nummeriert (3/112 [3-Ordner;112-laufende Nummer in diesem Ordner]). Um bestimmte Briefe wieder finden zu können, habe ich eine Exceltabelle angelegt. Spalten ABC geben die Nummerierung wieder, in Spalte D ist der Absender, E enthält das Datum des Schreibens und in F stehen bestimmte Inhalte des Briefs um diese mit Strg+F finden zu können.

Das klappt soweit auch alles gut. Jetzt möchte ich das aber alles mit Makros automatisch machen. Also dass ich in einem Feld einen Suchbegriff einge, und dann nurnoch die Zeilen angezeigt werden, die diesen enthalten.

Bsp.: Ich Suche nach "Rechnung" - es sollen alle Briefe, bei denen ich diesen Tag in irgendeiner Art in Spalte F eingegeben habe angezeigt werden. Also sowohl "Rechnung" als auch "InternetRECHNUNGsbetrag" sollen stehen bleiben. Alle anderen Zellen sollen ausgeblendet werden.

In VBA habe ich bisher das eingegeben, was auch in einem Testsheet geklappt hat (Also natürlich nur das Zeilenausblenden)

Sub test() Dim x As Integer

Tabelle1.Activate x = 2 Do If Cells(x, 6).Value = "" Then Rows(x).EntireRow.Hidden = True Else Rows(x).EntireRow.Hidden = False End If x = x + 1 If Cells(x, 1).Value = "Gesamt" Then Exit Do Loop

End Sub

Anschließend habe ich in meiner Origionalen Tabelle eine Hilfsspalte eingefügt, die nach den Wörtern in Spalte D und F suchen soll und das Wort oder etwas anderes in der Hilfsspalte wiedergibt, damit der oben ganannte Code alles ausblenden kann. Habe ich so leider nicht hinbekommen.

Kann mir jemand helfen? ich denke der Ansatz ist gut und auch umsetzbar. Ich bin allerdings für andere Lösungsansätze offen. Bedenkt dabei aber bitte, dass ich eine VBA-Bull bin, also eventuell eine kleine Erklärung, was mit welchen Variablen geimt ist, dass ich das anpassen kann.

Vielen Dank schonmal im Voraus

Microsoft Excel, VBA
Email mit vba aus Excel + Text aus Word

Hallo zusammen,

ich bin gerade dabei VBA zu lernen und würde gerne testen, wie man mit Outlook automatisch Emails versenden kann. Hierzu habe ich entsprechende Empfänger (Adresese, Vorname, Nachname und Betreff) in Excel. Einen entsprechenden Email-Text (inkl. Absatz und Textformatierung) habe ich in Word vorliegen. Kann man das irgendwie kombinieren?

Ich habe im Netz bislang nur Lösungen gefunden, wie man Emails versenden kann, bei denen alles in Excel oder dem VBA vorliegt.

z.B. diese hier:

Sub Excel_Serial_Mail()
Dim MyOutApp As Object, MyMessage As Object
Dim i As Long
'Start der Sendeschleife an 10 Empfänger
For i = 1 To 10
    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
        'Die Empfänger stehen in Spalte A ab Zeile 1
        .To = Cells(i, 1) 'E-Mail Adresse
        'Der Betreff in Spalte B
        .Subject = Cells(i, 2) '"Betreffzeil"
        'Der zu sendende Text in Spalte C
        'Maximal 1024 Zeichen
        'Der Text wird ohne Formatierung übernommen
        .Body = Cells(i, 3)
        'Hier wird die Mail angezeigt
        '.Display
        'Hier wird die Mail gleich in den Postausgang gelegt
        .Send
    End With
    'Objectvariablen leeren
    Set MyOutApp = Nothing 'CreateObject("Outlook.Application")
    Set MyMessage = Nothing 'MyOutApp.CreateItem(0)
    'Sendepause einschalten
    'Outlook kann die Aufträge nicht schnell genug verarbeiten
    Application.Wait (Now + TimeValue("0:00:05"))
Next i
End Sub
Microsoft Word, Microsoft Excel, E-Mail, VBA
Excel VBA: Sverweis Formel - Makro einfügen!

Hi zusammen. Habe mir heute mein erstes Userform gebastelt (Google sei Dank...). Mein UF macht simpel nichts anderes, als Einträge aus der EIngabemaske in eine Tabelle zu füllen.

Dim emptyRow As Long

'Ermitteln der ersten leeren Zeile
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Wohin werden die eingegebenen Datein eingefüllt?
Cells(emptyRow, 1).Value = ComboBox1.Value
Cells(emptyRow, 5).Value = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value
Cells(emptyRow, 3).Value = TextBox3.Value
Cells(emptyRow, 7).Value = TextBox4.Value

If OptionButton1.Value = True Then
    Cells(emptyRow, 6).Value = "1. Halbjahr"
End If

If OptionButton2.Value = True Then
    Cells(emptyRow, 6).Value = "2. Halbjahr"
End If


Me.Label7 = "Speichern erfolgreich!"

End Sub

Ich muss auch sagen, es funktioniert prächtig. Die Einträge werden alle korrekt erstellt etc. Nur habe ich in Spalte "H" meiner Tabelle, wo die Daten eingefügt werden, eine Spalte für SVerweis. Diese Formel soll jedesmal, wenn ein neuer Eintrag gespeichert wird, angefügt werden. Wenn ich von anfang an alle Formeln runterziehe bis ans Ende der Tabelle braucht Excel 2Minuten zum das Dokument zu öffnen... Formel lautet: =SVERWEIS($A2;'Tabelle1'!$A$1:$C$31;2;FALSCH) Wobei der Bezug A2 natürlich mit jeder Zeile anders ist (A2, A3, A4 etc.) Wenn ich die Formel "aufzeichne", erscheint folgendes, womit ich absolut nix anfangen kann.

Sub SVerweis_HC()
'
' SVerweis_HC Makro
'

'
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC1,'Tabelle1'!R[-1317]C[-7]:R[-1289]C[-6],2,FALSE)"
    Range("H1319").Select
End Sub

Kann hier wer helfen?

Bild zum Beitrag
Computer, Microsoft Excel, programmieren, Makro, VBA, Script, Tabelle

Meistgelesene Beiträge zum Thema VBA