ich habe ein Makro entwickelt, welches eine bestimmte Range aus einer geöffneten Mappe in eine andere geöffnete Mappe überträgt.
Hierfür muss ich allerdings die genaue Anzahl der Zeilen manuell in eine Inbox eingeben, da ich ansonsten eine Fehlermeldung erhalte. Bsp: Es sind 1000 Zeilen vorhanden, ich tippe 1001 -> Fehler.
Aktuell schaue ich nun manuell nach, wie viele Zeile die Liste hat und trage es dann ein.
Hat jemand hierfür eine schönere Lösung? Z.B. die Anzahl über eine Msgbox ausgeben zu lassen, oder sie in einer Zelle als Variable zu speichern?
Die Zeilen sind übrigens nicht durchgehend gefüllt.
So habe ich es bereits probiert, mit dem Ergebnis, dass das Makro die Zeilenzahl der falschen Mappe ausliest, wenn ich es über einen CommandButton und nicht über die Entwicklungsumgebung starte. Die "richtige" Mappe wird nur ausgelesen, wenn ich vorher explizit mit der Maus reinklicke.
Vielen Dank schon Mal.
Grüße Laura :)
Sub rng()
Dim wb As Workbook
Dim x, n As Integer
Dim Name, wb1 As String
Dim vEingabe As String
Dim iA As Double
Dim iRange As Integer
' wb1 = ActiveWorkbook.Name
x = 0
For Each wb In Application.Workbooks
Name = wb.FullName
If InStr(1, Name, "NA nach ZP 15") > 0 Then
x = 1
Name = Right(Name, Len(Name) - InStr(1, Name, "NA nach ZP 15") + 1)
With Workbooks(Name)
iA = WorksheetFunction.CountA(Range("A:A"))
iRange = iA + 3
MsgBox ("Wert " & iRange)
End With
GoTo Namegefunden
End If
Next
Namegefunden:
If x = 1 Then
Exit Sub
End If
End Sub