Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1700to1704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Excel VBA bestimmten Bereich markieren
01.07.2019 13:27:27
Dirk
Liebe Forum Gemeinde,
ich muss einem Makro sagen, das bei jeder Ausführung immer, ausgehend von Zelle A2,sechs Spalten nach rechts und acht Zeilen nach unten ausgewählt werden und diese als Screenshot in Outlook übertragen werden sollen.
Soweit bin ich schon. In Zeile drei fehlt mit Sicherheit etwas, aber was?!
Sheets("2019_Urlaubsplan_KDV").Select
Range("A2").Select
ActiveCell.Offset(20, 6).Select (?)
Range("A2:G10").CopyPicture xlScreen, xlBitmap
Dim oApp As Object
Rest funktioniert, außer der Auswahl des Zellbereichs. Hintergrund für den relativen Verweis ist, das regelmäßig Spalten gruppiert werden. Vielleicht ist
das wichtig?!
Danke für Eure Hilfe. Gruß Dirk

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA bestimmten Bereich markieren
01.07.2019 13:39:08
Torsten
Warum so umstaendlich? Wenn es immer A2:G10 ist dann:
With Sheets("2019_Urlaubsplan_KDV")
.Range("A2:G10").CopyPicture xlScreen, xlBitmap
End With
Gruss Torsten
AW: Excel VBA bestimmten Bereich markieren
01.07.2019 13:40:19
Torsten
oder besser:

With Sheets("2019_Urlaubsplan_KDV").Range("A2:G10")
.CopyPicture xlScreen, xlBitmap
End With

AW: Excel VBA bestimmten Bereich markieren
01.07.2019 14:51:48
Dirk
Hallo Torsten,
vielen Dank schon einmal für Deine Antwort. Das Problem ist, das die Spalten B-G im Anschluss an meine Prozedur gruppiert werden. Der Bereich ist daher nicht mehr A2:G10, sondern A2:10 und H2:N10. Beim nächsten Mal verschiebt sich der zweite Teil (H2:N10) wieder auf O2:U10 usw.
Mein Code sieht jetzt so aus:
Sub CommandButton3_Click()
Sheets("2019_Urlaubsplan_KDV").Select
ActiveSheet.Range(Cells(2, 1), Cells(10, 7)).Select
ActiveSheet.Range(Cells(2, 1), Cells(10, 7)).CopyPicture xlScreen, xlBitmap
Dim oApp As Object
Set oApp = CreateObject("Outlook.Application")
On Error Resume Next
With oApp.CreateItem(0)
Application.Wait 1
.To = "Muster@web.de"
.Subject = "Wochenplanung"
.Body = "Gruß"
.Display
SendKeys "{END}", True
SendKeys "~", True
SendKeys "^v", True
SendKeys "~", True
.GetInspector 'fügt die Standart-Signatur an
End With
On Error GoTo 0
Set oApp = Nothing
Range("A2").Select
End Sub
Ich hatte gedacht mit den Range Verweisen, das Problem gelöst zu bekommen, aber das klappt auch nicht.
Noch eine Idee? Danke im Voraus.
Gruß
Dirk
Anzeige
AW: Excel VBA bestimmten Bereich markieren
02.07.2019 08:58:26
Torsten
Hallo Dirk,
Sorry. Konnte gestern nicht mehr weiter machen.
Also wenn ich das richtig verstehe, werden nach dem Kopieren als Bild und einfuegen in die Email diese Zeilen und Spalten ausgeblendet. Also muss man nach der ersten nicht ausgeblendeten Zeile und Spalte suchen und dann von dort aus 10 nach unten und 7 nach rechts kopieren usw.?
Wenn das so richtig ist, dann versuch mal folgendes:

Sub CommandButton3_Click()
Dim intRow As Long, intCol As Long
With Sheets("2019_Urlaubsplan_KDV")
intRow = 1
Do Until Rows(intRow).Hidden = False
intRow = intRow + 1
If intRow = 65536 Then Exit Sub
Loop
intCol = 1
Do Until Columns(intCol).EntireColumn.Hidden = False
intCol = intCol + 1
If intCol = 256 Then Exit Sub
Loop
.Range(Cells(intRow, intCol), Cells(intRow, intCol).Offset(10, 7)).CopyPicture xlScreen,  _
xlBitmap
End With
Dim oApp As Object
Set oApp = CreateObject("Outlook.Application")
On Error Resume Next
With oApp.CreateItem(0)
Application.Wait 1
.To = "Muster@web.de"
.Subject = "Wochenplanung"
.Body = "Gruß"
.Display
SendKeys "{END}", True
SendKeys "~", True
SendKeys "^v", True
SendKeys "~", True
.GetInspector 'fügt die Standart-Signatur an
End With
On Error GoTo 0
Set oApp = Nothing
End Sub
Gruss Torsten
Anzeige
AW: Excel VBA bestimmten Bereich markieren
02.07.2019 09:28:30
Dirk
Hallo Torsten,
kein Problem und ich bin ja dankbar über Deine Hilfe.
Leider funktioniert es so noch nicht.
Ausgeblendet/Gruppiert werden nach dem Screenshot und einfügen in die E-Mail nur Spalten, keine Zeilen! Ich muss wöchentlich, immer für eine Woche im voraus, einen Dienstplan versenden. Im Anschluss wird diese Woche dann ausgeblendet oder gruppiert - beides ist möglich. Beim nächsten Mal soll wieder 7 Tage im voraus markiert und als Screenshot in Outlook eingefügt werden.
Mit Deinem Code markiert er derzeit beim zweiten Mal nur bis einschließlich Montag, Spalte H (Datum 07.01.)! Spalten B-G (Datum 01.-06.01.19) sind gruppiert/ausgeblendet.
Danke im Voraus und ich hoffe ich konnte mein Problem verständlich formulieren und Du kannst
mir weiterhelfen.
Gruß
Dirk
Anzeige
AW: Excel VBA bestimmten Bereich markieren
02.07.2019 11:06:21
Torsten
Hallo Dirk,
ich komm nicht so ganz dahinter, wie die Tabelle genau aussieht. Kannst du mir mal eine Beispieldatei hochladen? ist einfacher, daran zu arbeiten und auszuprobieren.
Gruss
AW: Excel VBA bestimmten Bereich markieren
02.07.2019 12:05:46
Dirk
Hallo Torsten,
klar, ein Beispiel habe ich hochgeladen. Ist mein erster Versuch, ich hoffe das funktioniert so:https://www.herber.de/bbs/user/130692.xlsx.
Versand erfolgt immer pro Kalenderwoche. Diese wird im Anschluss ausgeblendet/gruppiert. Nächste Woche dann wieder Versand für die nächste Kalenderwoche usw.
Danke für Deine Hilfe.
Gruß
Dirk
AW: Excel VBA bestimmten Bereich markieren
02.07.2019 12:08:24
Torsten
Hallo nochmal,
noch ne kleine Farge. Soll die Spalte A jedesmal mit kopiert werden?
Anzeige
AW: Excel VBA bestimmten Bereich markieren
02.07.2019 12:36:08
Dirk
Ja, bitte. Spalte A mit den Namen soll mitkopiert werden.
AW: Excel VBA bestimmten Bereich markieren
02.07.2019 12:46:15
Torsten
Und da wirds schwierig. Dann musste man 2 Bilder kopieren und einfuegen
AW: Excel VBA bestimmten Bereich markieren
02.07.2019 13:44:34
Dirk
Wäre nicht ganz so dramatisch. Weißt Du ob man mit VBA auch das Snipping tool ansprechen kann? Wäre das keine Alternative? Aber dann müsste man auch festlegen welcher Bereich "ausgeschnitten" werden sollte...
Kriegst Du das hin mit dem Code und zwei Bildern?
AW: Excel VBA bestimmten Bereich markieren
02.07.2019 15:43:24
Torsten
Hallo Dirk,
ja ich habs hinbekommen. War zwar nicht so einfach, aber es funktioniert. Musste allerding ein leeres Tabellenblatt ("Zwischenablage") zur Hilfe nehmen. Das musst du halt in deiner Originaldatei anlegen und die Spaltenbreiten genauso festlegen, wie in der Ausgangstabelle ("2019_Urlaubsplan_KDV"). Das Blatt kannst du aber ausblenden, wenn du willst, wenn es niemand sehen soll. Wird eh immer leer sein, da nach dem Einfuegen in die Email die Bilder (kurzzeitig dort hinterlegt, um das Gesamtbild zu erstellen) sofort wieder geloescht werden.
Die Tabellenblattnamen musst du dann wieder anpassen.
Gruss Torsten
Hier die Datei. Code im Module2
https://www.herber.de/bbs/user/130697.xlsm
Anzeige
AW: Excel VBA bestimmten Bereich markieren
03.07.2019 11:37:28
Dirk
Hallo Torsten,
großartig, einfach großartig. Ich danke Dir.
Gruß
Dirk
gerne...
03.07.2019 12:52:31
Torsten
und danke fuer die Rueckmeldung.
Viel Spass.
Gruss Torsten

39 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige