Posts

Es werden Posts vom Oktober, 2012 angezeigt.

Datei oder Ordner vorhanden - Internet...

Frage: In Spalte A habe ich eine Liste von Dateilinks z. B.
"http://vbanet.blogspot.de/2012/10/range-als-pdf-speichern-mit.html"
bzw. auch Ordner
"http://vbanet.blogspot.de/2012/10/".
Jetzt hätte ich gerne in Spalte B stehen, ob die Dateien bzw. Ordner vorhanden sind, oder nicht. Wie geht das?

Hier noch eine Beispieldatei: Datei oder Ordner vorhanden - Internet...

OptionExplicit'-------------------------------------------------------------------------- ' Module : Modul1 ' Procedure : Main ' Author : Case (Ralf Stolzenburg) ' Date : 31.10.2012 ' Purpose : Datei oder Ordner vorhanden - Internet... '-------------------------------------------------------------------------- PublicSub Main() Call CheckRange(Tabelle1.Range("A1:A12")) EndSubPrivateSub CheckRange(ByVal rngRange As Range) Dim objXML AsObjectDim rngCell As Range OnErrorGoTo Fin Set objXML = CreateObject("Microsoft.XMLHTTP") ForEa…

Range als PDF speichern mit Auswahldialog...

Frage: Zwei Dinge. Einmal kann ein Range in ein PDF gespeichert werden. Mit Auswahldialog zum speichern (Das ist in "Private Sub CommandButton1_Click()" gelöst). Die PDF - Datei soll dann angezeigt werden.

Dann wird es aber schwieriger. Die PDF - Datei soll erst 5 Sekunden angezeigt werden, dann soll die Nachfrage kommen, ob gespeichert werden soll, oder nicht. Bei Nein wird die temporäre Datei (ist im Tempordner) vom PC gelöscht. Bei Ja kommt der Speicherdialog. Das ist in "Private Sub CommandButton2_Click()" gelöst.

Hier noch eine Beispieldatei: Range als PDF speichern mit Auswahldialog...

Code in das Klassenmodul der Tabelle in der die CommandButton sind:

OptionExplicitPrivateDeclareFunction FindWindow Lib"user32"Alias"FindWindowA" _ (ByVal lpClassName AsString, ByVal lpWindowName AsString) AsLongPrivateDeclareFunction SetForegroundWindow Lib"user32" _ (ByVal hwnd AsLong) AsLong'-------------------------------------------…

Viele Tabellenblätter - Viele Zellen - Gesamtübersicht

Frage: Aus sehr vielen Tabellenblättern sollen sehr viele Zellen in ein neu zu erstellendes Tabellenblatt gebracht werden. Die Zellen sind "A2, B11, G11, M11, B19, G19, M19, B28, G28, M28, B34, G34, M34, B41, G41, M41". Wie geht das?

Ein neues Tabellenblatt wird erstellt und bekommt den Namen "Gesamt".

Hier noch eine Beispieldatei mit 160 Tabellenblätter:
Viele Tabellenblätter - Viele Zellen - Gesamtübersicht... [ZIP 6 MB]

OptionExplicit'-------------------------------------------------------------------------- ' Module : Modul1 ' Procedure : Main ' Author : Case (Ralf Stolzenburg) ' Date : 30.10.2012 ' Purpose : Array - Viele Tabellenblätter - Zellen - Gesamtübersicht '-------------------------------------------------------------------------- PublicSub Main() ' Variablendeklaration Dim wksSheetAll As Worksheet Dim wksSheet As Worksheet Dim varArr() AsVariantDim intCount AsIntegerDim strCells AsStringDim lngLas…

Excel -> Word in Textmarken (Bookmarks)...

Frage: In meiner Exceltabelle habe ich verschiedene Zellen, deren Inhalt in eine bestehende Worddatei mit vorhandenen Textmarken (Bookmarks) eingefügt werden soll. Kann auch ein Bereich als Bild gespeichert werden? Oder auch einfach rüberkopiert werden? Dann noch ein Speicherndialog?

In der gezippten Beispieldatei ist ein Exceldokument und zwei Worddokumente. Die Worddokumente sind identisch - eines nur als Sicherung.

Hier noch eine Beispieldatei: Daten von Excel nach Word in Textmarken (Bookmarks)...

OptionExplicit' Namen der Textmarken im Worddokument Const strBookmark1 AsString = "Name"Const strBookmark2 AsString = "Strasse"Const strBookmark3 AsString = "PLZ"Const strBookmark4 AsString = "Ort"Const strBookmark5 AsString = "Betreff"Const strBookmark6 AsString = "Wertetabelle"Const strBookmark7 AsString = "Wertetabelle1"' Konstante für den Speichern-Unter Dialog in Word Const wdDialogFileSaveAs = 84' Wen…

Alle Tabellenblätter - Druckbereich - neue Datei...

Frage: In meiner Datei habe ich viele Tabellenblätter die alle gleich aufgebaut sind. Alle bis auf das letzte Blatt (das ist eine Zusammenfassung) haben einen Druckbereich. Da in den anderen Bereichen sensible Daten stehen möchte ich von allen Tabellenblättern nur den Druckbereich in eine neue Datei kopieren. Jeweils auch in ein eigenes Blatt - welches den gleichen Namen wie das Ursprungstabellenblatt haben soll. Es sind auch Formeln vorhanden - diese sollen im neuen Tabellenblatt nicht mehr vorhanden sein. Am Schluss soll ein Speicherdialog aufgerufen werden mit vorgeschlagenem Verzeichnis (das gleiche wie die Originaldatei) und einem Namen mit Zusatz vom aktuellen Datum plus Uhrzeit - wie geht das?

Hier noch eine Beispieldatei: Alle Tabellenblaetter - Druckbereich - neue Datei...

OptionExplicitConst strTMP AsString = "backup"'-------------------------------------------------------------------------- ' Module : Modul1 ' Procedure : Main ' Author : Case …

Shape - AddConnector - Verbindung - Code...

Frage: Kann mir mal jemand grundsätzlich die Vorgehensweise beim einfügen von "Connectoren" per VBA aufzeigen? Und wie kann ich zwei "Shapes" mit einem Connector verbinden?

Dann würde mich noch interessieren, wie ich ein Makro auslösen kann, wenn ich auf einen der erstellten "Connectoren" klicke?

Hier noch eine Beispieldatei: Shape - AddConnector - Verbindung...

OptionExplicitConst lngColumn AsLong = 5Const lngRow AsLong = 4'-------------------------------------------------------------------------- ' Module : Module1 ' Procedure : Main ' Author : Case (Ralf Stolzenburg) ' Date : 16.10.2012 ' Purpose : Shapes.AddConnector Beispiel MIT Code bei Klick auf Linie... '-------------------------------------------------------------------------- Sub Main() Dim wksSheet As Worksheet Dim intCount AsIntegerDim shpObject As Shape OnErrorGoTo Fin Set wksSheet = ThisWorkbook.Worksheets("Sheet1") ForEac…

Klick Zelle - gehe zu anderer Tabelle richtige Zelle

Frage: In Sheet1 habe ich in Spalte L Namen stehen. Klicke ich einen Namen an, soll zu Sheet2 in Spalte A in die entsprechende Zelle gesprungen werden. Wie geht das?

Hier noch eine Beispieldatei: Worksheet_SelectionChange - Klick - Zelle andere Tabelle...

OptionExplicit'-------------------------------------------------------------------------- ' Module : Sheet1 ' Procedure : Worksheet_SelectionChange ' Author : Case (Ralf Stolzenburg) ' Date : 15.10.2012 ' Purpose : Klick Zelle - gehe zu anderer Tabelle richtige Zelle... '-------------------------------------------------------------------------- PrivateSub Worksheet_SelectionChange(ByVal Target As Range) Dim varRow AsVariantIfNot Intersect(Target, Columns(12)) IsNothingThenIfNot Target.Count > 1ThenWith ThisWorkbook.Worksheets("Sheet2") varRow = Application.Match(Target.Value, .Columns(1), 0) IfNot IsError(varRow) Then _ Applic…

Outlook - Ordner unter Posteingang erstellen...

Frage: Ich möchte aus Excel per VBA einen Ordner in Outlook unter "Posteingang" erstellen. Wie geht das?

OptionExplicit'-------------------------------------------------------------------------- ' Module : Module1 ' Procedure : Main ' Author : Case (Ralf Stolzenburg) ' Date : 15.10.2012 ' Purpose : Outlook - Ordner unter "Posteingang" erstellen... '-------------------------------------------------------------------------- Sub Main() Dim objNewFolder AsObjectDim objFolder AsObjectDim objOutApp AsObjectDim objName AsObjectOnErrorGoTo Fin Set objOutApp = CreateObject("Outlook.Application") Set objName = objOutApp.GetNamespace("MAPI") ' 6 = olFolderInbox Set objFolder = objName.GetDefaultFolder(6) Set objNewFolder = objFolder.Folders.Add("Test") Fin: If Err.Number <> 0Then MsgBox "Fehler: " & _ Err.Number & " " & Err.Descriptio…

Geschlossene Dateien bestimmte Zellen auslesen

Frage: In eine Masterdatei sollen der Inhalt von 4 bestimmten Zellen aus allen Dateien eines Ordners (Optional mit Unterordner) eingelesen werden. Der Pfad- und Dateiname soll in der ersten Spalte als Kommentar eingefügt werden. Wie geht das?

Hier noch eine Beispieldatei: Geschlossene Dateien bestimmte Zellen auslesen...

OptionExplicitConst strSheetQ AsString = "Sheet1"' Die Tabelle wird ausgelesen Const strSheetZ AsString = "Total"' Die Tabelle ist in DIESER Datei Const strCellQ1 AsString = "A1"' Die Zelle wird ausgelesen Const strCellQ2 AsString = "A5"' Die Zelle wird ausgelesen Const strCellQ3 AsString = "B8"' Die Zelle wird ausgelesen Const strCellQ4 AsString = "C20"' Die Zelle wird ausgelesen '-------------------------------------------------------------------------- ' Module : Module1 ' Procedure : Files_Read ' Author : Case (Ralf Stolzenburg) ' Date : 10.10.2012 …

Ein Tabellenblatt für jeden Tag des Jahres...

Frage: Ich habe eine Datei mit einem Tabellenblatt. In A1 steht "01.01.2013". Nun soll für jeden Tag des Jahres ein Tabellenblatt erstellt werden. Schaltjahr soll berücksichtigt werden. Der Name des Tabellenblattes und der Inhalt von jeweils A1 ist das Datum des entsprechenden Tages. Wie geht das?

ACHTUNG: Bitte berücksichtigen:
Hinweis - Workaround...

Hier noch eine Beispieldatei: Tabellenblatt - jeder Tag - Jahr...

OptionExplicit'-------------------------------------------------------------------------- ' Module : Module1 ' Procedure : Main ' Author : Case (Ralf Stolzenburg) ' Date : 08.10.2012 ' Purpose : Tabellenblaetter für jeden Tag des Jahres erstellen '-------------------------------------------------------------------------- PublicSub Main() Dim intDays AsIntegerDim datDate As DateDim lngCal AsLongOnErrorGoTo Fin With Application .ScreenUpdating = False .AskToUpdateLinks = False .EnableEvents = Fa…

UserForm - Suchen - Ändern - Schreiben...

Frage: In Sheet2 habe ich in Spalte AIndexnummern und in den Spalten B-D dazugehörige Informationen. Über eine UserForm würde ich nun gerne in einem Textfeld eine Indexnummer eingeben und in den anderen drei Textfeldern sollen dann die entsprechenden Werte dazu angezeigt werden.

In TextBox1 soll man nur Zahlen eingeben können.

Ist die Indexnummer nicht vorhanden, soll eine Neueingabe möglich sein. TextBox1 und TextBox2 müssen ausgefüllt sein - sonst Meldung. Dann Eingabe der Werte in die erste freie Zeile in Sheet2. Wie geht das?

Hier noch eine Beispieldatei: UserForm - Suchen - Eingabe - Ändern...

Code gehört in den Codebereich der UserForm (4TextBoxen und 1CommandButton):

Option Explicit'--------------------------------------------------------------------------' Module : UserForm1' Procedure : TextBox1_Change' Author : Case (Ralf Stolzenburg)' Date : 06.10.2012' Purpose : UserForm TextBox Search Change...'--------------------------------------…