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
Prüfen ob Abfrage Daten enthält VBA Access?

Hallo zusammen,

ich habe in Access einen Button, der aus einer Abfrage eine PDF erstellt und diese via E-Mail versendet.

Ich möchte den Button so programmieren, sodass die PDF nicht verschickt wird, wenn die Abfrage keine Daten enthält.

Teil der Ereignisprozedur "Beim Klicken" für den Button:

Private Sub Befehl96_Click()

    Dim stDocName As String     Dim fileName, fldrPath, filePath As String     Dim answer As Integer       Dim strFrom, strSchema, strPW, strServer, strText, strBenutzer, strUseSSL, strSubject, strBody, strFile As String  'E-Mail     Dim intPort As Integer     Dim cdoMsg As CDO.Message

    Const cdoAnonymous = 0          Const cdoBasic = 1      Const cdoSendUsingPort = 2          stDocName = "Artikeländerungsprotokoll_ARTGruppe"     DoCmd.OpenQuery stDocName, acNormal, acEdit          fileName = Format(Date, "YYYYMMDD") & "_Aenderungsprotokoll_Herstellverfahren"     fldrPath = "K:\ARTIKEL\SQL_Protokolle"     filePath = fldrPath & "\" & fileName & ".pdf

    If Dir(filePath) <> "" Then
        
        answer = MsgBox(prompt:="PDF-Datei existiert bereits: " & vbNewLine & filePath & vbNewLine & vbNewLine & _
        "Möchten Sie die Datei ersetzen?", Buttons:=vbYesNo, Title:="Datei Name existiert bereits")
    
    If answer = vbNo Then Exit Sub
    End If
 
   DoCmd.OutputTo acOutputReport, "ARTIKELÄNDERUNGSPROTOKOLL ARTGruppe", acFormatPDF, filePath

Ich möchte prüfen, ob in der Abfrage"ARTIKELÄNDERUNGSPROTOKOLL_ARTGruppe" Daten enthalten sind. Wenn keine Daten enthalten sind, dann soll nur eine MsgBox erscheinen, die besagt, das keine Daten vorhanden sind und nichts weiter.

Ich bin ein Anfänger im programmieren und tue mir schwer...

Kann mir bitte jemand helfen?


Computer, Technik, programmieren, Access, VBA, Technologie, VBA-Code
VBA zu HTML Code umgewandelt - Zeilenumbrüche weg?

Hallo,

ich habe durch den unten beigefügten Code versucht eine E-Mail samt Signatur automatisch kommen zu lassen. Nun habe ich das Problem, dass die Absätze in der Mail weg sind und alles in einer Zeile ist. Wie behebe ich das?

Private Sub CommandButton2_Click()

Dim objOutlook As Object

Dim objMail As Object

Dim S As String

Dim body As String

Dim htbody As String

Set objOutlook = CreateObject("Outlook.Application")

Set objMail = objOutlook.CreateItem(0)

If TextBox2.text = "" Or TextBox2.text = TextBox1.text Then

   body = "Sehr geehrte Frau x," & vbCrLf & _

   vbCrLf & _

   "Folgende/r Mitarbeiter/in ist erkrankt:" & vbCrLf & _

   vbCrLf & _

   ComboBox1.text & vbCrLf & _

   vbCrLf & _

   "Zeitraum: " + TextBox1.text

Else

   body = "Sehr geehrte Frau x," & vbCrLf & _

   vbCrLf & _

   "Folgender Mitarbeiter ist erkrankt:" & vbCrLf & _

   vbCrLf & _

   ComboBox1.text & vbCrLf & _

   vbCrLf & _

   "Zeitraum: " + TextBox1.text + " bis " + TextBox2.text

End If

htbody = fnConvert2HTML(htbody)

S = Environ("appdata") & "\Microsoft\Signatures\autoE-Mailsenden.htm"

If Dir(S, vbDirectory) <> vbNullString Then

   S = S

   S = CreateObject("Scripting.FileSystemObject").GetFile(S).OpenAsTextStream(1, -2).readall

       With objMail

            .To = "x.de"

            .Subject = "Krankmeldung " + ComboBox1.text + " x"

            htbody = body & "<br><br>" & S

           .htmlbody = "<font face=""Arial"">" & htbody & "</font>"

        .Display       'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend manuell vom User!

       End With

Else

'   With objMail

'                 .To = Empfänger

'                 .Subject = Betreff

'

'

'                   htbody = body '& "<br><br>" & S

'                  .htmlbody = "<font face=""Arial"">" & htbody & "</font>"

'                  .Display

'

'

'          '    .Display       'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend manuell vom User!

'   End With

End If

End Sub

Zudem noch folgende Funktion:

Function fnConvert2HTML(myText As String) As String

   Dim bldTagOn, itlTagOn, ulnTagOn, colTagOn As Boolean

   Dim i, chrCount, n As Integer

   Dim chrCol, chrLastCol, htmlTxt As String

   Dim myChar As String

   bldTagOn = False

   itlTagOn = False

   ulnTagOn = False

   colTagOn = False

   chrCol = "NONE"

   htmlTxt = "<html>"

   chrCount = Len(myText)

End Function

Danke im voraus!!!

Computer, Schule, E-Mail, HTML, VBA, VBA Programmierung, VBA Makro, VBA-Code, VBA Excel

Meistgelesene Fragen zum Thema VBA-Code