Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1288to1292
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

Tabellenname flexibel

Tabellenname flexibel
12.12.2012 09:26:54
Gisela
Hallo,
folgender Makro läuft super - ist hier aus dem Forum.
Sub Datensuchtages()
Application.ScreenUpdating = False
Worksheets("tages").Range("A6:CA225").ClearContents
Range("B9").Select
Application.ScreenUpdating = False
Dim Loletzte As Long
Dim a As Long, i As Long
a = 11
With Worksheets("tages")
For i = 11 To 225
If Worksheets("dez").Cells(i, 8) = "" Then 'Wenn in Spalte 8 ein Wert steht          _
_
'wenn in spalte drei ein Wert steht
Loletzte = IIf(IsEmpty(.Cells(.Rows.Count, 3)), .Cells(.Rows.Count, 3).End(xlUp) _
_
_
.Row, .Rows.Count) + 1
Worksheets("dez").Rows(i).Copy .Cells(Loletzte, 1)
a = a + 1
End If
Next i
End With
End Sub

Nun soll ich eine Änderung vornehmen.
Der Tabellenname wechselt monatlich und steht in der Tabelle "neu" in Zelle "B5".
Wie kann ich den Bezug auf "neuB5" hier einfügen, bzw was muss ich verändern.
Da ich nur Recorder-Kenntnisse habe, fehlen mir leider die entsprechenden Kenntnisse.
Vielen Dank für jede Hilfe
Gisela

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenname flexibel
12.12.2012 09:50:55
Klaus
Hallo Gisela,
ungetestet, da ich deine Datei nicht nachbaue:
Setze ganz oben in den Code (direkt unter "Sub Datensuchtages()")
Dim wksNew As String
wksNew = Sheets("neu").Range("B5").Value
Jetzt weiss ich nicht, welcher Tabellenname wechselt: es sind zwei im Code:
Worksheets("tages") und
Worksheets("dez")
Beim zweiten lesen offenbart sich mir, dass "dez" warscheinlich für "dezember" steht und dieser Name monatlich wechselt. Ersetze jedes Worksheets("dez") im code durch sheets(wksnew) , dann sollte das klappen.
Grüße,
Klaus M.vdT.

Anzeige
funktioniert,vielen Dank und liebe Grüße,
12.12.2012 10:31:03
Gisela
o.T

danke für die RÜ! owT.
12.12.2012 10:37:09
Klaus
.

AW: Tabellenname flexibel
12.12.2012 09:57:08
JACKD
Hallo Gisela also wenn ich mich nicht verlesen hab,
ist das kein Makro zum Ändern des Blattnamens.
die Befehlszeile dafür wäre
worksheets("Aktueller Name").name = "Neuer Name"
Oder vergleichbar.
Ansonsten kurz dein Makro etwas gesäubert

Sub Datensuchtages()
Dim Loletzte As Long, a As Long, i As Long
Application.ScreenUpdating = False
a = 11
With Worksheets("tages")
.Range("A6:CA225").ClearContents                       'Löschen von Zellinhalten von  _
A6 bis CA225
For i = 11 To 225
If Worksheets("dez").Cells(i, 8) = "" Then          'Wenn in Spalte 8 ein Wert  _
steht    'wenn in spalte drei ein Wert steht
Loletzte = IIf(IsEmpty(.Cells(.Rows.Count, 3)), .Cells(.Rows.Count, 3).End(xlUp) _
.Row, .Rows.Count) + 1
Worksheets("dez").Rows(i).Copy .Cells(Loletzte, 1)
a = a + 1
End If
Next i
End With
End Sub

Und so richtig ist mir auch nicht klar was das Makro eigentlich bewirken soll.
zudem hat die Variable a keinen Mehrwert sondern läuft einfach nur mit.
Grüße

Anzeige
AW: Tabellenname flexibel
12.12.2012 10:34:29
Rudi
Hallo,
vermutlich so:
Sub Datensuchtages()
Dim sSheet As String
Dim loLetzte As Long
Dim a As Long, i As Long
sSheet = Sheets("neu").Range("B5")
Application.ScreenUpdating = False
Worksheets("tages").Range("A6:CA225").ClearContents
'Range("B9").Select     'wozu?
Application.ScreenUpdating = False
a = 11  'was soll das?
With Worksheets("tages")
For i = 11 To 225
If Worksheets(sSheet).Cells(i, 8) = "" Then 'Wenn in Spalte 8 kein Wert steht ?
'wenn in spalte drei ein Wert steht
loLetzte = _
IIf(IsEmpty(.Cells(.Rows.Count, 3)), .Cells(.Rows.Count, 3).End(xlUp).Row, .Rows. _
Count) + 1
Worksheets(sSheet).Rows(i).Copy .Cells(loLetzte, 1)
a = a + 1 'was soll das?
End If
Next i
End With
End Sub

Gruß
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige