Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1380to1384
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
Inhaltsverzeichnis

Aktionen der Fehlerprüfung per VBA auslösen?

Aktionen der Fehlerprüfung per VBA auslösen?
19.09.2014 10:58:05
Mirko
Hallo Forum,
nach dem ich hier schon sehr wertvolle Tipps und Anregungen bekommen habe, stellt sich mir nun eine Frage die ich nicht beantworten konnte.
Ich habe eine Tabelle mit zwei Datenblättern (sind eigentlich noch mehr, aber spielt bei dem Problem keine Rolle). In Tabelle2 sind Daten, in Tabelle1!E4:E8 ein paar Formeln die da was auswerten (Min, Max usw - nichts aufregendes).
Jetzt habe ich ein Makro, das ein neues Tabellenblatt erstellt, da auch Daten aus einem SQL Server reinschreibt, und in Tabelle1!F4:F9 die Formeln aus E kopiert. Es wird dann lediglich der Name der Zieltabelle in der Formel ausgelesen, und durch den Namen der neuen Tabelle ersetzt.
Funktioniert wunder, nun zur eigentlich Frage.
Da die Daten in Tabelle2 und Tabelle3 unterschiedlich viele Zeilen haben, meckert die Fehlerprüfung völlig zu recht das nicht alle angrenzenden Zellen eingeschlossen sind. Außerdem schlägt das Menü dem User vor, den Bereich zu erweitern. Die Frage ist, ob ich diese vorgeschlagene Aktion per VBA auslösen kann? Ist nämlich genau was ich brauche...
Alternativ kann ich das auch nach-programmieren, aber vielleicht gibt es ja eine elegantere Lösung.
Vielen Dank im Voraus und viele Grüße aus Hamburg,
Mirko

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktionen der Fehlerprüfung per VBA auslösen?
19.09.2014 13:18:50
fcs
Hallo Mirko,
ich würde die Formeln direkt vom Makro einfügen lassen, wobei der Blattname und die Nummer der letzten Zeile in den Formeln dynamisch angepasst werden.
Die VBA-Syntax der Formeln kannst du ja mit dem Makrorekorder aufzeichen.
Gruß
Franz
Sub TestMakro()
Dim wks As Worksheet, Zeile_L As Long
Dim wks1 As Worksheet, Spalte_L As Long, strFormel As String
With ActiveWorkbook
'neues Tabellenblatt einfügen
.Worksheets.Add after:=.Sheets(.Sheets.Count)
Set wks = ActiveSheet
'... Code zum Einfügen der Daten
'letzte Datenzeile ermitteln
Zeile_L = wks.UsedRange.Row + wks.UsedRange.Rows.Count - 1
End With
' Formeln in Tabelle1 einfügen
Set wks1 = ActiveWorkbook.Worksheets("Tabelle1")
With wks1
'nächste freie Spalte in Zeile 4
Spalte_L = .Cells(4, .Columns.Count).End(xlToLeft).Column + 1
strFormel = "=MAX('" & wks.Name & "'!R2C3:R" & Zeile_L & "C3)"
.Cells(4, Spalte_L).FormulaR1C1 = strFormel
strFormel = "=MIN('" & wks.Name & "'!R2C3:R" & Zeile_L & "C3)"
.Cells(5, Spalte_L).FormulaR1C1 = strFormel
strFormel = "=AVERAGE('" & wks.Name & "'!R2C3:R" & Zeile_L & "C3)"
.Cells(6, Spalte_L).FormulaR1C1 = strFormel
strFormel = "=SUM('" & wks.Name & "'!R2C3:R" & Zeile_L & "C3)"
.Cells(7, Spalte_L).FormulaR1C1 = strFormel
strFormel = "=SUM('" & wks.Name & "'!R2C4:R" & Zeile_L & "C4)"
.Cells(8, Spalte_L).FormulaR1C1 = strFormel
strFormel = "=SUM('" & wks.Name & "'!R2C6:R" & Zeile_L & "C6)"
.Cells(9, Spalte_L).FormulaR1C1 = strFormel
End With
End Sub

Anzeige
AW: Aktionen der Fehlerprüfung per VBA auslösen?
19.09.2014 13:34:51
Mirko
Hallo Franz,
die Formeln mit VBA zu erzeugen ist ein interessanter Ansatz, das habe ich nicht gemacht weil es eine "Master" Tabelle gibt die als Kopiervorlage dient. Der User soll die Möglichkeit haben hier eigene Formeln einzubauen (und Formate etc) die dann auch auf den Kopien erscheinen.
Aber ich denke mal drüber nach wie man das evt. geschickter machen kann!
Ich verstehe deine Antwort weiter so, das es wohl keine Möglichkeit gibt die vorgeschlagene Funktion dieses Fehlerobjekts auszuführen.
Dann mache ich das selber, ist halt mehr aufwendig als Kompliziert.
Vielen Dank für deine Mühen!
Gruß,
Mirko
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige