VBA 2 Sheets in 2 PDF's mit Auswahl

Diskutiere und helfe bei VBA 2 Sheets in 2 PDF's mit Auswahl im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo. Folgendes ich habe zurzeit 2 Excel Sheets welche ich mittels einem ActiveX Button in eine PDF exportiere und diese anschließend einer Email... Dieses Thema im Forum "Microsoft Office" wurde erstellt von Linauer, 20. März 2019.

  1. Linauer
    Linauer Gast

    VBA 2 Sheets in 2 PDF's mit Auswahl


    Hallo.


    Folgendes ich habe zurzeit 2 Excel Sheets welche ich mittels einem ActiveX Button in eine PDF exportiere und diese anschließend einer Email anhänge.

    Jetzt will ich aber beide Seite in unterschiedliche PDF's mit unterschiedlichen Pfaden.


    Wenn nicht zu umständlich wäre auch eine Auswahl nicht Schlecht welche bei drücken des Buttons aufpoppt um Auswählen zu können ob A oder B und weiter Sheet 1 und/oder Sheet 2


    Aktueller Code:


    Option Explicit

    Private Sub CommandButton1_Click()

    Range("D8").Value = Range("D8").Value + 1

    Dim Mailadresse As String, Betreff As String
    Dim olApp As Object

    Set olApp = CreateObject("Outlook.Application")
    Mailadresse = "*** Die E-Mail-Adresse wurde aus Datenschutzgründen entfernt. ***"
    Betreff = "Defektgeräte"


    Dim Zähler As Long
    Dim Dateiname As String
    Dim Abstand As Long
    Do
    Zähler = Zähler + 1
    Dateiname = "Pfad" & Format(Now, " yyyymmdd") & "_" & Range("Sendschein!B13").Value & "_" & Zähler & ".pdf"
    Loop Until Dir(Dateiname) = ""

    ThisWorkbook.Sheets(Array("Sendschein", "Defektliste")).Select

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Dateiname, Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    OpenAfterPublish:=False


    With olApp.CreateItem(0)
    .to = Mailadresse
    .Subject = Betreff
    .Attachments.Add "Pfad" & Format(Now, " yyyymmdd") & "_" & Range("Sendschein!B13").Value & "_" & Zähler & ".pdf"
    .Display
    End With

    Set olApp = Nothing
    End Sub



    Grüße

    Linauer
     
  2. marpessa Win User

    Fehlermeldung bei Makro das Diagramm erstellt

    Ich muss dich allerdings warnen. Ich arbeite noch nicht lange mit VBA. Falls es also nicht ganz sooo übersichtlich ist, man gewisse Stellen vereinfachen könnte etc. einfach darüber hinwegsehen. :)



    Hier der Code:



    Sub Grafiken()



    Application.ScreenUpdating = False

    Rem: Defintion Variabeln

    Dim station As String



    Dim legend As String

    Dim titel As String



    Dim legendm As String

    Dim titelm As String

    Dim okt As String

    Dim dez As String

    Dim feb As String

    Dim apr As String

    Dim k As Integer

    Dim winter As String

    Dim posTop As Integer



    Dim xWerte As Range, yWerte As Range

    Rem: Variabeln zum Definieren des benutzten Bereichs

    Dim lastRow As Integer, lastColumn As Integer, anzahlSpalten As Integer



    Dim kanton As Boolean '/ Variable zur Bestimmung ob Graphik Entwicklung pro Tiefe gemacht werden soll oder nicht

    Dim Scatter As Boolean '/ Variable zur Bestimmung ob Graphik pro Monat Scatter ist oder nicht



    Dim minScale As Double, maxScale As Double '/ Zum Skalieren der xAchse

    Rem: Löschen aller alten Graphiken, sicherheitshalber...

    Call grafiken_nach_quelle.grafiken_loeschen("Grafiken_Station_alle_VBA")



    Rem: Facts pro Station

    station = Sheets("Grafiken_Station_alle_VBA").Cells(2, 2)

    Call facts_pro_station.facts_pro_station(station, "Grafiken_Station_alle_VBA", 4, 1)



    Rem: Kopieren der entsprechenden Auswahl aus der Pivottabelle in die Hilfstabelle "Auswahl nicht als Pivot

    Call kopieren_auswahl(station)



    Rem: Graphik Profile alle

    With Sheets("Auswahl nicht als Pivot")

    lastRow = .Range("A65536").End(xlUp).Row

    lastColumn = .Range("IV" & 5).End(xlToLeft).Column

    End With

    Rem: Erstellen der Graphik

    Sheets("Grafiken_Station_alle_VBA").Activate

    Sheets("Grafiken_Station_alle_VBA").Shapes.AddChart.Select

    With Sheets("Auswahl nicht als Pivot")

    Rem: Bestimmen des Diagrammtyps (Punkte, Linie, Linie & Punkte)

    If Application.WorksheetFunction.CountA(.Range(.Cells(5, 1), .Cells(lastRow, 1))) = 1 Then

    Scatter = True

    ActiveChart.ChartType = xlXYScatter

    Else

    ActiveChart.ChartType = xlXYScatterSmoothNoMarkers

    End If

    For i = 2 To lastColumn

    If Application.WorksheetFunction.CountA(.Range(.Cells(5, i), .Cells(lastRow, i))) = 1 Then

    ActiveChart.ChartType = xlXYScatterSmooth

    Exit For

    End If

    Next i

    End With

    With ActiveChart



    For i = 2 To lastColumn

    Rem: Graphik

    legendm = Sheets("Auswahl nicht als Pivot").Cells(5, i).Value

    .SeriesCollection.NewSeries

    .SeriesCollection(i - 1).Name = legendm

    Set xWerte = Sheets("Auswahl nicht als Pivot").Cells(7, i)

    Set yWerte = Sheets("Auswahl nicht als Pivot").Cells(7, 1)

    For j = 8 To lastRow

    If Sheets("Auswahl nicht als Pivot").Cells(j, i) <> "" Then

    Set xWerte = Union(xWerte, Sheets("Auswahl nicht als Pivot").Cells(j, i))

    Set yWerte = Union(yWerte, Sheets("Auswahl nicht als Pivot").Cells(j, 1))

    End If

    Next j

    .SeriesCollection(i - 1).XValues = xWerte

    .SeriesCollection(i - 1).Values = yWerte

    Next i



    If Sheets("Grafiken_Station_alle_VBA").Cells(4, 2) = "x" And Sheets("Grafiken_Station_alle_VBA").Cells(3, 2) = "" And _

    Sheets("Grafiken_Station_alle_VBA").Cells(5, 2) = "" Then .SeriesCollection(lastColumn).Delete

    Rem: Formatieren der Graphik

    .Axes(xlValue, xlPrimary).HasTitle = True

    .Axes(xlValue, xlPrimary).AxisTitle.Text = "Tiefe [m]"

    .Axes(xlCategory, xlPrimary).HasTitle = True

    .Axes(xlCategory, xlPrimary).AxisTitle.Text = "Temperatur [°C]"



    .HasTitle = True



    titel = "Profile Station " & station

    .ChartTitle.Text = titel '<<<<< HIER KOMMT DIE FEHLERMELDUNG, OBWOHL 2 ZEILEN WEITER OBEN .HasTitle= True steht !?!



    minScale = Application.WorksheetFunction.min(Sheets("Auswahl nicht als Pivot").Range(Sheets("Auswahl nicht als Pivot").Cells(7, 2), Sheets("Auswahl nicht als Pivot").Cells(lastRow, lastColumn))) - 0.5

    .Axes(xlCategory).MinimumScale = minScale

    maxScale = Application.WorksheetFunction.max(Sheets("Auswahl nicht als Pivot").Range(Sheets("Auswahl nicht als Pivot").Cells(7, 2), Sheets("Auswahl nicht als Pivot").Cells(lastRow, lastColumn))) + 0.5

    .Axes(xlCategory).MaximumScale = maxScale



    Rem: Positionieren der Graphik

    .Parent.Left = 200

    .Parent.Top = 60



    End With

    Rem: Schauen ob es eine "kantonale" Station ist

    With Sheets("Grafiken_Station_Alle_Vba")

    If .Cells(3, 2) = "x" Then kanton = True

    End With



    Rem: Graphik Entwicklung pro Tiefe

    If kanton = True Then

    Call Entwicklung_pro_Tiefe(lastRow, lastColumn)

    Rem: Graphik Profile nach Monat

    Call Profil_Monat("10", anzahlSpalten, lastRow, lastColumn, station, Scatter) 'Oktober

    Call Profil_Monat("12", anzahlSpalten, lastRow, lastColumn, station, Scatter) 'Dezember

    Call Profil_Monat("02", anzahlSpalten, lastRow, lastColumn, station, Scatter) 'Februar

    Call Profil_Monat("04", anzahlSpalten, lastRow, lastColumn, station, Scatter) 'April

    End If

    End Sub
  3. Claus Busch Win User

    Loop Befehl in Zusammenhang mit Formel

    Hallo,



    wenn du das "No" in einer Formel eintragen willst, wird es in der Formel mit Anführungszeichen geschrieben. Deswegen muss es dann in VBA mit 2 Anführungzeichen geschrieben werden. Bei der Worksheetfunction fragst du nur den String "No" ab und da reichen
    dann einfache Anführungszeichen.

    Probiers mal so:

    Lrow48 = Sheets("Raw Data 48hrs").Cells(Rows.Count, 2).End(xlUp).Row

    With Sheets("FP")

    lrowfp = .Cells(.Rows.Count, 2).End(xlUp).Row

    For Each rngfp In .Range("D3:D" & lrowfp)

    rngfp.Value = WorksheetFunction.CountIfs(Sheets("Raw data 48hrs") _

    .Range("A2:A" & Lrow48), .Cells(rngfp.Row, 2), _

    Sheets("Raw Data 48hrs").Range("M2:M" & Lrow48), "No")

    Next

    End With



    Den Bezug, in den die Formel soll:

    sheets("Test").range("B1:B" & Lrow).formula="=(...)





    Mit freundlichen Grüßen

    Claus
  4. anton.rhx Win User

    Excel-VBA-Diagramme

    Vielen Dank für die Antwort-

    Ja, Windows 10. Die Datei ist zu umfangreich. Ich habe das Problem mit einem einfachen Beispiel illustriert.

    Codeausschnitt:

    Sub TestRH()

    Dim k As Integer, l As Integer

    Dim a As Double

    'Sheets("Arbeitsblatt").Activate

    Sheets("Arbeitsblatt").Activate

    With Sheets("Arbeitsblatt")

    For l = 1 To 60

    For k = 1 To 10

    .Cells(k, 1) = k

    .Cells(k, 2) = k * l + l

    Next k

    Diag

    'Sheets("Diagramm").Activate

    Next l

    End With

    End Sub

    Private Sub Diag()

    Sheets("Diagramm").Visible = True

    Sheets("Diagramm").Activate

    Sheets("Diagramm").Select

    End Sub

    Es sind 2 Blätter relevant, im"Arbeitsblatt" werden die Werte eingetragen, die im Sheet "Diagramm" als Quelldaten des Diagramms genutzt werden. Auch wenn man die erste For -Schleife ändert-es sind im Diagramm stets die Werte des letzten Durchgangs zu sehen
    (VBA-zu schnell für die Darstellung aller Zwischenwerte). Ich brauche eine zeitlich vorgegebene vba-Unterbrechung bei jedem Schl.-Durchgang.

    Manuell habe ich im Debugger einen Haltepunkt gesetzt. Wie kann ich das programmieren? Vielen Dank im voraus!
  5. Andreas Killer Win User

    Excel 2007 - Arbeitsblätter ausdrucken mittels VBA

    Vielleicht hast Du Namen in der Tabelle stehen die keiner Tabelle entsprechen?

    Oder keine Daten in einer der Tabellen?

    Oder eine der Tabellen ist unsichtbar?

    Oder...



    Mach mal eine neue Datei mit mindestens 2 Tabellen und führe dies Makro aus:



    Sub Test()

    Sheets(1).Range("A1") = 1

    Sheets(2).Range("A1") = 2

    Sheets(Array(Sheets(1).Name, Sheets(2).Name)).PrintPreview

    End Sub

    Geht einwandfrei, oder?



    Andreas.
  6. Dieter Mertes Win User

    Fehlermeldung in VBA wenn Code von Modul zu Modul kopiert werden soll

    Habe das Problem gelöst.

    Vorab vielen Dank für Eure Mühe.

    Hatte eine Mappe in der ich zu einem Sheet Bezüge in 4 anderen Sheets in Form von Übernahme reiner Zahlen hergestellt habe.

    Wenn ich die Zahlen im ersten Sheet änderte durch einkopieren einer Zahlenkolonne, änderten sich die Daten und Auswertungen entsprechend in den anderen Sheets.

    Dann habe ich mit neuen Ideen zur Auswertung mit "Speichern unter" weitere verschiedene Mappen eröffnet, dabei blieb das Ausgangssheet aber immer gleich und das zugehörige Macro für das Einfügen neuer Datenreihen auch.

    Hiermit habe ich offensichtlich VBA intern an seine Grenzen gebracht da wohl die Bezüge zu den ca. 10 Mappen erhalten wurden in denen immer dieses eine Sheet vorhanden war.

    Folge Bearbeitung des Macros nicht möglich. Fehlermeldungen für den Speicher innerhalb VBA Abstürze Wiederherstellungen.

    Ich habe dann als erstes das Ausgangssheet in den 2 Mappen die ich aktuell brauche vom Namen her geändert, bzw. in ein neues Sheet den Inhalt kopiert und das Alte gelöscht.Die anderen 8 Mappen, da sie keine Bedeutung mehr hatten gelöscht.

    Danach funktioniert es wieder.

    Um es deutlich zu machen: Der Bezug von Sheet zu Sheet war in der Zelle A1 = SheetxyA1

    keine Formel nur das übertragen einer Zahl.

    Man kann VBA wohl auch mit so einfachen Bezügen überlasten.

    Gruß

    Dieter
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

VBA 2 Sheets in 2 PDF's mit Auswahl - Microsoft Office

Die Seite wird geladen...

VBA 2 Sheets in 2 PDF's mit Auswahl - Similar Threads - VBA Sheets PDF's

Forum Datum

Crank 2 16,18 INDIZIERT gekauft. Kann die Version nicht auswählen.

Crank 2 16,18 INDIZIERT gekauft. Kann die Version nicht auswählen.: Hallo,ich habe soeben Crank 2 16,18+INDIZIERT im Microsoft Store gekauft. Wie kann ich die FSK Version auswählen?Danke im Voraus.
Apps 20. August 2023

Crank 2 16,18 INDIZIERT gekauft. Kann die Version nicht auswählen.

Crank 2 16,18 INDIZIERT gekauft. Kann die Version nicht auswählen.: Hallo,ich habe soeben Crank 2 16,18+INDIZIERT im Microsoft Store gekauft. Wie kann ich die FSK Version auswählen?Danke im Voraus.
Games und Spiele 20. August 2023

VBA Excel Datei über Userform auswählen

VBA Excel Datei über Userform auswählen: Hallo zusammen,ich komme bei folgendem Code nicht weiter.ich möchte anhand eines zugeordneten Pfades in einer Userform eine Datei zuerst aussuchen und dann abspeichernFolgende Fehlermeldung...
Microsoft Office 17. Dezember 2022

2. Domäne, 2 email adresse???

2. Domäne, 2 email adresse???: Ich habe mir mit Hilfe eines Mikrosoftmitarbeiters und viel Geduld eine 2. Domäne einrichten lassen. Nun hätte ich auch gern die dazugehörige e mail Adresse in meinem Exchange angemeldet. Ich...
Microsoft Office 11. Juli 2018

mehrere PDF's einfügen

mehrere PDF's einfügen: Seit kurzem kann ich auf meinem OneNote nicht mehr mehrere PDF's nacheinander einfügen. Wenn ich One Note öffne, kann ich das erste PDF einfügen. Versuche ich ein zweites PDF einzufügen,...
Microsoft Office 7. November 2017

Speichern als PDF - Auswahl Sheets

Speichern als PDF - Auswahl Sheets: Hallo zusammen, ich bin aktuell auf Office 365 und damit zu Excel (Office) 2016 gewechselt. Vorher habe ich 2010 verwendet. Im Menü "Datei" konnte ich bisher immer "Speichern als PDF" auswählen...
Microsoft Office 18. Januar 2017

2 Betriebssysteme beim Booten zur Auswahl - wie bekomme ich das weg?

2 Betriebssysteme beim Booten zur Auswahl - wie bekomme ich das weg?: Hi, hab ein Problem ;) Also ich hab schon seit einiger Zeit 2 Betriebssysteme beim Booten zur Auswahl. Beides Win7 und beides auf der gleichen Partition(C:). Naja eher angeblich, denn auf C: ist...
Problemlösungen 1. März 2010
VBA 2 Sheets in 2 PDF's mit Auswahl solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.