Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1044to1048
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

Zelle im Registerblatt wählen bei laufendem Makro

Zelle im Registerblatt wählen bei laufendem Makro
28.01.2009 18:20:00
Georg
Hallo zusammen,
habe folgendes Problem:
In einer Excel-Arbeitsmappe gibt es ein Registerblatt mit einem Button. Wird dieser angeklickt, so öffnet sich das Datei-Auswahlfenster. Pfad und Dateiname werden anschließend auf dem Registerblatt in zwei Zellen eingetragen. Nun öffnet sich die eben ausgewählte Datei über das Makro. In dieser neu geöffneten Datei möchte ich nun eine Zelle auf einem beliebigen Registerblatt anklicken und anschließend den Registerblattnamen und die Adresse der Zelle in der ursprünglichen Datei wiederum in dem Registerblatt neben Pfad und Dateinamen eintragen. Anschließend soll die per Makro gerade geöffnete Datei wieder geschlossen werden. Das Ganze sieht dann im Ergebnis in etwa so aus
PFADNAME | DATEINAME | REGISTERBLATT | ZELLE
c:\Daten\ | test.xls | testblatt | B5
Vielen Dank schon jetzt für die Hilfe
Georg

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

Betreff
Datum
Anwender
Anzeige
AW: Zelle im Registerblatt wählen bei laufendem Makro
29.01.2009 10:27:26
fcs
Hallo Georg,
hier ein Beispiel mit Application.Inputbox, das die Makro-Ausführung zur Auswahl einer Zelle unterbricht.
Gruß
Franz

Sub DateiOeffnenZelleWaehlen()
Dim wksZiel As Worksheet
Dim wbQuelle As Workbook, wksQuelle As Worksheet
Dim varAuswahl
Dim strVerzeichnis As String, strDatei As String, strBlatt As String, strZelle As String
Dim lngZeile As Long, lngSpalte
On Error GoTo Fehler
'Datei auswählen
varAuswahl = Application.GetOpenFilename(Filefilter:="Excel(*.xls),*.xls")
If varAuswahl = False Then
'do nothing
Else
Set wksZiel = ActiveSheet 'oder =Worksheets("TabelleXYZ")
'gewähltes Verzeichnis merken
strVerzeichnis = VBA.CurDir
'gewählte Datei schreibgeschützt öffnen
Set wbQuelle = Application.Workbooks.Open(Filename:=varAuswahl, ReadOnly:=True)
'Dateinamen merken
strDatei = wbQuelle.Name
Set varAuswahl = Nothing
'Inputbox für Zellauswahl öffnen
Set varAuswahl = Application.InputBox(Prompt:="Bitte Zelle wählen", _
Title:="Tabelle - Zelle - wählen", _
Type:=8)
'Zelladdresse und Blattname merken
strZelle = varAuswahl.Address
strBlatt = varAuswahl.Parent.Name
'Datei wieder schließen
wbQuelle.Close savechanges:=False
Set wbQuelle = Nothing
'gemerkte Informationen im Blatt eintragen
With wksZiel
'nächste leere Einfügezeile
lngZeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngZeile, 1) = strVerzeichnis & "\"
.Cells(lngZeile, 2) = strDatei
.Cells(lngZeile, 3) = strBlatt
'      .Cells(lngZeile, 3) = "'" & strBlatt 'ggf. so wenn Registernamen auch Nummern sind
.Cells(lngZeile, 4) = Replace(strZelle, "$", "") 'Zelladdresse ohne $-zeichen
End With
End If
'fehlerbehandlung
Fehler:
With Err
If .Number  0 Then
Select Case .Number
Case 13
'Abrechen wurde bei Zellauswahl gewählt
If Not wbQuelle Is Nothing Then
wbQuelle.Close savechanges:=False
End If
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End If
End With
End Sub


Anzeige
AW: Zelle im Registerblatt wählen bei laufendem Makro
29.01.2009 11:26:00
Georg
Hallo Franz,
absolut super!!!
Du hast nicht nur den kleinen Ausschnitt für mein Makro beantwortet, sondern gleich eine komplette Lösung geliefert. Jetzt kann ich die Quelldateien, die immer ein wenig unterschiedlich aufgebaut sind, weiter verarbeiten.
Herzlichen Dank und viele Grüße
Georg

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige