Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1588to1592
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
Aus anderer offenen (!) Tabelle kopieren
30.10.2017 17:52:44
Barbaraa
Hallo
Ich würde gerne ein Makro schreiben, das den Wert aus A1 des Blatts "Tabelle1" einer nebenbei geöffneten Datei in B2 des eigenen Sheet schreibt.
es sind also zwei oder mehrere Tabellen offen. Die eine, in der das Makro steht hat einen Button, mit den das Makro aufgerufen wird.
Doch wie legt der Anwender die andere Datei fest, von der kopiert wird? Vielleicht, wenn er vorher den Namen in eine Zelle schreibt? Das wäre sicher zumutbar. Es soll aber keine Datei öffnen, falls er sich verschrieben hat.
Wie sieht dann das Makro aus?
LG, Barbara

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aus anderer offenen (!) Tabelle kopieren
30.10.2017 18:20:53
Sepp
Hallo Barbara,
ich würde ein kleines Formular erstellen mit einer List-, oder Combo-box in der alle geöffneten Mappen, außer der in der das Makro steht aufgelistet werden. Dort soll der User dann die Quellmappe wählen.
Gruß Sepp

AW: Aus anderer offenen (!) Tabelle kopieren
30.10.2017 18:29:55
ChrisL
Hi Barbara
Mappe = Datei
Tabelle = Tabellenblatt
Blatt = Blatt (z.B. Tabellenblatt oder Diagrammblatt)
Sauber wäre, wenn du die zweite Datei bereits beim Öffnen in eine Objektvariable übergibst (eigener Dialog mit GetOpenFileName).
Wenn Variante A nicht geht, dann wäre eine Usereingabe des Dateinamens möglich. Ob in Zelle A1, InputBox, Textfeld etc. ist grundsätzlich egal.
Oder du schreibst dir eine eigene Auswahl (wie Sepp vorschlägt). Ansatz (Userform und ListBox):
Sub ListAlle()
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name  ThisWorkbook.Name Then
ListBox1.AddItem Wb.Name
End If
Next Wb
End Sub
Oder du nimmst die zufällig als erstes gefundene Mappe und verlässt die Schleife mit Exit-For.
Funktioniert aber nur, wenn die Mappen in der gleichen Excel-Instanz (Applikation ist nur einmal offen) geöffnet wurde.
cu
Chris
Anzeige
AW: Aus anderer offenen (!) Tabelle kopieren
30.10.2017 18:38:56
fkw48

Sub TestIt()
With ThisWorkbook
With ActiveSheet.Range("B2")
.Value = DoIt("Tabelle1", "A1", .Value)
End With
End With
End Sub
Private Function DoIt(sSheet As Variant, sAddr As String, V As Variant) As Variant
Dim w As Long, i As Long
Dim strInp As String
Dim oWb As Workbook
On Error GoTo fail
DoIt = V
w = Workbooks.Count
If w > 2 Then
For i = 1 To w
If Workbooks(i).Name  ThisWorkbook.Name Then
strInp = strInp & CStr(i) & " = " & Workbooks(i).Name & vbNewLine
End If
Next i
strInp = InputBox(strInp, "Mehrfachauswahl mit Ziffer treffen")
Set oWb = Workbooks(CInt(strInp))
Else
Set oWb = Workbooks(1)
If oWb.Name = ThisWorkbook.Name Then Set oWb = Workbooks(2)
End If
DoIt = oWb.Sheets(sSheet).Range(sAddr).Value
fail:
End Function
die andere Datei fest = für mich mehrere Arbeitsmappen, denn
zwei oder mehrere Tabellen offen = unerheblich
Anzeige
AW: Aus anderer offenen (!) Tabelle kopieren
31.10.2017 20:30:37
Barbaraa
Hi
Vielen Dank allen. habe Eure Skrips durchprobiert und mein Horizont hat sich etwas erweitert.
Danke für Eure Mühe.
LG, Barbara

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige