920 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo erst ein mal... Ich habe da ein Problem, ich möchte ein Makro
automatisch vervolständigen da es sich um sehr viele handelt geht das Irgend wie

Z.B. Sub Tabelle1A228() bis Sub Tabelle1A500()


Sub Tabelle1A228()
'
' Tabelle1A5 Makro
'

'
Sheets("Tabelle2").Select
Range("BYU1").Select
End Sub


Sub Tabelle1A229()
'
' Tabelle1A5 Makro
'

'
Sheets("Tabelle2").Select
Range("BZD1").Select
End Sub


Sub Tabelle1A230()
'
' Tabelle1A5 Makro
'

'
Sheets("Tabelle2").Select
Range("BZM1").Select
End Sub


Danke schon ein mal für eure Hilfe und natürlich Mühe.

Gruß nero022

2 Antworten

0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Nicht, dass es unmoeglich waere, den von Dir gewuenschten Code "automatisch" zu erstellen (um ihn dann Einzufuegen). Aber waere es nicht besser, Du beschreibst einmal, wass Du eigtl. (wann genau) erreichen willst? Denn irgendwie beschleicht mich das Gefuehl, dass das auch mit deutlich weniger Code zu erschlagen sein koennte. (Soll das in den Zellen A228 bis A500 in Tabelle1 so eine Art Hyperlink auf Tabelle2 werden? Oder wann genau sollen die entsprechenden Zellen in Tabelle2 selektiert werden?)

Cu TheBlackBird ®
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Ich habe nun doch einmal etwas gebastelt, was den von Dir gewuenschten Code einmal in ein Text-File schreibt. (Sollte dann mittels Kopieren-> Einfuegen in die VBE zu bringen sein.)

In eine GESPEICHERTE Makromappe ab Excel2007 aufwaerts (*.xlsm) fuege folgenden Code in ein StandardModul ein und starte dieses Makro. Im Anschluss daran solltest Du direkt auf C:\ eine Datei NeroCode.txt vorfinden, die den von Dir gesuchten Code enthalten sollte.
Sub NeroCode_Schreiben()
Dim lngFF As Long
Dim strScratch As String
Dim lngCount As Long
Dim strAFile As String

strAFile = "C:\NeroCode.txt"
lngFF = FreeFile
Open strAFile For Output As lngFF
For lngCount = 228 To 500 Step 1
strScratch = "Sub Tabelle1A" & lngCount & "()" & vbCrLf
strScratch = strScratch & vbTab & "Sheets(""Tabelle2"").Select" & vbCrLf
strScratch = strScratch & vbTab & "Range(""" & _
Cells(1, 2023 + lngCount - 228 + ((lngCount - 228) * 8)).Address(0, 0) & _
""").Select" & vbCrLf
strScratch = strScratch & "End Sub" & vbCrLf & vbCrLf
Print #lngFF, strScratch
Next lngCount
Close lngFF
End Sub


Cu TheBlackBird ®
...