Makro zur Bestimmung der Entfernung funktioniert nicht

1 Antwort

Dieser Code ist mir im Einzelnen zu hoch, aber soweit ich das beim drüberlesen sehe, musst Du arrT als arrT() dimensionieren (sonst "weiß" VBA nicht, dass das eine Matrix/ein Vektor sein soll) und evtl später per redim arrT(i'was) in der Dimensionszahl und Länge neu bestimmen, wenn weitere Parameter feststehen. 

Ausserdem muss da noch eine Fortsetzung sein, das ist klar. Ist ja nicht abgeschlossen.

Ansonsten: k.A.!


Laufzeitfehler 429 in VBA (Excel Makro)?

Hallo!

Zurzeit versuche ich mich an VBA. Ich habe ein Makro erstellt, dass aus einer Excel Tabelle z.B. eine Rechnung erstellt ( durch befüllen der Texftfelder einer Vorlage )

Nun wollte ich das Makro so umändern, dass automatisch der richtige Pfad zum Speichern bzw Öffnen der Vorlage, für den jeweiligen Windows Nutzer benutzt wird. ( Das habe ich mithilfe von Workbook.Path gemacht.

Allerdings gibt er mir jetzt immer Laufzeitfehler 429 aus und ich weiß nicht was zu tun ist.

Bitte helft mir. ( Office und Word sind up to date )

Grüße

Chris

Hier mein Code: https://paste2.org/E8ZmvBXk

...zur Frage

Hallo zusammen! Wie benenne ich Tabellenblätter automatisch nach einem Zelleninhalt mit einem Makro um welche ich aus einer anderen Datei kopiert habe?

Folgender Sachverhalt:

ich bekomme von verschiedenen Personen eine gleich formatierte Tabelle als Datei mit jeweils unterschiedlichen Werten. Diese Dateien werden per Makro in meine Datei als neues Tabellenblatt kopiert. Die Inhalte werden dann addiert und in einer Tabelle zusammengefasst. Dies alles funktioniert schon.

Mein Anliegen beschränkt sich lediglich auf die Umbenennung der kopierten Tabellenblätter auf den Inhalt der Zelle C 2. Sobald eine Datei als neues Tabellenblatt eingefügt wird soll dieses automatisch nach dem Inhalt der Zelle C2 umbenannt werden.

Mit folgendem Makro werden die Dateien eingefügt

Sub AlleSheetsAusAllenGewaehltenMappenInEineMappeZusammenfuegen()

Application.ScreenUpdating = False

Dim vntPathAndFileNames As Variant Dim strPathAndFile As String Dim lngI As Long Dim wbkMappe As Workbook Dim wksT As Worksheet Dim wbkZiel As Workbook

Set wbkZiel = ThisWorkbook

vntPathAndFileNames = Application.GetOpenFilename( _ Title:="Meine Dateien Mit gedrückter Strg Taste markieren!", _ MultiSelect:=True) If VarType(vntPathAndFileNames) = vbBoolean Then MsgBox "Keine Dateien ausgewählt! Einlesen wurde abgebrochen!" Else For lngI = LBound(vntPathAndFileNames) To UBound(vntPathAndFileNames) strPathAndFile = vntPathAndFileNames(lngI) Set wbkMappe = Application.Workbooks.Open(strPathAndFile) For Each wksT In wbkMappe.Worksheets wksT.Copy wbkZiel.Worksheets(wbkZiel.Worksheets.Count) Next wbkMappe.Close False Range("A1").Select

Next End If

Application.ScreenUpdating = True

End Sub

Bisher bin ich immer gescheitert und habe auch in diversen Foren nichts passendes gefunden.

Kann mir wer helfen?

Vielen Dank schonmal!

...zur Frage

Wie durchsuche ich meine Excel Datei nach bestimmten Wörtern pro Spalte, um bei der Dateneingabe und der Suche nach der richtigen Excelzeile Zeit zu sparen?

Meine Datentabllen wachsen und wachsen. Dennoch möchte ich die gesuchte Excel Zeile möglichst schnell finden.

Ich hatte hierfür schonmal eine Suchzeile, inder mir die Zeile mit dem Wert ausgegeben wird, welche ich für die erste Spalte als Vergleich gesucht habe.


=WENNFEHLER(INDEX($A$2:$Z$4400;VERGLEICH($AC$4;$A$2:$A$4400;0);VERGLEICH(AE$2;$A$1:$Z$1;0));"Gib in AC4 einen Wort ein!")

Also kurz erklärt, In AC4 gibt man den gesuchten Wortlaut an. In AE2 ist die varilable Beschriftung der zu durchsuchenden Spalte.

Nun möchte ich, dass in der ersten zu durchsuchenden Spalte (das Wort wird in AC4 angegeben) nach dem Wort auch innerhalb der Zelle gesucht wird. Eignet sich zB für Doppelnamen und man nur nach einem Suchen kann, weil der zweite im Schreiben nicht erwähnt ist. Es sollte ein Treffen mit dem vollständigen Inhalt der gefundenen Zelle ausgegeben werden.

Die darauf folgende Formel rechts nebendran ließt jetzt aus Zelle AC5 einen weiteren Wortteil heraus, welcher in der gleichen Zeile existieren muss wie der Wortteil aus AC4. Somit muss durch die Eingabe in Zelle AC5 (falls FALSCH) die Tabelle weiter durchsucht werden nach dem gleichen Prinzip.

Am Ende der Suchspalte ist dann ein variabler Hyperlink der mich direkt zur passenden Zeile führt, nachden ich bestätigen kann, dass es bei den angezeigten Angaben sich um den richtigen Datenzeilensatz handelt.

Theoretisch gelaube ich schon, dass das mit Excel möglich ist. Bloß ich weiß es einfach nicht :(

Vielen Lieben Dank Für Deine Hilfe !!!

Diese Paar Codezeilen würden mir Stunden an Arbeit in Zukunft sparen :)

...zur Frage

Excel: Variable in Range() übergeben

Folgendes Problem bei diesem Code in Excel:

Dim Stammverzeichnis As String
Dim Kreditnehmer As String
Dim Pfad As String

Stammverzeichnis = "J25"
Kreditnehmer = "B5"

Pfad = Range(Stammverzeichnis).Value & Range(Kreditnehmer ).Value & ".png"

Leider wird mir ein Error dabei angezeigt: Anwendungs- oder objektdefinierter Fehler

...zur Frage

VBA: Verschiedene Formel je Bedingung?

Ich sitze leider schon länger dran aber mittlerweile habe ich ein Brett vor dem Kopf.

Ich versuche meine Frage mal wie folgt zu beschreiben:

Wenn in Spalte P Ein Eintrag Namens "Hans" Vorhanden ist, so soll in Spalte AF eine Formel A hintelegt werden.
Bei anderen Einträgen in Spalte P wird Formel B hinterlegt.

Ich schaffe es, die Formel A einzutragen und sie Funktioniert auch, aber Formel B wird komplett ignoriert, obwohl in Spalte P andere Namens als Hans erscheinen.

'Dim Ende As Long
'ActiveSheet.UsedRange.AutoFilter Field:=16, Criteria1:="HANS"
'Range("AF2").FormulaLocal = "=WENN(HEUTE()-AE2<=40;""OK"";""P"")"
'Ende = Cells.SpecialCells(xlCellTypeLastCell).Row
'Range("AF2").AutoFill Destination:=Range("AF2:AF" & Ende), Type:=xlFillDefault

'ActiveSheet.UsedRange.AutoFilter Field:=16, Criteria1:="<>HANS"
'Range("AF2").FormulaLocal = "=WENN(HEUTE()-AE2<=30;""OK"";""P"")"
'Ende = Cells.SpecialCells(xlCellTypeLastCell).Row
'Range("AF2").AutoFill Destination:=Range("AF2:AF" & Ende), Type:=xlFillDefault

Vorab lieben Dank und

Viele Grüße

...zur Frage

UserForm Textboxen mit Werten aus Excel Datei füllen?

Ich habe eine Excel Datei, die mittels Makro mit Werten befüllt wird.

Dasselbe Makro soll nun eine bestimmte Spalte der Datei durchlaufen und dann mittels Schleife alle TextBoxen der UserForm mit diesen Werten füllen.

Mein Versuch dazu:

  Dim i As Byte
  Dim currentName As String

For i = 1 To 10

    currentName = sheet.Cells(i, "H").Value
    

    UserForm1.Controls("TextBox" & CStr(i)).Value = currentName

Next

Funktioniert leider nicht. Muss ich bei der Initialisierung der UserForm oder der TextBoxen noch was beachten?

Fehlermeldung: Laufzeitfehler 91: Objektvariable oder With-Blockvariable nicht festgelegt.

Folgende Zeile wird markiert:

UserForm1.Controls("TextBox" & CStr(i)).Value = currentName
...zur Frage

Was möchtest Du wissen?